send file descriptors across a Unix domain socket connection using the sendmsg() and recvmsg() system calls. Unlike named pipes which allow only unidirectional data flow, sockets are fully duplex-capable. A socket is marked with an s as the first letter of the mode string, e.g. srwxrwxrwx /tmp/.X11-unix/X0 Device file (block, character) In Unix, almost all things are handled as files and have a location in the file system, even hardware devices like hard drives. The great exception is network devices, which do not turn up in the file system but are handled separately. Device files are used to apply access rights to the devices and to direct operations on the files to the appropriate device drivers. Unix makes a distinction between character devices and block devices. The distinction is roughly as follows: Character devices provide only a serial stream of input or accept a serial stream of output Block devices are randomly accessible Although, for example, disk partitions may have both character devices that provide un-buffered random access to blocks on the partition and block devices that provide buffered random access to blocks on the partition. A character device is marked with a c as the first letter of the mode string. Likewise, a block device is marked with a b, e.g. crw------- ... /dev/null brw-rw---- ... /dev/sda Door A door is a special file for inter-process communication between a client and server, currently implemented only in Solaris. A door is marked with a D (upper case) as the first letter of the mode string, e.g. Dr--r--r-- ... name_service_door See also file (command) References Unix file system technology