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. - REQUEST BUFFER AX = 0004h DX = protocol ID (see AX=0007h,#03849) Return: AX = completion code (see also #03846) 0000h successful ES:BX -> Memory Buffer (Mbuf) (see #03847) Note: if the DLI has no free Mbufs, it will set an internal flag for the protocol and later call the protocol's Event Upcall with EV_BUFFER_AVAILABLE (see #03853,#03854) as soon as an Mbuf becomes available. There will only be one "buffer available" Upcall, even if this function has been called several times before. SeeAlso: AX=0005h,AX=0006h,AX=0012h,AX=0013h Format of SK-UPPS Memory Buffer (Mbuf): Offset Size Description (Table 03847) 00h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. -> NEXT Mbuf (linked list) 04h WORD OFFSET of actual data within DATA area 06h 2 BYTEs reserved (currently unused) 08h WORD LENGTH of actual data found in DATA area starting at OFFSET 0Ah 2 BYTEs reserved (currently unused) 0Ch DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. -> DATA area (size can be obtained via AX=000Eh call) 10h WORD PROTOCOL ID of protocol currently "owning" the Mbuf 12h BYTE IN USE flag; nonzero if Mbuf still in use by DLI (see AX=0006h) 13h BYTE RECEIVE STATUS (bit 0-7 only; see AX=0007h - Receive Upcall)