INT 2F - Novell NetWare - Access Server Driver - INSTALLATION CHECK AX = 7AF1h BL = sequence number (01h first driver, 02h second, 00h no driver) Return: AX <> 7AF1h if present BH = total number of drivers ---if BL nonzero on entry--- AL = number of ports provided by specified driver ES:DI -> driver entry point (see below) ES:DX -> ID string Call driver entry point with: AH function 01h initialize port AL = port number (00h-0Fh) ES:BX -> configuration parameter block (see below) interrupts disabled Return: CF clear if successful CF set on error 02h get port status AL = port number (00h-0Fh) interrupts disabled Return: CF clear if successful BL = transmitter status (see below) BH = receiver status (see below) DL = external status signals (see below) CF set on error interrupts disabled 03h get input from port AL = port number (00h-0Fh) CX = size of data buffer ES:BX -> buffer for data interrupts disabled Return: CF clear if successful CF set on error interrupts disabled CX = number of bytes read Note: the driver will add a NUL to the buffer when a break signal is detected 04h send output data to port AL = port number (00h-0Fh) CX = number of bytes to send ES:BX -> buffer containing data interrupts disabled Return: CF clear if successful CF set on error interrupts disabled CX = number of bytes actually written 05h get I/O character counts AL = port number (00h-0Fh) interrupts disabled Return: CF clear if successful BX = number of bytes pending transmission CX = number of bytes available for reading CF set on error interrupts disabled 06h control XON/XOFF AL = port number (00h-0Fh) DL = new state (00h software flow control disabled, else enabled) interrupts disabled Return: CF clear if successful CF set on error interrupts disabled 07h get error counts and statistics AL = port number (00h-0Fh) ES:BX -> buffer for statistics (see below) interrupts disabled Return: CF clear if successful ES:BX buffer filled CF set on error interrupts disabled 08h general request AL = port number (00h-0Fh) DX = requested operations bit 0: flush transmit buffers bit 1: flush receive buffers bit 4: define XON/XOFF characters ES:BX -> XON/XOFF characters (see below) if DX bit 4 set interrupts disabled Return: CF clear if successful CF set on error interrupts disabled 09h deadman timer management AL = port number (00h-0Fh) BX = next time interval in seconds (0000h to disable timer) interrupts disabled Return: CF clear interrupts disabled 0Ah get buffer sizes AL = port number (00h-0Fh) interrupts disabled Return: CF clear if successful BX = size of transmit buffer CX = size of receive buffer CF set on error interrupts disabled Values for transmitter status: 00h uninitialized 01h ready, not transmitting 02h transmitting 03h XOFF received 04h transmitting, buffer full 05h XOFF received and buffer full Values for receiver status: 00h uninitialized 01h ready 02h receive buffer full, data may have been lost Bitfields for external status signals: bits 7,6 undefined bit 5 CTS active bit 4 DSR active bit 3 DCD active bits 2,1 undefined bit 0 ring indicator Format of configuration parameter block: Offset Size Description 00h BYTE receive baud rate index 00h 50 bps, 01h 75 bps, 02h 110 bps, 03h 134.5 bps, 04h 150 bps, 05h 300 bps, 06h 600 bps, 07h 1200 bps, 08h 1800 bps, 09h 2000 bps, 0Ah 2400 bps, 0Bh 3600 bps, 0Ch 4800 bps, 0Dh 7200 bps, 0Eh 9600 bps, 0Fh 19200 bps, 10h 38400 bps, 11h 57600 bps, 12h 115200 bps 01h BYTE receive bits per character (0=5 bits..3=8 bits) 02h BYTE receive stop bits 03h BYTE receive parity 00h none, 01h odd, 02h even, 03h mark, 04h space 04h BYTE transmit baud rate index (same as receive baud rate) 05h BYTE transmit bits per character (0=5 bits..3=8 bits) 06h BYTE transmit stop bits 07h BYTE transmit parity (same as receive parity) 08h BYTE DTR state (00h off, 01h on) 09h BYTE RTS state (00h off, 01h on) 0Ah BYTE flow control 00h none, 01h XON/XOFF, 02h RTS/CTS, 03h both 0Bh BYTE break control (00h off, 01h on) Format of statistics: Offset Size Description 00h BYTE port number 01h BYTE external status signals (see above) 02h BYTE transmitter status (see above) 03h BYTE receiver status (see above) 04h DWORD number of characters received 08h DWORD number of characters transmitted 0Ch WORD input parity errors 0Eh WORD input framing errors 10h WORD lost characters due to hardware overrun 12h WORD lost characters due to data buffer overrun Note: the counts are not allowed to wrap around; once a count reaches FFFFh or FFFFFFFFh, it is no longer incremented Format of XON/XOFF characters: Offset Size Description 00h BYTE 04h (number of bytes following) 01h BYTE transmit XON character 02h BYTE transmit XOFF character 03h BYTE receive XON character 04h BYTE receive XOFF character .