INTRO(4)

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(2V) 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),

•   IPI controllers, in id(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) and gt(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 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(2V), getsockopt(2), ioctl(2), socket(2), ar(4S), arp(4P), dkio(4S), drum(4), fb(4S), fbio(4S), filio(4), icmp(4P), if(4N), inet(4F), ip(4P), kbd(4S), le(4S), lo(4), mem(4S), mti(4S), 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