[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
INT 5C - NetBIOS INTERFACE
        ES:BX -> network control block (NCB) (see below)
Return: AL = 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-4Fh hardware error
            50h adapter malfunction
            FFh NetBIOS busy (command pending)
Note:   Sytek PCnet card uses DMA 3.
SeeAlso: INT 2A/AH=04h,INT 5B

Format of Network Control Block:
Offset  Size    Description
 00h    BYTE    command code (see below)
 01h    BYTE    return code
 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 returned status above)
 32h 14 BYTEs   reserved for network card

Values for command code field in NCB (or with 80h for non-waiting call):
 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 structure "astatus" below)
 34h status of all sessions for name (see structure "sstatus" below)
 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

Format of structure "name":
Offset  Size    Description
 00h 16 BYTEs "nm_name" symbolic name
 10h    BYTE  "nm_num" number associated with name
 11h    BYTE  nm_status

Format of structure "astatus":
Offset  Size    Description
 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

Format of structure "sstatus":
Offset  Size    Description
 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 below)

Format of structure "session":
Offset  Size    Description
 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/chainsends

See Also: 2A01
This page created by ng2html v1.05, the Norton guide to HTML conversion utility. Written by Dave Pearson