[Top] [Prev] [Next]

Inferno Devices

The Inferno devices are as follows:
cons

console device

cmd

interface to host operating system commands

draw

graphics device

ip

TCP, UDP network protocols over IP

prog

interface to running programs

root

the root file system

ssl

secure sockets layer device

Description

Pathname Resolution

An Inferno device implements a file tree for client processes. A file name beginning with a pound sign, such as #c, 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 conventional locations in the name space. For example, after

	sys->bind("#c", "/dev", sys->MREPL)

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

A kernel device driver is a server in the sense of the Inferno File Protocol, Styx (see Inferno File Protocol, Styx), but with the messages implemented by local rather than remote procedure calls. Also, several of the messages (Nop, 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' operation on the corresponding device to get a connection representing the root of that device's file tree. See attach. 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.

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 the system when it initializes.

Kernel Device Drivers
/

The root of the Inferno file system

s

Host Services

U

Host File System

M

Mount

c

Console

D

Secure Sockets Layer

d

Draw Interface

C

Command Services

p

Process File System

I

Internet Interface

Convention for Numeric Data

Unless otherwise noted, numeric data returned from status files, etc. is returned in the following standard 12-character decimal format: right-adjusted numerals with leading blanks to fill the field to 11 characters, followed by a blank. There is no trailing newline.

See Also

Limbo Modules and Inferno File Protocol, Styx



[Top] [Prev] [Next]

infernosupport@lucent.com
Copyright © 1996,Lucent Technologies, Inc. All rights reserved.