Int 2F Fn 7A20 - Novell Netware - Adv Netware 4.0 Dos Requester - Get Vlm Call Address (Cont.)
Call PRINT.VLM (VLM ID 0042h) with:
Func Description/Registers
01h Print Get Version
BX = function
0000h get version
Return: AX = status (see #2546)
BX = major version of VLM supported (0001h)
CX = minor version of VLM supported (0000h)
03h Print Statistics
CX = length of buffer
ES:DI -> buffer for statistics (see #2571)
Return: AX = status (0000h if successful) (see #2546)
buffer filled if successful
04h Print Get/Set Data
BX = subfunction
00h set printer control flags (see #2572)
01h get printer control flags
02h set extended printer control flags (see #2573)
03h get extended printer control flags
AX = offset within Print structures at which to start read/write
CX = number of bytes to transfer
DX = printing device number (00h=LPT1/PRN, 01h=LPT2, etc.)
DS:SI -> buffer containing values for flags (subfunctions 00h/02h)
ES:DI -> buffer for flags (subfunctions 01h/03h
Return: AX = status (see #2546)
---if successful---
CX = number of bytes returned (subfunctions 01h/03h)
DX = maximum supported size for function/type of data
05h Print Open Capture File
07h Print Get Num Of Printers
BX = subfunction
0000h get number of physical printers
nonzero: get configured printer (from NET.CFG)
Return: AX = status (see #2546)
---if successful---
BX = number of physical/configured printers
08h Print Redirection
BX = subfunction
0000h redirect device to queue
AX = length of queue name, 0000h to use queue ID
CX = connection handle
DX = printer/device number (00h=LPT1/PRN, 01h=LPT2, etc.)
DS:SI -> uppercased ASCIZ queue name
ES:DI -> DWORD queue ID, 00000000h to use queue name
0001h test whether device is redirected
DX = printer/device number (00h=LPT1/PRN, 01h=LPT2, etc.)
0002h cancel redirection
DX = printer/device number (00h=LPT1/PRN, 01h=LPT2, etc.)
0003h redirect device to file
AX = 0000h or 4E57h ('NW')
CX = connection handle
DX = printer/device number (00h=LPT1/PRN, 01h=LPT2, etc.)
ES:DI -> ASCIZ path of file
0004h get extended redirection information (see #2572)
DX = printer/device number (00h=LPT1/PRN, 01h=LPT2, etc.)
ES:DI -> buffer for server/queue name
Return: ES:DI buffer filled
Return: AX = 0000h if successful
09h Print Flush And Close Job
BX = subfunction
0000h unconditional close
nonzero: conditional close -- close only if concatenate flag is
clear
DX = index of printing device (00h=LPT1/PRN, 01h=LPT2, etc.)
Return: AX = status (see #2546)
0Ch Print Get/Set Banner Name
BL = subfunction
00h set banner name
DS:SI -> ASCIZ banner name (12 bytes, including NUL)
01h get banner name
ES:DI -> 12-byte buffer for banner name
Return: AX = status (see #2546)
Format of PRINT.VLM statistics:
Offset Size Description (Table 2571)
00h WOFD size of statistics buffer (including this word)
02h DWORD -> old INT 17 handler
06h WORD number of physical printers reported by BIOS
See Also: #2570
Format of PRINT.VLM standard print control information:
Offset Size Description (Table 2572)
00h BYTE PFStatus (reserved, 00h)
01h BYTE print flags (default 80h)
bit 2: release job for printing if capture interrupted
bit 3: suppress form feed
bit 4: notify
bit 6: text file
bit 7: print banner
02h BYTE tab size (01h-12h, default 08h)
03h BYTE number of copies (default 01h)
04h BYTE ??? (may be number of copies instead of offset 03h)
05h BYTE form type to be mounted in printer (default 00h)
06h BYTE reserved (00h)
07h 14 BYTEs banner
15h BYTE capture printer (LPT) number
16h WORD capture timeout in seconds
18h BYTE job concatenation flag (00h or 01h, default 00h)
19h BYTE maximum lines per page (default 66)
1Ah BYTE ??? (may be maximum lines instead of offset 19h)
1Bh BYTE maximum characters per line (default 132)
1Ch BYTE ??? (may be maximum characters instead of offset 1Ch)
1Dh 13 BYTEs name of form to be mounted in printer
2Ah BYTE flag: capture active (00h or FFh, default 00h)
2Bh BYTE flag: capturing to file (00h or 01h, default 00h)
2Ch BYTE flag: timeout field is being decremented (default 00h)
2Dh DWORD -> printer setup string
31h DWORD -> printer reset string
35h BYTE reserved (01h)
---remainder is read-only---
36h BYTE flag: job has started printing (00h or FFh, default 00h)
37h BYTE flag: job placed in queue (00h or FFh, default 00h)
38h BYTE flag: PJobValid (00h or FFh, default 00h)
FFh if associated capture file is open for capturing data
39h DWORD print-queue ID
3Dh WORD print-job number (default 00h) (1-999)
3Fh BYTE number of chars in INT 17h print cache buffer (default 00h)
40h BYTE ???
41h WORD high word of print-job number (default 00h)
See Also: #2570,#2573
Format of PRINT.VLM extended print control information:
Offset Size Description (Table 2573)
00h DWORD NDS printer object ID or directory entry number (when capturing
to a file)
04h BYTE connection handle for server
06h 48 BYTEs ASCIZ print queue name on server
36h DWORD ID of target server, or FFFFFFFFh if any server may be used
3Ah 6 BYTEs target print time, FFFFFFFFFFFFh for immediate printing
40h BYTE status flags
41h BYTE ???
42h 13 BYTEs client's banner name (overrides global banner if set)
4Fh 13 BYTEs job description
5Ch 4 BYTEs reserved (0)
See Also: #2570,#2572
(Table 2574)
Call GENERAL.VLM (VLM ID 0043h) with:
Func Description/Registers
01h Gen Get Version
BX = function
0000h get version
Return: AX = status (see #2546)
BX = major version of VLM supported (0001h)
CX = minor version of VLM supported (0000h)
03h Gen Statistics
CX = length of statistics buffer
ES:DI -> buffer for statistics (see #2575)
Return: AX = status (see #2546)
04h Gen Get/Set Primary
BX = subfunction
0001h get primary connection
CX = primary connection handle to be retrieved
Return: AX = status (see #2546)
CX = primary connection handle
0002h set primary connection
CX = primary connection handle to be stored
Return: AX = status (see #2546)
06h Gen Specific
BX = subfunction
0000h get command processor and master environment addresses
Return: DX = segment of master environment
ES:DI -> command processor's private COMSPEC= copy
0001h get default or primary connection
Return: AX = status (0000h successful)
CX = connection handle if successful
0002h last queue information
AL = operation
00h zap
01h set
02h get
DI:DX = queue file handle
CX = connection handle
Return: AX = status (0000h successful)
DI:DX = queue file handle
CX = connection handle or 0000h if queue info invalid
0003h get/set machine name(s)
AX = name type
00h get short machine name
02h get long machine name
04h set short machine name
06h set long machine name
08h get DOS name
0Ah set DOS name
ES:SI -> ASCIZ name if setting
Return: AX = status (0000h if successful)
ES:SI -> ASCIZ name if getting
0004h set per-task EXEC search mode
Return: AX = status (0000h if successful)
09h Gen Return Drive Info
BX = subfunction
0000h get first available drive
Return: AX = status (see #2546)
BX = drive letter of first drive
0001h get Lastdrive
Return: AX = status (see #2546)
CH = number lastdrive 1=A: - 1Ah=Z:
Format of NetWare GENERAL.VLM statistics:
Offset Size Description (Table 2575)
00h WORD size of statistics record, including this word
02h DWORD previous INT 21 vector
See Also: #2574
(Table 2576)
Call NETX.VLM (VLM ID 0050h) with:
Func Description/Registers
01h NetX Get Version
BX = function
0000h get version
Return: AX = status (see #2546)
BX = major version of VLM supported (0001h)
CX = minor version of VLM supported (0000h)
03h NetX Statistics
CX = length of statistics buffer
ES:DI -> buffer for statistics (see #2577)
Return: AX = status (see #2546)
Format of NETX.VLM statistics:
Offset Size Description (Table 2577)
00h WORD buffer size, including this word
02h DWORD previous INT 21 handler
See Also: #2576
(Table 2578)
Call SECURITY.VLM (VLM ID 0061h) with:
Func Description/Registers
01h Security Get Version
BX = function
0000h get version
Return: AX = status (see #2546)
BX = major version of VLM supported (0001h)
CX = minor version of VLM supported (0000h)
03h Security Statistics
04h ???
AL = subfunction
01h compute session key
DS:SI -> 24-byte input buffer
ES:DI -> 8-byte output buffer