Index for interrupt INT 5C
Table of Contents by Order
5C - INT 5C - NetBIOS INTERFACE
5C - INT 5C - IRQ12 relocated by DESQview 2.26+
5C - INT 5C - IRQ4 relocated by DoubleDOS
5C - INT 5C - TOPS INTERFACE
5C - INT 5C - ATALK.SYS - AppleTalk INTERFACE
5C - INT 5C - IBM 802.2 INTERFACE (LLC)
5C - INT 5C - $25 LAN - INSTALLATION CHECK
5C0100 - INT 5C C - TI Professional PC - KEYBOARD PAUSE KEY VECTOR
5C04 - INT 5C - $25 LAN - CHECK IF CONNECTION ALIVE
INT 5C - NetBIOS INTERFACE ES:BX -> network control block (NCB) (see #03249) Return: AL = status (see #03248) Program: NetBIOS was developed by Sytek, Inc. in 1984 as a high-level programming interface to the IBM PC Network; the first implementation was a ROM BIOS extension on Sytek's PCnet LAN adapter card, but many current networks support NetBIOS as the session layer. Notes: The Sytek PCnet card uses DMA 3. On some machines this vector is not initialized (e.g. Epson machines). Hence this interrupt should only be called or hooked if the vector does not point to 0000h:0000h. SeeAlso: INT 2A/AH=01h,INT 2A/AH=04h,INT 5B"Extended NetBIOS" (Table 03248) Values for NetBIOS status: 00h successful 01h bad buffer size 03h invalid NETBIOS command 05h timeout 06h receive buffer too small 07h No-ACK command failed 08h bad session number 09h LAN card out of memory 0Ah session closed 0Bh command has been cancelled 0Dh name already exists 0Eh local name table full 0Fh name still in use, can't delete 11h local session table full 12h remote PC not listening 13h bad NCB_NUM field 14h no answer to CALL or no such remote 15h name not in local name table 16h duplicate name 17h bad delete 18h abnormal end 19h name error, multiple identical names in use 1Ah bad packet 21h network card busy 22h too many commands queued 23h bad LAN card number 24h command finished while cancelling 26h command can't be cancelled 30h name defined by another process (OS/2) 34h NetBIOS environment not defined, must issue reset (OS/2) 35h required operating system resources exhausted (OS/2) 36h maximum applications exceeded (OS/2) 37h no SAPs available for NetBIOS (OS/2) 38h requested resources not available (OS/2) 40h Lana System Error 41h Lana Remote Hot Carrier 42h Lana Local Hot Carrier 43h Lana No Carrier Detected 44h unusual network condition 45h-4Dh hardware error 4Eh token ring is broken 4Fh token ring error 50h adapter malfunction F7h error in explicit INITIALIZE F8h error in implicit OPEN F9h TOKREUI internal error FAh hardware adapter testing FBh NetBIOS emulator not found FCh OPEN or OPEN_SAP failure FDh unexpected adapter closure FFh NetBIOS busy (command pending) Format of NetBIOS Network Control Block: Offset Size Description (Table 03249) 00h BYTE command code (see #03250) 01h BYTE return code (see #03248) 02h BYTE local session number (LSN) 03h BYTE "ncb_num" datagram table entry from ADD NAME 04h DWORD -> I/O buffer 08h WORD length of data in buffer 0Ah 16 BYTEs remote system to call 1Ah 16 BYTEs network name of local machine 2Ah BYTE receive timeout in 1/2 seconds 2Bh BYTE send timeout in 1/2 seconds 2Ch DWORD -> FAR post handler /* int (far *ncb_post)(); */ 30h BYTE network adapter number on which to execute command 00h-03h IBM NetBIOS specs F0h-FFh Eicon NABios interface (see also INT 7B"Eicon") 31h BYTE command completion code (see #03248) 32h 14 BYTEs reserved for network card (Table 03250) Values for NetBIOS command code field in NCB: 10h start session with NCB_NAME name (call) 11h listen for call 12h end session with NCB_NAME name (hangup) 14h send data via NCB_LSN 15h receive data from a session 16h receive data from any session 17h send multiple data buffers 20h send unACKed message (datagram) 21h receive datagram 22h send broadcast datagram 23h receive broadcast datagram 30h add name to name table 31h delete name from name table 32h reset adapter card and tables 33h get adapter status (see #03251) 34h status of all sessions for name (see #03253) 35h cancel 36h add group name to name table 48h send data and receive data (LAN Manager NETBEUI.DOS) 70h unlink from IBM remote program (no F0h function) 71h send data without ACK 72h send multiple buffers without ACK 72h UngermannBass Register (conflicts with above function) 73h UngermannBass SendNmc 74h UngermannBass Callniu 75h UngermannBass Calladdr 76h UngermannBass Listenaddr 77h UngermannBass SendPkt 78h find name 78h UngermannBass RcvPkt (conflicts with above function) 79h token-ring protocol trace 79h UngermannBass SendAttn (conflicts with above function) 7Ah UngermannBass RcvAttn 7Bh UngermannBass Listenniu 7Ch UngermannBass RcvRaw 7Dh UngermannBass SendNmc2 7Fh Beame&Whiteside BWNB installation check (returns with return code and completion code both set to 03h, while invalid functions return only return code field set to 03h) Note: OR any of the above except 70h with 80h for non-waiting call Format of NetBIOS structure "astatus": Offset Size Description (Table 03251) 00h 6 BYTEs as_id 06h BYTE as_jumpers 07h BYTE as_post 08h BYTE as_major 09h BYTE as_minor 0Ah WORD as_interval 0Ch WORD as_crcerr 0Eh WORD as_algerr 10h WORD as_colerr 12h WORD as_abterr 14h DWORD as_tcount 18h DWORD as_rcount 1Ch WORD as_retran 1Eh WORD as_xresrc 20h 8 BYTEs as_res0 28h WORD as_ncbfree 2Ah WORD as_ncbmax 2Ch WORD as_ncbx 2Eh 4 BYTEs as_res1 32h WORD as_sespend 34h WORD as_msp 36h WORD as_sesmax 38h WORD as_bufsize 3Ah WORD as_names 3Ch 16 name structures as_name (see #03252) Note: it has been reported that the first field should be 16 bytes instead of six (shifthing all remaining fields by ten bytes) Format of NetBIOS structure "name": Offset Size Description (Table 03252) 00h 16 BYTEs "nm_name" symbolic name 10h BYTE "nm_num" number associated with name 11h BYTE nm_status Format of NetBIOS structure "sstatus": Offset Size Description (Table 03253) 00h BYTE number of sessions being reported 01h BYTE number of sessions with this name 02h BYTE number of outstanding receive datagrams 03h BYTE number of outstanding ReceiveAnys 04h var session structures (see #03254) Format of NetBIOS structure "session": Offset Size Description (Table 03254) 00h BYTE local session number 01h BYTE state 01h listen pending 02h call pending 03h session established 04h hangup pending 05h hangup done 06h session aborted 02h 16 BYTEs local name 12h 16 BYTEs remote name 22h BYTE number of outstanding receives 23h BYTE number of outstanding sends/chainsendsTop
INT 5C - IRQ12 relocated by DESQview 2.26+ Range: INT 5C to INT FC, selected automatically Note: this is the default, but other INTs may be used (see INT 50"DESQview") SeeAlso: INT 50"DESQview",INT 5B"DESQview",INT 5D"DESQview",INT 74Top
INT 5C - IRQ4 relocated by DoubleDOS SeeAlso: INT 0CTop
INT 5C - TOPS INTERFACE ES:BX -> Network Control Block Note: TOPS card uses DMA 1, 3 or none.Top
INT 5C - ATALK.SYS - AppleTalk INTERFACE DX:BX -> control block (see #03256) Return: none InstallCheck: test for the signature "AppleTalk" 16 bytes prior to the interrupt handler Range: INT 5Ch to INT 70h Index: installation check;ATALK.SYS|installation check;AppleTalk interface (Table 03255) Values for ATALK.SYS command code: 01h "AT_INIT" initialize the driver 02h "AT_KILL" 03h "AT_GETNETINFO" get current network info incl init status 04h "AT_GETCLOCKTICKS" 05h "AT_STARTTIMER" 06h "AT_RESETTIMER" 07h "AT_CANCELTIMER" 10h "LAP_INSTALL" 11h "LAP_REMOVE" 12h "LAP_WRITE" 13h "LAP_READ" 14h "LAP_CANCEL" 20h "DDP_OPENSOCKET" 21h "DDP_CLOSESOCKET" 22h "DDP_WRITE" 23h "DDP_READ" 24h "DDP_CANCEL" 30h "NBP_REGISTER" 31h "NBP_REMOVE" 32h "NBP_LOOKUP" 33h "NBP_CONFIRM" 34h "NBP_CANCEL" 35h "ZIP_GETZONELIST" 36h "ZIP_GETMYZONE" 37h "ZIP_TAKEDOWN" 38h "ZIP_BRINGUP" 40h "ATP_OPENSOCKET" 41h "ATP_CLOSESOCKET" 42h "ATP_SENDREQUEST" 43h "ATP_GETREQUEST" 44h "ATP_SENDRESPONSE" 45h "ATP_ADDRESPONSE" 46h "ATP_CANCELTRANS" 47h "ATP_CANCELRESPONSE" 48h "ATP_CANCELREQUEST" 50h "ASP_GETPARMS" 51h "ASP_CLOSESESSION" 52h "ASP_CANCEL" 53h "ASP_INIT" 54h "ASP_KILL" 55h "ASP_GETSESSION" 56h "ASP_GETREQUEST" 57h "ASP_CMDREPLY" 58h "ASP_WRTCONTINUE" 59h "ASP_WRTREPLY" 5Ah "ASP_CLOSEREPLY" 5Bh "ASP_NEWSTATUS" 5Ch "ASP_ATTENTION" 5Dh "ASP_GETSTATUS" 5Eh "ASP_OPENSESSION" 5Fh "ASP_COMMAND" 60h "ASP_WRITE" 61h "ASP_GETATTENTION" 70h "PAP_OPEN" 71h "PAP_CLOSE" 72h "PAP_READ" 73h "PAP_WRITE" 74h "PAP_STATUS" 75h "PAP_REGNAME" 76h "PAP_REMNAME" 77h "PAP_INIT" 78h "PAP_NEWSTATUS" 79h "PAP_GETNEXTJOB" 7Ah "PAP_KILL" 7Bh "PAP_CANCEL" Format of AppleTalk control block: Offset Size Description (Table 03256) 00h WORD command code (see #03255) OR with the following flags 8000h start command then return 4000h wait for interrupt service to complete 02h WORD returned status 0000h success (already initialized if func 01h) 04h DWORD pointer to completion function 08h WORD network number 0Ah BYTE node ID ---if general func (01h,03h), control block continues: 0Bh BYTE "inf_abridge" 0Ch WORD "inf_config" 0Eh DWORD pointer to buffer 12h WORD buffer size ---if DDP function (20h-24h), control block continues: 0Bh BYTE "ddp_addr_socket" 0Ch BYTE "ddp_socket" 0Dh BYTE "ddp_type" 0Eh DWORD pointer to buffer 12h WORD buffer size 14h BYTE "ddp_chksum" ---if Name Binding Protocol (30h-34h), control block continues: 0Bh BYTE "nbp_addr_socket" 0Ch WORD "nbp_toget" 0Eh DWORD pointer to buffer (see #03257) 12h WORD buffer size 14h BYTE "nbp_interval" 15h BYTE "nbp_retry" 16h DWORD "nbp_entptr" ---if AppleTalk Transaction Protocol (42h), control block continues: 0Bh BYTE "atp_addr_socket" 0Ch WORD "atp_socket" 0Eh DWORD pointer to buffer 12h WORD buffer size 14h BYTE "atp_interval" 15h BYTE "atp_retry" 16h BYTE ATP flags bit 5: exactly one transaction 17h BYTE "atp_seqbit" 18h BYTE transaction ID 19h 4 BYTEs ATP user bytes 1Dh BYTE number of BDS buffers 1Eh BYTE number of BDS responses 1Fh DWORD pointer to BDS buffers (see #03258) Format of Name Binding Protocol Name-to-Address binding entries for NBP_LOOKUP: Offset Size Description (Table 03257) 00h WORD "tup_address_network" 02h BYTE "tup_address_notid" 03h BYTE "tup_address_socket" 04h BYTE "tup_enum" 05h 99 BYTEs name Format of BDS entries: Offset Size Description (Table 03258) 00h DWORD pointer to buffer 04h WORD size of buffer 06h WORD BDS data size 08h 4 BYTEs "bds_userbytes"Top
INT 5C - IBM 802.2 INTERFACE (LLC) ES:BX -> CCB (see #03259) Return: none Format of IBM 802.2 CCB: Offset Size Description (Table 03259) 00h BYTE adapter 01h BYTE command code 02h BYTE return code 03h BYTE work 04h DWORD pointer to ??? 08h DWORD pointer to completion function??? 0Ch DWORD pointer to parameters???Top
INT 5C - $25 LAN - INSTALLATION CHECK Notes: current versions only check whether the vector is 0000h:0000h or not future versions are supposed to have the signature "NET" in the three bytes preceding the INT 5C handlerTop
INT 5C C - TI Professional PC - KEYBOARD PAUSE KEY VECTOR AX = 0100h CF clear Return: CF clear AX = keystroke to be placed into keyboard buffer CF set AX ignored Desc: toggle a pause flag which is checked by the CRT Device Service Routine (see INT 49/AH=01h"TI") and causes it to temporarily halt the machine on the next video-related function (until a key is pressed) SeeAlso: INT 09"IRQ1",INT 4A/AH=00h"TI",INT 59"TI Professional" SeeAlso: INT 5B"TI Professional",INT 5D"TI Professional" SeeAlso: INT 5E"TI Professional",INT 5F"TI Professional"Top
INT 5C - $25 LAN - CHECK IF CONNECTION ALIVE AH = 04h AL = COM port (0 = default) CX = wait count in character times (should be at least 100) Return: ZF set if link aliveTop