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