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