INT 21 - DOS 3.2+ - IOCTL - GENERIC CHARACTER DEVICE REQUEST
AX = 440Ch
BX = device handle
CH = category code
00h unknown (DOS 3.3+)
01h COMn: (DOS 3.3+)
03h CON (DOS 3.3+)
05h LPTn:
9Eh Media Access Control driver (STARLITE)
00h-7Fh reserved for Microsoft
80h-FFh reserved for OEM/user-defined
CL = function
00h MAC driver Bind (STARLITE)
45h set iteration count
4Ah select code page
4Ch start code-page preparation
4Dh end code-page preparation
5Fh set display information (DOS 4.0)
65h get iteration count
6Ah query selected code page
6Bh query prepare list
7Fh get display information (DOS 4.0)
DS:DX -> (DOS) parameter block (see below)
SI = parameter to pass to driver (European MSDOS 4.0, OS/2 comp box)
DI = parameter to pass to driver (European MSDOS 4.0, OS/2 comp box)
Return: CF set on error
AX = error code (see AH=59h)
CF clear if successful
DS:DX -> iteration count if CL=65h
SI = returned value (European MSDOS 4.0, OS/2 comp box)
DI = returned value (European MSDOS 4.0, OS/2 comp box)
DS:DX -> (OS/2 comp box) data block
Note:   bit assignments for function code in CL:
bit 7: set to ignore if unsupported, clear to return error
bit 6: set if passed to driver, clear if intercepted by DOS
bit 5: set if queries data from device, clear if sends command
bits 4-0: subfunction
SeeAlso: INT 2F/AX=0802h,INT 2F/AX=122Bh,INT 2F/AX=1A01h

Format of parameter block for function 00h:
Offset  Size    Description
00h  8 BYTEs   ASCIZ signature "STARMAC"
08h    WORD    version
0Ah    WORD    flags
bit 0: media requires connect or listen request before use
bit 1: network is a LAN (broadcast/multicast supported)
bit 2: point-to-point network
0Ch    WORD    handle for use with MAC driver's private interface (filled in
by MAC driver)
0Eh    WORD    context
10h    WORD    approximate speed in KB/sec (filled in by MAC driver)
12h    WORD    approximate cost in cents per hour (filled in by MAC driver)
14h    WORD    maximum packet size in bytes (filled in by MAC driver)
16h    WORD    addressing format (filled in by MAC driver)
0000h general addressing
0001h Ethernet addressing
0002h Token Ring addressing
0003h Token Bus addressing
18h    DWORD   Send entry point (filled in by MAC driver)
1Ch    DWORD   RegisterEventHandler entry point (filled in by MAC driver)
20h    DWORD   SetPacketFilter entry point (filled in by MAC driver)
24h    DWORD   UnBind entry point (filled in by MAC driver)

Format of parameter block for function 45h:
Offset  Size    Description
00h    WORD    number of times output is attempted before driver assumes
device is busy

Format of parameter block for functions 4Ah and 6Ah:
Offset  Size    Description
00h    WORD    length of data
02h    WORD    code page ID
04h 2N BYTEs   DCBS (double byte character set) lead byte range
start/end for each of N ranges (DOS 4.0)
WORD    0000h  end of data (DOS 4.0)

Format of parameter block for function 4Dh:
Offset  Size    Description
00h    WORD    length of data
02h    WORD    code page ID

Format of parameter block for function 4Ch:
Offset  Size    Description
00h    WORD    flags
DISPLAY.SYS = 0000h
PRINTER.SYS bit 0 clear to prepare downloaded font, set to
prepare cartridge selection
02h    WORD    length of remainder of parameter block
04h    WORD    number of code pages following
06h  N WORDs   code page 1,...,N

Format of parameter block for functions 5Fh and 7Fh:
Offset  Size    Description
00h    BYTE    level (0 for DOS 4.x and 5.0)
01h    BYTE    reserved (0)
02h    WORD    length of following data (14)
04h    WORD    control flags
bit 0 set for blink, clear for intensity
bits 1 to 15 reserved
06h    BYTE    mode type (1=text, 2=graphics)
07h    BYTE    reserved (0)
08h    WORD    colors
0 = monochrome
else N bits per pixel
0Ah    WORD    pixel columns
0Ch    WORD    pixel rows
0Eh    WORD    character columns
10h    WORD    character rows

Format of parameter block for function 6Bh:
Offset  Size    Description
00h    WORD    length of following data
02h    WORD    number of hardware code pages
04h  N WORDs   hardware code pages 1,...,N
WORD    number of prepared code pages
N WORDs   prepared code pages 1,...,N

See also: 21440D

21440C - DOS 3.2+ - IOCTL - GENERIC CHARACTER DEVICE REQUEST