INTRO(4) — DEVICES AND NETWORK INTERFACES
NAME
intro − introduction to device drivers, protocols, and network interfaces
DESCRIPTION
This section describes device drivers, high-speed network interfaces, and protocols available under SunOS. The system provides drivers for a variety of hardware devices, such as disks, magnetic tapes, serial communication lines, mice and frame buffers, as well as virtual devices such as pseudo-terminals and windows. SunOS provides hardware support and a network interface for the 10-Megabit Ethernet, along with interfaces for the IP protocol family and a STREAMS-based Network Interface Tap (NIT) facility.
In addition to describing device drivers that are supported by the 4.3BSD operating system, this section contains subsections that describe:
• SunOS-specific device drivers, under ‘4S’.
• Protocol families, under ‘4F’.
• Protocols and raw interfaces, under ‘4P’.
• STREAMS modules, under ‘4M’.
• Network interfaces, under ‘4N’.
Configuration
The SunOS kernel can be configured to include or omit many of the device drivers described in this section. The CONFIG section of the manual page gives the line(s) to include in the kernel configuration file for each machine architecture on which a device is supported. If no specific architectures are indicated, the configuration syntax applies to all Sun systems.
The GENERIC kernel is the default configuration for SunOS. It contains all of the optional drivers for a given machine architecture. See config(8), for details on configuring a new SunOS kernel.
The manual page for a device driver may also include a DIAGNOSTICS section, listing error messages that the driver might produce. Normally, these messages are logged to the appropriate system log using the kernel’s standard message-buffering mechanism (see syslogd(8)); they may also appear on the system console.
Ioctls
Various special functions, such as querying or altering the operating characteristics of a device, are performed by supplying appropriate parameters to the ioctl(2) system call. These parameters are often referred to as “ioctls.” Ioctls for a specific device are presented in the manual page for that device. Ioctls that pertain to a class of devices are listed in a manual page with a name that suggests the class of device, and ending in ‘io’, such as mtio(4) for magnetic tape devices, or dkio(4S) for disk controllers. In addition, some ioctls operate directly on higher-level objects such as files, terminals, sockets, and streams:
• Ioctls that operate directly on files, file descriptors, and sockets are described in filio(4). Note: the fcntl(2) system call is the primary method for operating on file descriptors as such, rather than on the underlying files. Also note that the setsockopt system call (see getsockopt(2)) is the primary method for operating on sockets as such, rather than on the underlying protocol or network interface. Ioctls for a specific network interface are documented in the manual page for that interface.
• Ioctls for terminals, including pseudo-terminals, are described in termio(4). This manual page includes information about both the BSD termios structure, as well as the System V termio structure.
• Ioctls for STREAMS are described in streamio(4).
Devices Always Present
Device drivers present in every kernel include:
• The paging device; see drum(4).
• Drivers for accessing physical, virtual, and I/O space in memory; see mem(4S).
• The data sink; see null(4).
Terminals and Serial Communications Devices
Serial communication lines are normally supported by the terminal driver; see tty(4). This driver manages serial lines provided by communications drivers, such as those described in mti(4S) and zs(4S). The terminal driver also handles serial lines provided by virtual terminals, such as the Sun console monitor described in console(4S), and true pseudo-terminals, described in pty(4).
Disk Devices
Drivers for the following disk controllers provide standard block and raw interfaces under SunOS;
• SCSI controllers, in sd(4S),
• Xylogics 450 and 451 SMD controllers, in xy(4S),
• Xylogics 7053 SMD controllers, in xd(4S).
Ioctls to query or set a disk’s geometry and partitioning are described in dkio(4S).
Magnetic Tape Devices
Magnetic tape devices supported by SunOS include those described in ar(4S), tm(4S), st(4S), and xt(4S). Ioctls for all tape-device drivers are described in mtio(4S).
Frame Buffers
Frame buffer devices include color frame buffers described in the cg∗(4S) manual pages, monochrome frame buffers described in the bw∗(4S) manual pages, graphics processor interfaces described in the gp∗(4S) manual pages, and an indirect device for the console frame buffer described in fb(4S). Ioctls for all frame-buffer devices are described in fbio(4S).
Miscellaneous Devices
Miscellaneous devices include the console keyboard described in kbd(4S), the console mouse described in mouse(4S), window devices described in win(4S), and the DES encryption-chip interface described in des(4S).
Network-Interface Devices
SunOS supports the 10-Megabit Ethernet as its primary network interface; see ec(4S), ie(4S), and le(4S) for details. However, a software loopback interface, lo(4) is also supported. General properties of these network interfaces are described in if(4N), along with the ioctls that operate on them.
Support for network routing is described in routing(4N).
Protocols and Protocol Families
SunOS supports both socket-based and STREAMS-based network communications. The Internet protocol family, described in inet(4F), is the primary protocol family primary supported by SunOS, although the system can support a number of others. The raw interface provides low-level services, such as packet fragmentation and reassembly, routing, addressing, and basic transport for socket-based implementations. Facilities for communicating using an Internet-family protocol are generally accessed by specifying the AF_INET address family when binding a socket; see socket(2) for details.
Major protocols in the Internet family include:
• The Internet Protocol (IP) itself, which supports the universal datagram format, as described in ip(4P). This is the default protocol for SOCK_RAW type sockets within the AF_INET domain.
• The Transmission Control Protocol (TCP); see tcp(4P). This is the default protocol for SOCK_STREAM type sockets.
• The User Datagram Protocol (UDP); see udp(4P). This is the default protocol for SOCK_DGRAM type sockets.
• The Address Resolution Protocol (ARP); see arp(4P).
• The Internet Control Message Protocol (ICMP); see icmp(4P).
The Network Interface Tap (NIT) protocol, described in nit(4P), is a STREAMS-based facility for accessing the network at the link level.
SEE ALSO
fcntl(2), getsockopt(2), ioctl(2), socket(2), ar(4S), arp(4P), dkio(4S), drum(4), ec(4S), fb(4S), fbio(4S), filio(4), icmp(4P), if(4N), inet(4F), ip(4P), kbd(4S), le(4), lo(4), mbio(4S), mem(4S), mti(4), mtio(4), nit(4P), null(4), pty(4), routing(4N), sd(4S), st(4S) streamio(4), tcp(4P), termio(4), tm(4S), tty(4), udp(4P), win(4S), xd(4S), xy(4S), zs(4S)
LIST OF DEVICES, INTERFACES AND PROTOCOLS
Name Appears on Page Description
almmcp(4S) Asynchronous Line Multiplexer
arar(4S) Archive 1/4 inch Streaming Tape Drive
arparp(4P) Address Resolution Protocol
audioaudio(4) telephone quality audio device
bkbk(4) line discipline for machine-machine communication
bwonebwone(4S) Sun-1 black and white frame buffer
bwtwobwtwo(4S) Sun-3/Sun-2 black and white frame buffer
cgeightcgeight(4S) 24-bitcolor memory frame buffer
cgfourcgfour(4S) Sun-3 color memory frame buffer
cgonecgone(4S) Sun-1 color graphics interface
cgsixcgsix(4S) Sun-3, Sun-4, and Sun-3x low-end graphics accelerator
cgthreecgthree(4S) Sun386i color memory frame buffer
cgtwocgtwo(4S) Sun-3/Sun-2 color graphics interface
cloneclone(4) open any minor device on a STREAMS driver
consoleconsole(4S) console driver and terminal emulator for the Sun workstation
dbdb(4M) SunDials STREAMS module
desdes(4S) DES encryption chip interface
dkiodkio(4S) generic disk control operations
drumdrum(4) paging device
ecec(4S) 3Com 10 Mb/s Ethernet interface
fbfb(4S) driver for Sun console frame buffer
fbiofbio(4S) general properties of frame buffers
fdfd(4S) Disk driver for Floppy Disk Controllers
filiofilio(4) ioctls that operate directly on files, file descriptors, and sockets
fpafpa(4S) Sun-3 floating point accelerator
gponegpone(4S) Sun-3/Sun-2 graphics processor
icmpicmp(4P) Internet Control Message Protocol
ieie(4S) Intel 10 Mb/s Ethernet interface
ifif(4N) general properties of network interfaces
inetinet(4F) Internet protocol family
ipip(4P) Internet Protocol
kbkb(4M) Sun keyboard STREAMS module
kbdkbd(4S) Sun keyboard
kmemmem(4S) main memory and bus I/O space
ldtermldterm(4M) standard terminal STREAMS module
lele(4S) Sun-3/50, Sun-3/60 10MB Ethernet interface
lolo(4) software loopback network interface
lofslofs(4S) loopback virtual file system
mbiomem(4S) main memory and bus I/O space
mbmemmem(4S) main memory and bus I/O space
mcpmcp(4S) MCP Multiprotocol Communications Processor
memmem(4S) main memory and bus I/O space
mousemouse(4S) Sun mouse
ms3mouse(4S) Sun mouse
msms(4M) Sun mouse STREAMS module
mtimti(4S) Systech MTI-800/1600 multi-terminal interface
mtiomtio(4) UNIX system magnetic tape interface
NFSnfs(4P) network file system
nif_pfnit_pf(4M) streams NIT packet filtering module
nitnit(4P) Network Interface Tap facility
nit_bufnit_buf(4M) streams NIT buffering module
nit_ifnit_if(4M) streams NIT device interface module
nullnull(4) data sink
pppp(4) Centronics-compatible parallel printer port
ptypty(4) pseudo terminal driver
rootroot(4S) pseudo-driver for Sun root disk
routingrouting(4N) system supporting for local network packet routing
sdsd(4S) Disk driver for SCSI Disk Controllers
sockiosockio(4) ioctls that operate directly on sockets
stst(4S) Sysgen SC 4000 and Emulex MT-02 Tape Controller
streamiostreamio(4) STREAMS ioctl commands
tcptcp(4P) Transmission Control Protocol
termiotermio(4) general terminal interface
tmtm(4S) tapemaster 1/2 inch tape drive
ttcompatttcompat(4M) V7/4BSD compatibility STREAMS module
ttytty(4) controlling terminal interface
udpudp(4P) User Datagram Protocol
vme16d16mem(4S) main memory and bus I/O space
vme16d32mem(4S) main memory and bus I/O space
vme24d16mem(4S) main memory and bus I/O space
vme24d32mem(4S) main memory and bus I/O space
vme32d16mem(4S) main memory and bus I/O space
vme32d32mem(4S) main memory and bus I/O space
vpvp(4S) Ikon 10071-5 Versatec parallel printer interface
vpcvpc(4S) Systech VPC-2200 Versatec plotter and Centronics printer
winwin(4S) Sun window system
xdxd(4S) Disk driver for Xylogics 7053 SMD Disk Controller
xtxt(4S) Xylogics 472 1/2 inch tape controller
xyxy(4S) Disk driver for Xylogics SMD Disk Controllers
zerozero(4S) source of zeroes
zszs(4S) Zilog 8530 SCC serial comunications driver
Sun Release 4.0 — Last change: 1 May 1989