unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (plan9)
Page:
Section:
Apropos / Subsearch:
optional field

INTRO(3)                   Library Functions Manual                   INTRO(3)



NAME
       intro - introduction to the Plan 9 devices

DESCRIPTION
       A  Plan  9  device implements a file tree for client processes.  A file
       name beginning with a pound sign, such as names the root of a file tree
       implemented  by  a  particular  kernel  device driver identified by the
       character after the pound sign.  Such names are usually bound  to  con-
       ventional locations in the name space.  For example, after

              bind("#c", "/dev", MREPL)

       an ls(1) of /dev will list the files provided by the console device.

       A kernel device driver is a server in the sense of the Plan 9 File Pro-
       tocol, 9P (see Section 5), but with the messages implemented  by  local
       rather  than  remote  procedure  calls.   Also, several of the messages
       (Nop, Session, Flush, and Error) have no subroutine equivalents.

       When a system call is passed a file name beginning with it looks at the
       next  character, and if that is a valid device character it performs an
       attach(5) on the corresponding device to get a channel representing the
       root of that device's file tree.  If there are any characters after the
       device character but before the next or end of string, those characters
       are passed as parameter aname to the attach.  For example,

              #Itcp

       identifies  the  implementation  of the TCP protocol supplied by the IP
       device (see ip(3)).

       Each kernel device has a conventional place at which to be bound to the
       name  space.   The  SYNOPSIS sections of the following pages includes a
       shell bind command to put the device in the conventional  place.   Most
       of these binds are done automatically by init(8).

SEE ALSO
       intro(5), intro(2)



                                                                      INTRO(3)