Ref: 07000005
Title: NetBIOS General Information (part 2)
Date: 07/13/88

Copyright 3Com Corporation, 1991.  All rights reserved.

by Derek R. Flickinger
from the December 1987 issue of LAN Magazine.

NetBIOS Functions

When one writes to the NetBIOS interface, function calls are used the
same way that INT 21, INT 10 and INT 5 are used for writing to the
ROMBIOS in the PC.  There is a common set of subfunctions accessible
through INT 5C (expressed in the hexadecimal) or INT 2A (also in hex).
The "generic" NetBIOS uses 5C for accessing NetBIOS commands.  Int 5C
assumes that the application is smart enough to have no duplicate
names and that what is being attempted is valid.

Since being Mr. Nice Guy doesn't always work, however, IBM aded a type
of resource arbitrator to 5C, thought 2A.  INT 2A does installation
checking and if everying is OK, passes the command to 5C.  2A supplies
the information about network resoures and things such as how many
Sessions or NetBIOS commands are available for application usage.  It is
a much cleaner, safer way to go, but it takes a little more overhead.

Also, one can write applications that access levels of the OSI model
below Session, which is where NetBIOS sits, but the transportability
to other network environments will be lost.  As always, there is still
another set of interrupt subfunctions used for "writing to the network"
available through INT 2F.  These are used to check for PC-Network
installation characteristics, but this is not a critical part of the
generic NetBIOS commands.

Note that NetBIOS is independent of DOS 3.1 and its calls for handling
file and record locking.  DOS handles the problems that happen when
multiple users want to change data within files.  Essentially NetBIOS's
only function is doing peer-to-peer communications in a network
environment.  It does not affect multiple data file acceses.  NetBIOS
allows an application to establish a session with another device and
lets the network Redirector and SMBs pass request to and from another
machine.  THERE IS NO ACTUAL MANIPULATION OF THE DATA WITH NETBIOS.

The key thing is that NetBIOS allows resources, applications and users
to be known on the network by a name that is hardware-independent.  DOS just
uses SMBs to talk throught the network.  Some vendors use their own
proprietary protocols for communicating across a LAN, but these do not
allow for hardware or operating system independence.  To compound the
problem, they usually use some form of hardware address mapping scheme
that will not allow higher level naming conventions to be dynamic.

NetBIOS is the application program interface for talking to other
devices on a LAN.  Programs can be written to talk directly to a
network interface card at the OSI Data Link layer, but these would not
be generic or transferrable to different environments.  NetBIOS is much
like ROMBIOS; it takes a little more overhead to process commands, but
it allows applications to be run independently of the computer's
hardware or Disk Operating System.  Conversely, NetBIOS standarizes the
interface between application programs and a LANs operating system
capabilities.
