xref: /illumos-gate/usr/src/man/man4/Intro.4 (revision 724c5febb0bca8c78130986f24885a869b87d7b6)
1.\" Copyright (c) 1999, Sun Microsystems, Inc.  All Rights Reserved.
2.\" Copyright 1989 AT&T
3.\" Copyright 2020 Joyent, Inc.
4.\"
5.\" The contents of this file are subject to the terms of the
6.\" Common Development and Distribution License (the "License").
7.\" You may not use this file except in compliance with the License.
8.\"
9.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10.\" or http://www.opensolaris.org/os/licensing.
11.\" See the License for the specific language governing permissions
12.\" and limitations under the License.
13.\"
14.\" When distributing Covered Code, include this CDDL HEADER in each
15.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16.\" If applicable, add the following below this CDDL HEADER, with the
17.\" fields enclosed by brackets "[]" replaced with your own identifying
18.\" information: Portions Copyright [yyyy] [name of copyright owner]
19.\"
20.Dd March 10, 2023
21.Dt INTRO 4
22.Os
23.Sh NAME
24.Nm Intro ,
25.Nm intro
26.Nd introduction to special files
27.Sh DESCRIPTION
28This section describes various device and network interfaces available on the
29system.
30The types of interfaces described include character and block
31devices,
32.Sy STREAMS
33modules, network protocols, file systems, and ioctl requests
34for driver subsystems and classes.
35.Pp
36This section contains the following major collections:
37.Bl -tag -width "xxxxx"
38.It Pq Sy 4D
39The system provides drivers for a variety of hardware devices, such as disk,
40magnetic tapes, serial communication lines, mice, and frame buffers, as well
41as virtual devices such as pseudo-terminals and windows.
42.Pp
43This section describes special files that refer to specific hardware
44peripherals and device drivers.
45.Sy STREAMS
46device drivers are also described.
47Characteristics of both the hardware device and the corresponding device driver
48are discussed where applicable.
49.Pp
50An application accesses a device through that device's special file.
51This
52section specifies the device special file to be used to access the device as
53well as application programming interface (API) information relevant to the use
54of the device driver.
55All device special files are located under the
56.Pa /devices
57directory.
58The
59.Pa /devices
60directory hierarchy attempts to mirror the hierarchy of system
61busses, controllers, and devices configured on the system.
62Logical device names for special files in
63.Pa /devices
64are located under the
65.Pa /dev
66directory.
67Although not every special file under
68.Pa /devices
69will have a corresponding logical entry under
70.Pa /dev ,
71whenever possible, an
72application should reference a device using the logical name for the device.
73Logical device names are listed in the
74.Sy FILES
75section of the page for the device in question.
76.Pp
77This section also describes driver configuration where applicable.
78Many device drivers have a driver configuration file of the form
79.Em driver_name Ns \&.conf
80associated with them (see
81.Xr driver.conf 5 ) .
82The configuration information stored in the driver
83configuration file is used to configure the driver and the device.
84Driver configuration files are located in
85.Pa /kernel/drv
86and
87.Pa /usr/kernel/drv .
88Driver configuration files for platform dependent
89drivers are located in
90.Pa /platform/`uname\ -i`/kernel/drv
91where
92.Pa `uname\ -i`
93is the output of the
94.Xr uname 1
95command with the
96.Fl i
97option.
98.Pp
99Some driver configuration files may contain user configurable properties.
100Changes in a driver's configuration file will not take effect until the system
101is rebooted or the driver has been removed and re-added (see
102.Xr rem_drv 8
103and
104.Xr add_drv 8 ) .
105.It Pq Sy 4FS
106This section describes the programmatic interface for several file systems
107supported by SunOS.
108.It Pq Sy 4I
109This section describes ioctl requests which apply to a class of drivers or
110subsystems.
111For example, ioctl requests which apply to most tape devices are
112discussed in
113.Xr mtio 4I .
114Ioctl requests relevant to only a specific
115device are described on the man page for that device.
116The page for the device
117in question should still be examined for exceptions to the ioctls listed in
118section 4I.
119.It Pq Sy 4M
120This section describes
121.Sy STREAMS
122modules.
123Note that
124.Sy STREAMS
125drivers are discussed in section 4D.
126.Xr streamio 4I
127contains a list of ioctl requests used to manipulate
128.Sy STREAMS
129modules and interface with the
130.Sy STREAMS
131framework.
132.Xr ioctl 2
133requests specific to a
134.Sy STREAMS
135module will be discussed on the man page for that module.
136.It Pq Sy 4P
137This section describes various network protocols available in SunOS.
138SunOS supports both socket-based and
139.Sy STREAMS Ns -based
140network communications.
141.Pp
142The Internet protocol family, described in
143.Xr inet 4P ,
144is the primary protocol family supported by SunOS, although the system can
145support a number of others.
146The raw interface provides low-level services, such as
147packet fragmentation and reassembly, routing, addressing, and basic transport
148for socket-based implementations.
149Facilities for communicating using an
150Internet-family protocol are generally accessed by specifying the
151.Dv AF_INET
152address family when binding a socket; see
153.Xr socket 3SOCKET
154for details.
155.Pp
156Major protocols in the Internet family include:
157.Bl -bullet -offset indent
158.It
159The Internet Protocol (IP) itself, which supports the universal datagram
160format, as described in
161.Xr ip 4P .
162This is the default protocol for
163.Dv SOCK_RAW
164type sockets within the
165.Dv AF_INET
166domain.
167.It
168The Transmission Control Protocol (TCP); see
169.Xr tcp 4P .
170This is the default protocol for
171.Dv SOCK_STREAM
172type sockets.
173.It
174The User Datagram Protocol (UDP); see
175.Xr udp 4P .
176This is the default
177protocol for
178.Dv SOCK_DGRAM
179type sockets.
180.It
181The Address Resolution Protocol (ARP); see
182.Xr arp 4P .
183.It
184The Internet Control Message Protocol (ICMP); see
185.Xr icmp 4P .
186.El
187.El
188.Sh SEE ALSO
189.Xr ioctl 2 ,
190.Xr Intro 3 ,
191.Xr socket 3SOCKET ,
192.Xr st 4D ,
193.Xr mtio 4I ,
194.Xr streamio 4I ,
195.Xr arp 4P ,
196.Xr icmp 4P ,
197.Xr inet 4P ,
198.Xr ip 4P ,
199.Xr tcp 4P ,
200.Xr udp 4P ,
201.Xr driver.conf 5 ,
202.Xr add_drv 8 ,
203.Xr rem_drv 8
204.Pp
205.%T System Administration Guide: IP Services
206.Pp
207.%T STREAMS Programming Guide
208.Pp
209.%T Writing Device Drivers
210