Problems using Samba/VMS Print shares
Dave Jones
JONESD at er6s1.eng.ohio-state.edu
Wed Jun 25 02:45:11 GMT 2003
I'm gradually working on a fresh port of 2.2.8, most recently working on
a VMS native printer interface. All the print queue operations are done
by way of SYS$SNDJBC and SYS$GETQUI calls rather than spawning DCL commands.
It's fairly self-contained, so I put the sources in a zip file at
http://www.er6.eng.ohio-state.edu/~jonesd/samba/print_vms_1.zip
Below is the readme file from the print_vms_1.zip.
----------------------------------------------------------------------------
24-JUN-2003
The print_vms.c source module defines a 'native' OpenVMS printer interface for
the Samba server. The low level printer operations (get, pause, submit, etc)
are performed using direct VMS system service calls ($SNDJBC, $GETQUI) rather
than spawning print commands. This work is being done on VMS 7.2-1 and 7.3
Alpha systems.
Configuration file (smb.conf) settings:
printcap name: Set to "vms" to force VMS_printif interface to be used.
load printers: Set to "yes".
print command: Specify just the qualfiers for the print command, e.g:
print command = /parameters=("DATA_TYPE=POSTSCRIPT")
Only 17 of the myriad of VMS PRINT command qualifiers
are recognized, see header comments in
print_vms_parse.c for a description. Note that /queue
is not used to specify a queue.
printing: Ignored (there is no lpq output to parse, its value
is meaningless).
lp{*} command: Ignored, commands aren't spawned.
New files:
print_vms.c This file defines the global structure (VMS_printif)
that samba uses to interface with the host OS print
spooler. This structure vectors 7 low-level functions
(queue_get, queue_pause, queue_resume, job_delete,
job_pause, job_resume, job_submit) for managing a
printer queue. Is also defines a 'find' function,
vms_printer_fn(), that samba uses to discover
the printers on the system.
print_vms_parse.c This file handles the parsing of the "print command"
parameter (from smb.conf) so that print_vms.c can
apply site-specific item codes to submit requests.
Modified files:
printing.c Modify to recognize the special printcap name "vms"
and switch the printer interface to VMS_printif if so.
Use the HAVE_CUPS code sections as your guide.
pcap.c Modify to force pcap_printername_ok() and
pcap_printer_fn() to recognize the special "vms"
printcap file and hand off to vms_printername_ok()
and vms_printer_fn().
-----------------------------------------------------------------------------
David L. Jones | Phone: (614) 292-6929
Ohio State University | Internet:
140 W. 19th St. Rm. 231a | jonesd at er6s1.eng.ohio-state.edu
Columbus, OH 43210 | vman+ at osu.edu
More information about the samba-vms
mailing list