359 lines
18 KiB
HTML
359 lines
18 KiB
HTML
<HTML>
|
|
<HEAD>
|
|
<TITLE>Int 5C
|
|
</TITLE>
|
|
<META NAME="Description" CONTENT="
|
|
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.
|
|
">
|
|
<META NAME="robots" CONTENT="none">
|
|
</HEAD>
|
|
<BODY BGCOLOR="#FFD0A0">
|
|
<center>
|
|
<h2>Int 5C
|
|
</h2>
|
|
</center><p>
|
|
<table border=1 cellpadding=3 cellspacing=1>
|
|
<td>
|
|
<a href="rb-6394.htm" tppabs="http://www.ctyme.com/intr/rb-6394.htm">
|
|
<img src="lup.gif" tppabs="http://graphics.ctyme.com/gif/lup.gif" border=0 alt=Prev></a>
|
|
<a href="rb-6396.htm" tppabs="http://www.ctyme.com/intr/rb-6396.htm">
|
|
<img src="ldown.gif" tppabs="http://graphics.ctyme.com/gif/ldown.gif" border=0 alt=Next></a>
|
|
<a href="javascript:if(confirm('http://www.ctyme.com/rbrown.htm \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/rbrown.htm'" tppabs="http://www.ctyme.com/rbrown.htm">
|
|
<img src="lhome.gif" tppabs="http://graphics.ctyme.com/gif/lhome.gif" border=0 alt=Ralf Brown Page></a>
|
|
<td><a href="int.htm" tppabs="http://www.ctyme.com/intr/int.htm">Interrups</a></td>
|
|
<td><a href="cat.htm" tppabs="http://www.ctyme.com/intr/cat.htm">Categories</a></td>
|
|
<td><a href="alpha.htm" tppabs="http://www.ctyme.com/intr/alpha.htm">Contents</a></td>
|
|
</td></table><p>
|
|
<p><img src="rbline.gif" tppabs="http://graphics.ctyme.com/gif/rbline.gif" width="100%" alt="------"><p>
|
|
<h3><font color=#C00040>NetBIOS INTERFACE</font></h3>
|
|
<PRE>
|
|
ES:BX -> network control block (NCB) <a href="rb-6395.htm#Table3249" tppabs="http://www.ctyme.com/intr/rb-6395.htm#Table3249">(see #03249)</a><br>
|
|
<p><b>Return:</b><br>AL = status (see #03248)
|
|
</PRE>
|
|
<p><b>Program:</b>
|
|
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.
|
|
<p><b>Notes:</b>
|
|
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.
|
|
<p><b>See Also:</b>
|
|
<a href="rb-4128.htm" tppabs="http://www.ctyme.com/intr/rb-4128.htm">INT 2A/AH=01h</a> - <a href="rb-4131.htm" tppabs="http://www.ctyme.com/intr/rb-4131.htm">INT 2A/AH=04h</a> - <a href="rb-6378.htm" tppabs="http://www.ctyme.com/intr/rb-6378.htm">INT 5B"Extended NetBIOS"</a>
|
|
<PRE>
|
|
<p>
|
|
<a name=table3248></a>
|
|
(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)
|
|
<p>
|
|
Format of NetBIOS Network Control Block:
|
|
<a name=table3249></a>
|
|
Offset Size Description (Table 03249)
|
|
00h BYTE command code <a href="rb-6395.htm#Table3250" tppabs="http://www.ctyme.com/intr/rb-6395.htm#Table3250">(see #03250)</a>
|
|
01h BYTE return code <a href="rb-6395.htm#Table3248" tppabs="http://www.ctyme.com/intr/rb-6395.htm#Table3248">(see #03248)</a>
|
|
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 <a href="rb-6395.htm#Table3248" tppabs="http://www.ctyme.com/intr/rb-6395.htm#Table3248">(see #03248)</a>
|
|
32h 14 BYTEs reserved for network card
|
|
<p>
|
|
<a name=table3250></a>
|
|
(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 <a href="rb-6395.htm#Table3251" tppabs="http://www.ctyme.com/intr/rb-6395.htm#Table3251">(see #03251)</a>
|
|
34h status of all sessions for name <a href="rb-6395.htm#Table3253" tppabs="http://www.ctyme.com/intr/rb-6395.htm#Table3253">(see #03253)</a>
|
|
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)
|
|
</PRE>
|
|
<p><b>Note:</b>
|
|
OR any of the above except 70h with 80h for non-waiting call
|
|
<PRE>
|
|
<p>
|
|
Format of NetBIOS structure "astatus":
|
|
<a name=table3251></a>
|
|
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 <a href="rb-6395.htm#Table3252" tppabs="http://www.ctyme.com/intr/rb-6395.htm#Table3252">(see #03252)</a>
|
|
</PRE>
|
|
<p><b>Note:</b>
|
|
It has been reported that the first field should be 16 bytes instead
|
|
of six (shifthing all remaining fields by ten bytes)
|
|
<PRE>
|
|
<p>
|
|
Format of NetBIOS structure "name":
|
|
<a name=table3252></a>
|
|
Offset Size Description (Table 03252)
|
|
00h 16 BYTEs "nm_name" symbolic name
|
|
10h BYTE "nm_num" number associated with name
|
|
11h BYTE nm_status
|
|
<p>
|
|
Format of NetBIOS structure "sstatus":
|
|
<a name=table3253></a>
|
|
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 <a href="rb-6395.htm#Table3254" tppabs="http://www.ctyme.com/intr/rb-6395.htm#Table3254">(see #03254)</a>
|
|
<p>
|
|
Format of NetBIOS structure "session":
|
|
<a name=table3254></a>
|
|
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/chainsends
|
|
</PRE>
|
|
<p>
|
|
<b>Category: <a href="cat-027.htm" tppabs="http://www.ctyme.com/intr/cat-027.htm">
|
|
Network</a>
|
|
- <a href="int-5c-1.htm" tppabs="http://www.ctyme.com/intr/int-5C.htm">
|
|
Int 5Ch</a>
|
|
- <a href="alpha-n.htm" tppabs="http://www.ctyme.com/intr/alpha-n.htm">
|
|
N</a>
|
|
</b><p><p><img src="rbline.gif" tppabs="http://graphics.ctyme.com/gif/rbline.gif" width="100%" alt="------"><p>
|
|
<table border=1 cellpadding=3 cellspacing=1>
|
|
<td>
|
|
<a href="rb-6394.htm" tppabs="http://www.ctyme.com/intr/rb-6394.htm">
|
|
<img src="lup.gif" tppabs="http://graphics.ctyme.com/gif/lup.gif" border=0 alt=Prev></a>
|
|
<a href="rb-6396.htm" tppabs="http://www.ctyme.com/intr/rb-6396.htm">
|
|
<img src="ldown.gif" tppabs="http://graphics.ctyme.com/gif/ldown.gif" border=0 alt=Next></a>
|
|
<a href="javascript:if(confirm('http://www.ctyme.com/rbrown.htm \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/rbrown.htm'" tppabs="http://www.ctyme.com/rbrown.htm">
|
|
<img src="lhome.gif" tppabs="http://graphics.ctyme.com/gif/lhome.gif" border=0 alt=Ralf Brown Page></a>
|
|
<td><a href="int.htm" tppabs="http://www.ctyme.com/intr/int.htm">Interrups</a></td>
|
|
<td><a href="cat.htm" tppabs="http://www.ctyme.com/intr/cat.htm">Categories</a></td>
|
|
<td><a href="alpha.htm" tppabs="http://www.ctyme.com/intr/alpha.htm">Contents</a></td>
|
|
</td></table><p>
|
|
|
|
<!-- Bottom Link Start -->
|
|
|
|
<center>
|
|
|
|
<p><table border=1 bgcolor="#ffff99"><tr><td>
|
|
<table border=0 height=80>
|
|
<tr align=center><td width="65">
|
|
|
|
<a href="javascript:if(confirm('http://www.ctyme.com/sponsor.htm \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/sponsor.htm'" tppabs="http://www.ctyme.com/sponsor.htm">
|
|
<img src="tip.gif" tppabs="http://graphics.ctyme.com/gif/tip.gif" ALT="Sponsors" height="40" width="40"></a>
|
|
<br><a href="javascript:if(confirm('http://www.ctyme.com/sponsor.htm \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/sponsor.htm'" tppabs="http://www.ctyme.com/sponsor.htm">Shopping</a>
|
|
|
|
</td><td width="65">
|
|
|
|
<a href="javascript:if(confirm('http://talk.ctyme.com/webx.cgi?13@@.ee6b2be \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://talk.ctyme.com/webx.cgi?13@@.ee6b2be'" tppabs="http://talk.ctyme.com/webx.cgi?13@@.ee6b2be">
|
|
<img src="comment.gif" tppabs="http://graphics.ctyme.com/gif/comment.gif" ALT="Forum" height="40" width="40"></a>
|
|
<br><a href="javascript:if(confirm('http://talk.ctyme.com/webx.cgi?13@@.ee6b2be \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://talk.ctyme.com/webx.cgi?13@@.ee6b2be'" tppabs="http://talk.ctyme.com/webx.cgi?13@@.ee6b2be">Forum</a>
|
|
|
|
</td><td width="65">
|
|
|
|
<a href="javascript:if(confirm('http://www.ctyme.com/mail.htm \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/mail.htm'" tppabs="http://www.ctyme.com/mail.htm">
|
|
<img src="mail.gif" tppabs="http://graphics.ctyme.com/gif/mail.gif" ALT="email" height="40" width="40"></a>
|
|
<br><a href="javascript:if(confirm('http://www.ctyme.com/mail.htm \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/mail.htm'" tppabs="http://www.ctyme.com/mail.htm">EMail</a>
|
|
|
|
</td><td width="65">
|
|
|
|
<a href="javascript:if(confirm('http://www.ctyme.com/map.htm \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/map.htm'" tppabs="http://www.ctyme.com/map.htm">
|
|
<img src="toc.gif" tppabs="http://graphics.ctyme.com/gif/toc.gif" ALT="Index" height="40" width="40"></a>
|
|
<br><a href="javascript:if(confirm('http://www.ctyme.com/map.htm \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/map.htm'" tppabs="http://www.ctyme.com/map.htm">Index</a>
|
|
|
|
</td><td width="65">
|
|
|
|
<a href="javascript:if(confirm('http://www.ctyme.com/ \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/'" tppabs="http://www.ctyme.com/">
|
|
<img src="home.gif" tppabs="http://graphics.ctyme.com/gif/home.gif" ALT="Home" height="40" width="40"></a>
|
|
<br><a href="javascript:if(confirm('http://www.ctyme.com/ \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/'" tppabs="http://www.ctyme.com/">Home</a>
|
|
|
|
</td><td width="90">
|
|
|
|
<center>
|
|
<FORM ACTION="https://secure.paypal.com/cgi-bin/webscr" tppabs="https://secure.paypal.com/cgi-bin/webscr" METHOD="POST" traget="_blank">
|
|
<INPUT TYPE="hidden" NAME="cmd" VALUE="_xclick">
|
|
<INPUT TYPE="hidden" NAME="business" VALUE="marc@perkel.com">
|
|
<INPUT TYPE="hidden" NAME="return" VALUE="http://www.perkel.com">
|
|
<INPUT TYPE="hidden" NAME="item_name" VALUE="Donation To Support this Site">
|
|
<INPUT TYPE="hidden" NAME="no_intl" VALUE="1">
|
|
<INPUT TYPE="image" SRC="x-click-but7.gif" tppabs="http://images.paypal.com/images/x-click-but7.gif" vspace=9
|
|
NAME="submit" ALT="Make payments with PayPal - it's fast, free and secure!">
|
|
</FORM>
|
|
|
|
</td></tr></table></td></tr></table><p>
|
|
|
|
|
|
<center>
|
|
<p>
|
|
<a href="javascript:if(confirm('http://www.ctyme.com/hosting/index.htm \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/hosting/index.htm'" tppabs="http://www.ctyme.com/hosting/index.htm" target="_blank">
|
|
<img src="ctymehost.gif" tppabs="http://graphics.ctyme.com/gif/ctymehost.gif"
|
|
border=3 height=60 width=468></a>
|
|
<p>
|
|
<!-- Ad End --->
|
|
|
|
</center>
|
|
<FORM ACTION="http://service.bfast.com/bfast/click" target="_blank">
|
|
<INPUT TYPE="hidden" NAME="siteid" VALUE="30472466" >
|
|
<INPUT TYPE="hidden" NAME="bfpage" VALUE="horizontal">
|
|
<INPUT TYPE="hidden" NAME="bfmid" VALUE="27253343" >
|
|
<INPUT TYPE="hidden" NAME="num" VALUE="30">
|
|
|
|
<table bgcolor=white border=3><tr><td>
|
|
<table bgcolor=white border=0>
|
|
<tr><td>
|
|
<IMG SRC="serve-bfmid=27253343&siteid=30472466&bfpage=horizontal.gif" tppabs="http://service.bfast.com/bfast/serve?bfmid=27253343&siteid=30472466&bfpage=horizontal" BORDER="0" WIDTH="1" HEIGHT="1" align=right NOSAVE >
|
|
<center><b>Search the web with Google</b></center>
|
|
</td></tr><tr><td>
|
|
<TABLE cellpadding=0 cellspacing=5 bgcolor="#FFFFFF">
|
|
<tr><td bgcolor="#0000cc"><IMG SRC="cleardot.gif" tppabs="http://www.google.com/images/cleardot.gif" height=1 border="0" ALT="Google"></td></tr><tr><td>
|
|
<IMG SRC="affiliate_logo.gif" tppabs="http://www.google.com/affiliates/affiliate_logo.gif" border="0" ALT="Google" align="center">
|
|
<INPUT TYPE=text name=q size=30 maxlength=255 value="">
|
|
<INPUT type=submit name=sa VALUE="Go">
|
|
</td></tr>
|
|
<tr><td bgcolor="#0000cc"><IMG SRC="cleardot.gif" tppabs="http://www.google.com/images/cleardot.gif" height=1 border="0" ALT="Google"></td></tr></TABLE>
|
|
</td></tr></table>
|
|
</tr></td></table>
|
|
</FORM>
|
|
|
|
</center>
|
|
|
|
|
|
<p><img src="rbline.gif" tppabs="http://graphics.ctyme.com/gif/rbline.gif" width="100%" alt="------"><p>
|
|
|
|
<!-- Bottom Link End -->
|
|
|
|
</BODY>
|
|
</HTML>
|