1 INTRO(7) Device and Network Interfaces INTRO(7) 2 3 NAME 4 Intro, intro - introduction to special files 5 6 DESCRIPTION 7 This section describes various device and network interfaces available on 8 the sysstem. The types of interfaces described include character and 9 block devices, STREAMS modules, network protocols, file systems, and 10 ioctl requests for driver subsystems and classes. 11 12 This section contains the following major collections: 13 14 (7D) The system provides drivers for a variety of hardware devices, 15 such as disk, magnetic tapes, serial communication lines, mice, 16 and frame buffers, as well as virtual devices such as pseudo- 17 terminals and windows. 18 19 This section describes special files that refer to specific 20 hardware peripherals and device drivers. STREAMS device drivers 21 are also described. Characteristics of both the hardware device 22 and the corresponding device driver are discussed where 23 applicable. 24 25 An application accesses a device through that device's special 26 file. This section specifies the device special file to be used 27 to access the device as well as application programming interface 28 (API) information relevant to the use of the device driver. All 29 device special files are located under the /devices directory. 30 The /devices directory hierarchy attempts to mirror the hierarchy 31 of system busses, controllers, and devices configured on the 32 system. Logical device names for special files in /devices are 33 located under the /dev directory. Although not every special file 34 under /devices will have a corresponding logical entry under /dev, 35 whenever possible, an application should reference a device using 36 the logical name for the device. Logical device names are listed 37 in the FILES section of the page for the device in question. 38 39 This section also describes driver configuration where applicable. 40 Many device drivers have a driver configuration file of the form 41 driver_name.conf associated with them (see driver.conf(4)). The 42 configuration information stored in the driver configuration file 43 is used to configure the driver and the device. Driver 44 configuration files are located in /kernel/drv and 45 /usr/kernel/drv. Driver configuration files for platform 46 dependent drivers are located in /platform/`uname -i`/kernel/drv 47 where `uname -i` is the output of the uname(1) command with the -i 48 option. 49 50 Some driver configuration files may contain user configurable 51 properties. Changes in a driver's configuration file will not 52 take effect until the system is rebooted or the driver has been 53 removed and re-added (see rem_drv(1M) and add_drv(1M)). 54 55 (7FS) This section describes the programmatic interface for several file 56 systems supported by SunOS. 57 58 (7I) This section describes ioctl requests which apply to a class of 59 drivers or subsystems. For example, ioctl requests which apply to 60 most tape devices are discussed in mtio(7I). Ioctl requests 61 relevant to only a specific device are described on the man page 62 for that device. The page for the device in question should still 63 be examined for exceptions to the ioctls listed in section 7I. 64 65 (7M) This section describes STREAMS modules. Note that STREAMS drivers 66 are discussed in section 7D. streamio(7I) contains a list of 67 ioctl requests used to manipulate STREAMS modules and interface 68 with the STREAMS framework. ioctl(2) requests specific to a 69 STREAMS module will be discussed on the man page for that module. 70 71 (7P) This section describes various network protocols available in 72 SunOS. SunOS supports both socket-based and STREAMS-based network 73 communications. 74 75 The Internet protocol family, described in inet(7P), is the 76 primary protocol family supported by SunOS, although the system 77 can support a number of others. The raw interface provides low- 78 level services, such as packet fragmentation and reassembly, 79 routing, addressing, and basic transport for socket-based 80 implementations. Facilities for communicating using an Internet- 81 family protocol are generally accessed by specifying the AF_INET 82 address family when binding a socket; see socket(3SOCKET) for 83 details. 84 85 Major protocols in the Internet family include: 86 87 o The Internet Protocol (IP) itself, which supports the 88 universal datagram format, as described in ip(7P). This 89 is the default protocol for SOCK_RAW type sockets within 90 the AF_INET domain. 91 92 o The Transmission Control Protocol (TCP); see tcp(7P). 93 This is the default protocol for SOCK_STREAM type 94 sockets. 95 96 o The User Datagram Protocol (UDP); see udp(7P). This is 97 the default protocol for SOCK_DGRAM type sockets. 98 99 o The Address Resolution Protocol (ARP); see arp(7P). 100 101 o The Internet Control Message Protocol (ICMP); see 102 icmp(7P). 103 104 SEE ALSO 105 add_drv(1M), rem_drv(1M), ioctl(2), Intro(3), socket(3SOCKET), 106 driver.conf(4), st(7D), mtio(7I), streamio(7I), arp(7P), icmp(7P), 107 inet(7P), ip(7P), tcp(7P), udp(7P) 108 109 System Administration Guide: IP Services 110 111 STREAMS Programming Guide 112 113 Writing Device Drivers 114 115 illumos January 6, 2020 illumos