INT 7C - SK-UPPS Data Link Interface API(Application Program[ming] Interface) The defined set of calls which a program may make to interact with or request services of the operating system or environment under which it is running. Because the inputs and outputs of the calls are well-defined, a program using the API can continue using the identical calls even if the internal organization of the program providing the API changes. - DLI 2.5+ - GET DRIVER INFO AX = 000Eh ES:DI -> Driver Information Block (see #03858) BX = offset of 1st field within DIB to be returned CX = number of bytes to be returned Return: AX = completion code (see #03846) CX = number of bytes copied (regardless of value returned in AX) Program: SK-UPPS is the Schneider & Koch Universal Portable Protocol Stack, which provides an API(Application Program[ming] Interface) The defined set of calls which a program may make to interact with or request services of the operating system or environment under which it is running. Because the inputs and outputs of the calls are well-defined, a program using the API can continue using the identical calls even if the internal organization of the program providing the API changes. on top of its Data Link Interface, allowing the use of any of several network transport layers SeeAlso: AX=0000h,AX=0002h,AX=000Bh,AX=000Dh,AX=0015h Format of SK-UPPS Driver Information Block (DIB): Offset Size Description (Table 03858) 00h 6 BYTEs physical node address (from adapter's ROM(Read-Only Memory) A memory for program storage which may not be changed by the program as it runs.) 06h 6 BYTEs current node address (see AX=0003h) 0Ch BYTE adapter id (defined by OEM(Original Equipment Manufacturer) a company which purchases components that are resold as part of its own products under the company's own brand name, e.g. a Gateway 2000-branded monitor may actually be a Mag or NEC monitor.) 0Dh BYTE IRQ(Interrupt ReQuest) A hardware line connected to the interrupt controller chip which signals that a CPU interrupt should be generated. line (FFh if none) 0Eh DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. -> shared memory (zero if none) 12h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. size of shared memory (zero if none) 16h WORD base I/O port (zero if none) 18h BYTE DMAsee Direct Memory Access line (FFh if none) 19h BYTE DLI 2.4+ topology (see AX=0000h) 1Ah WORD size of an Mbuf's DATA area (see #03847) 1Ch 2 BYTEs reserved (currently unused) 1Eh WORD total number of Mbufs the DLI has 20h WORD maximum number of Mbufs that can be allocated via REQUEST BUFFER (AX=0004h) and SYNC REQUEST BUFFER (AX=0012h) ---- end of Status Information Block returned by GET DRIVER STATUS (AX=0002h) 22h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. -> ASCIZA NUL-terminated ASCII string. The ASCIZ string "ABC" consists of the four bytes 41h, 42h, 43h, and 00h. Unless otherwise specified, maximum lengths given in the interrupt list do not include the terminating NUL. adapter name 26h WORD number of I/O ports used (zero if none) 28h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. line speed in bits/sec.