# To unbundle, run this file echo a.out.5 sed 's/.//' >a.out.5 <<'//GO.SYSIN DD a.out.5' -.TH A.OUT 5 -.SH NAME -a.out \- assembler and link editor output -.SH SYNOPSIS -.B #include -.SH DESCRIPTION -.I A.out -is the output file of the assembler -.IR as (1) -and the link editor -.IR ld (1). -Both programs make -.I a.out -executable if there were no -errors and no unresolved external references. -Layout information as given in the include file for the PDP11 is: -.PP -.nf -.ta 8n +9n +11n -.PP -.so /usr/include/a.out.h -.fi -.PP -The file has four sections: -a header, the program and data text, -relocation information, and a symbol table -(in that order). -The last two may be empty -if the program was loaded -with the `\-s' option -of -.I ld -or if the symbols and relocation have been -removed by -.IR strip (1). -.PP -In the header the sizes of each section are given in bytes, but are even. -The size of the header is not included in any of the other sizes. -.PP -When an -.I a.out -file is loaded into core for execution, three logical segments are -set up: the text segment, the data segment -(with uninitialized data, which starts off as all 0, following -initialized), -and a stack. -The text segment begins at 0 -in the core image; the header is not loaded. -If the magic number in the header is 0407(8), it indicates that the text -segment is not to be write-protected and shared, -so the data segment is immediately contiguous -with the text segment. -If the magic number is 0410, -the data segment begins at the first 0 mod 8K byte -boundary following the text segment, -and the text segment is not writable by the program; -if other processes are executing the same file, -they will share the text segment. -If the magic number is 411, -the text segment is again pure, write-protected, and shared, -and moreover instruction and data space are separated; -the text and data segment both begin at location 0. -If the magic number is 0405, the text segment -is overlaid on an existing (0411 or 0405) text segment -and the existing data segment is preserved. -.PP -The stack will occupy the highest possible locations -in the core image: from 0177776(8) and growing downwards. -The stack is automatically extended as required. -The data segment is only extended as requested by -.IR brk (2). -.PP -The start of the text segment in the file is 020(8); -the start of the data segment is 020+S\s6\dt\u\s10 (the size of the text) -the start of the relocation information is -020+S\s6\dt\u\s10+S\s6\dd\u\s10; -the start of the symbol table is -020+2(S\s6\dt\u\s10+S\s6\dd\u\s10) -if the -relocation information is present, -020+S\s6\dt\u\s10+S\s6\dd\u\s10 -if not. -.PP -The layout of a symbol table entry and the principal flag values -that distinguish symbol types are given in the include file. -Other flag values may occur if an assembly language program -defines machine instructions. -.PP -If a symbol's type is undefined external, -and the value field is non-zero, -the symbol is interpreted by the loader -.I ld -as -the name of a common region -whose size is indicated by the value of the -symbol. -.PP -The value of a word in the text or data portions which is not -a reference to an undefined external symbol -is exactly that value which will appear in core -when the file is executed. -If a word in the text or data portion -involves a reference to an undefined external symbol, -as indicated by the relocation information -for that word, -then the value of the word as stored in the file -is an offset from the associated external symbol. -When the file is processed by the -link editor and the external symbol becomes -defined, the value of the symbol will -be added into the word in the file. -.PP -If relocation -information is present, it amounts to one word per -word of program text or initialized data. -There is no relocation information if the `relocation info stripped' -flag in the header is on. -.PP -Bits 3-1 of a relocation word indicate the segment referred -to by the text or data word associated with the relocation -word: -.TP -000 -absolute number -.br -.ns -.TP -002 -reference to text segment -.br -.ns -.TP -004 -reference to initialized data -.br -.ns -.TP -006 -reference to uninitialized data (bss) -.br -.ns -.TP -010 -reference to undefined external symbol -.PP -Bit 0 of the relocation word indicates, if 1, -that the -reference is relative to the pc (e.g. `clr x'); -if 0, -that -the reference is to the actual symbol (e.g., -`clr *$x'). -.PP -The remainder of the relocation word (bits 15-4) -contains a symbol number in the case of external -references, and is unused otherwise. -The first symbol is numbered 0, the second 1, etc. -.SH "SEE ALSO" -as(1), ld(1), nm(1) //GO.SYSIN DD a.out.5 echo acct.5 sed 's/.//' >acct.5 <<'//GO.SYSIN DD acct.5' -.TH ACCT 5 -.SH NAME -acct \- execution accounting file -.SH SYNOPSIS -.B #include -.SH DESCRIPTION -.IR Acct (2) -causes entries to be made into an accounting file -for each process that terminates. -The accounting file is a sequence of entries whose layout, -as defined by the include file -is: -.PP -.nf -.ta \w'typedef 'u +\w'comp_t 'u +\w'ac_comm[10]; 'u -.so /usr/include/sys/acct.h -.fi -.PP -If the process does an -.IR exec (2), -the first 10 characters of the filename appear in -.I ac_comm. -The accounting flag contains bits indicating whether -.IR exec (2) -was ever accomplished, and whether the -process ever had super-user privileges. -.SH SEE ALSO -acct(2), sa(1) //GO.SYSIN DD acct.5 echo ar.5 sed 's/.//' >ar.5 <<'//GO.SYSIN DD ar.5' -.TH AR 5 -.SH NAME -ar \- archive (library) file format -.SH SYNOPSIS -.B #include -.SH DESCRIPTION -The archive command -.I ar -is used to combine several files into -one. -Archives are used mainly as libraries to be searched -by the link-editor -.I ld. -.PP -A file produced by -.I ar -has a magic number at the start, -followed by the constituent files, each preceded by a file header. -The magic number and header layout as described in the -include file are: -.RS -.PP -.nf -.ta \w'#define 'u +\w'ARMAG 'u -.so /usr/include/ar.h -.fi -.RE -.LP -The name is a null-terminated string; the date is in the -form of -.IR time (2); -the user ID and group ID are numbers; the mode is a bit pattern -per -.IR chmod (2); -the size is counted in bytes. -.PP -Each file begins on a word boundary; -a null byte is inserted between files if necessary. -Nevertheless the size given reflects the -actual size of the file exclusive of padding. -.PP -Notice there is no provision for empty areas in an archive -file. -.SH "SEE ALSO" -ar(1), ld(1), nm(1) -.SH BUGS -Coding user and group IDs as characters is a botch. //GO.SYSIN DD ar.5 echo core.5 sed 's/.//' >core.5 <<'//GO.SYSIN DD core.5' -.TH CORE 5 -.SH NAME -core \- format of core image file -.SH DESCRIPTION -UNIX -writes out a core image of a terminated -process when any of various errors occur. -See -.IR signal (2) -for the list of reasons; -the most common are memory violations, illegal -instructions, bus errors, and user-generated -quit signals. -The core image is called `core' and is written in the process's -working directory (provided it can be; normal -access controls apply). -.PP -The first 1024 bytes of the core image -are a copy of the system's per-user -data for the process, including the registers -as they were at the time of the fault; -see the system listings for the format of this area. -The -remainder represents the actual contents of -the user's core area when the core image -was written. -If the text segment -is write-protected and shared, -it is not dumped; otherwise the entire -address space is dumped. -.PP -In general the debugger -.IR adb (1) -is sufficient to deal with core images. -.SH "SEE ALSO" -adb(1), signal(2) //GO.SYSIN DD core.5 echo dir.5 sed 's/.//' >dir.5 <<'//GO.SYSIN DD dir.5' -.TH DIR 5 -.SH NAME -dir \- format of directories -.SH SYNOPSIS -.B #include -.SH DESCRIPTION -A directory -behaves exactly like an ordinary file, save that no -user may write into a directory. -The fact that a file is a directory is indicated by -a bit in the flag word of its i-node entry -see, -.IR filsys (5). -The structure of a directory entry as given in the -include file is: -.RS -.ta 8n +6n -.PP -.nf -.so /usr/include/sys/dir.h -.fi -.RE -.PP -By convention, the first two entries in each directory -are for `\fB.\fR' and `\fB..\fR'. The first is an entry for the -directory itself. The second is for the parent -directory. -The meaning of `\fB..\fR' is modified for the root directory -of the master file system and for the root directories of removable -file systems. -In the first case, there is no parent, and in the second, -the system does not permit off-device references. -Therefore in both cases `\fB..\fR' has the -same meaning as `\fB.\fR'. -.SH "SEE ALSO" -filsys(5) //GO.SYSIN DD dir.5 echo dump.5 sed 's/.//' >dump.5 <<'//GO.SYSIN DD dump.5' -.TH DUMP 5 -.SH NAME -dump, ddate \- incremental dump format -.SH SYNOPSIS -.B #include -.br -.B #include -.br -.B # include -.SH DESCRIPTION -Tapes used by -.I dump -and -.IR restor (1) -contain: -.nf -.IP "" -a header record -two groups of bit map records -a group of records describing directories -a group of records describing files -.fi -.PP -The format of the header record and of the first -record of each description as given in the -include file -.I -is: -.PP -.nf -.ta .5i \w'#define\ TS_INODE\ 'u -.so /usr/include/dumprestor.h -.fi -.PP -.I NTREC -is the number of 512 byte records in a physical -tape block. -.I MLEN -is the number of bits in a bit map word. -.I MSIZ -is the number of bit map words. -.PP -The -.I TS_ -entries are used in the -.I c_type -field to indicate what sort of header -this is. -The types and their meanings are as follows: -.TP \w'CHECKSUM\|'u -TS_TAPE -Tape volume label -.PD 0 -.TP -TS_INODE -A file or directory follows. -The -.I c_dinode -field is a copy of the disk inode and contains -bits telling what sort of file this is. -.TP -TS_BITS -A bit map follows. -This bit map has a one bit -for each inode that was dumped. -.TP -TS_ADDR -A subrecord of a file description. -See -.I c_addr -below. -.TP -TS_END -End of tape record. -.TP -TS_CLRI -A bit map follows. -This bit map contains a zero bit for -all inodes that were empty on the file system when dumped. -.TP -MAGIC -All header records have this number in -.I c_magic. -.TP -CHECKSUM -Header records checksum to this value. -.PD -.PP -The fields of the header structure are as follows: -.TP \w'TS_INODE\ 'u -c_type -The type of the header. -.PD 0 -.TP -c_date -The date the dump was taken. -.TP -c_ddate -The date the file system was dumped from. -.TP -c_volume -The current volume number of the dump. -.TP -c_tapea -The current number of this (512-byte) record. -.TP -c_inumber -The number of the inode being dumped if this -is of type -.I TS_INODE. -.TP -c_magic -This contains the value -.I MAGIC -above, truncated as needed. -.TP -c_checksum -This contains whatever value is needed to -make the record sum to -.I CHECKSUM. -.TP -c_dinode -This is a copy of the inode as it appears on the -file system; see -.IR filsys (5). -.TP -c_count -The count of characters in -.I c_addr. -.TP -c_addr -An array of characters describing the blocks of the -dumped file. -A character is zero if the block associated with that character was not -present on the file system, otherwise the character is non-zero. -If the block was not present on the file system, no block was dumped; -the block will be restored as a hole in the file. -If there is not sufficient space in this record to describe -all of the blocks in a file, -.I TS_ADDR -records will be scattered through the file, each one -picking up where the last left off. -.PD -.PP -Each volume except the last ends with a tapemark (read as an end -of file). -The last volume ends with a -.I TS_END -record and then the tapemark. -.PP -The structure -.I idates -describes an entry of the file -.I /etc/ddate -where dump history is kept. -The fields of the structure are: -.TP \w'TS_INODE\ 'u -id_name -The dumped filesystem is -.RI `/dev/ id_nam'. -.PD 0 -.TP -id_incno -The level number of the dump tape; -see -.IR dump (1). -.TP -id_ddate -The date of the incremental dump in system format -see -.IR types (5). -.PD -.SH FILES -/etc/ddate -.SH "SEE ALSO" -dump(1), dumpdir(1), restor(1), filsys(5), types(5) //GO.SYSIN DD dump.5 echo environ.5 sed 's/.//' >environ.5 <<'//GO.SYSIN DD environ.5' -.TH ENVIRON 5 -.SH NAME -environ \- user environment -.SH SYNOPSIS -.B extern char **environ; -.SH DESCRIPTION -An array of strings called the `environment' is -made available by -.IR exec (2) -when a process begins. -By convention these strings have the form -`name=value'. -The following names are used by various commands: -.TP -PATH -The sequence of directory prefixes that -.I sh, time, -.IR nice (1), -etc., -apply in searching for a file known by an incomplete path name. -The prefixes are separated by `:'. -.IR Login (1) -sets PATH=:/bin:/usr/bin. -.TP -HOME -A user's login directory, set by -.IR login (1) -from the password file -.IR passwd (5). -.TP -TERM -The kind of terminal for which output is to be prepared. -This information is used by commands, such as -.I nroff -or -.IR plot (1), -which may exploit special terminal capabilities. -See -.IR term (7) -for a list of terminal types. -.PP -Further names may be placed in the environment by -the -.I export -command and `name=value' arguments in -.IR sh (1), -or by -.IR exec (2). -It is unwise to conflict with -certain Shell variables that are frequently exported by -`.profile' files: -MAIL, PS1, PS2, IFS. -.SH SEE ALSO -exec(2), sh(1), term(7), login(1) //GO.SYSIN DD environ.5 echo filsys.5 sed 's/.//' >filsys.5 <<'//GO.SYSIN DD filsys.5' -.TH FILSYS 5 -.SH NAME -filsys, flblk, ino \- format of file system volume -.SH SYNOPSIS -.B #include -.br -.B #include -.br -.B #include -.br -.B #include -.SH DESCRIPTION -Every -file system storage volume -(e.g. RF disk, RK disk, RP disk, DECtape reel) -has a common format for certain vital information. -Every such volume is divided into a certain number -of 512-byte blocks. -Block 0 is unused and is available to contain -a bootstrap program, pack label, or other information. -.PP -Block 1 is the -.I "super block." -The layout of the super block as defined by the include file -.I -is: -.PP -.nf -.ta \w'struct 'u +\w'daddr_t 'u +\w's_inode[NICINOD]; 'u -.so /usr/include/sys/filsys.h -.fi -.PP -.I S_isize -is the address of the first block after the i-list, -which starts just after the super-block, in block 2. -Thus is i-list is -.IR s_isize \-2 -blocks long. -.I S_fsize -is the address of the first block not potentially -available for allocation -to a file. -These numbers are used by the system to -check for bad block addresses; -if an `impossible' block address is allocated from the free list -or is freed, -a diagnostic is written on the on-line console. -Moreover, the free array is cleared, so as to prevent further -allocation from a presumably corrupted free list. -.PP -The free list for each volume is maintained as -follows. -The -.I s_free -array contains, in -.I "s_free[1], ... , s_free[s_nfree\-1]," -up to NICFREE free block numbers. -NICFREE is a configuration constant. -.I S_free[0] -is the block address of the head -of a chain of blocks constituting the free list. -The layout of each block of the free chain as defined -in the include file -.I -is: -.PP -.nf -.so /usr/include/sys/fblk.h -.fi -.PP -The fields -.I df_nfree -and -.I df_free -in a free block are used exactly like -.I s_nfree -and -.I s_free -in the super block. -To allocate a block: -decrement -.I s_nfree, -and the new block number is -.I s_free[s_nfree]. -If the new block address is 0, -there are no blocks left, so give an error. -If -.I s_nfree -became 0, -read the new block into -.I s_nfree -and -.I s_free. -To free a block, check if -.I s_nfree -is NICFREE; if so, -copy -.I s_nfree -and the -.I s_free -array into it, -write it out, and set -.I s_nfree -to 0. -In any event set -.I s_free[s_nfree] -to the freed block's address and -increment -.I s_nfree. -.PP -.I S_ninode -is the number of free i-numbers in the -.I s_inode -array. -To allocate an i-node: -if -.I s_ninode -is greater than 0, -decrement it and return -.I s_inode[s_ninode]. -If it was 0, read the i-list -and place the numbers of all free inodes -(up to NICINOD) into the -.I s_inode -array, -then try again. -To free an i-node, -provided -.I s_ninode -is less than NICINODE, -place its number into -.I s_inode[s_ninode] -and increment -.I s_ninode. -If -.I s_ninode -is already NICINODE, don't bother to enter the freed i-node into any table. -This list of i-nodes is only to speed -up the allocation process; the information -as to whether the inode is really free -or not is maintained in the inode itself. -.PP -.I S_flock -and -.I s_ilock -are flags maintained in the core -copy of the file system -while it is mounted -and their values on disk are immaterial. -The value of -.I s_fmod -on disk is likewise immaterial; -it is used as a flag to indicate that the super-block has -changed and should be copied to -the disk during the next periodic update of file -system information. -.I S_ronly -is a write-protection indicator; its disk value is also immaterial. -.PP -.I S_time -is the last time the super-block of the file system was changed. -During a reboot, -.I s_time -of the super-block for the root file system -is used to set the system's idea of the time. -.PP -The fields -.I s_tfree, s_tinode, s_fname -and -.I s_fpack -are not currently maintained. -.PP -I-numbers begin at 1, and the storage for i-nodes -begins in block 2. -.tr | -I-nodes are 64 bytes long, so 8 of them fit into a block. -I-node 2 is reserved for the root directory of the file -system, but no other i-number has a built-in -meaning. -Each i-node represents one file. -The format of an i-node as given in the include file -.I -is: -.PP -.nf -.ta \w'#define 'u +\w'time_t 'u +\w'di_addr[40]; 'u -.so /usr/include/sys/ino.h -.fi -.PP -.I Di_mode -tells the kind of file; it -is encoded identically to the -.I st_mode field of -.IR stat (2). -.I Di_nlink -is the number of directory entries -(links) that refer to this i-node. -.I Di_uid -and -.I di_gid -are the owner's user and group IDs. -.I Size -is the number of bytes in the file. -.I Di_atime -and -.I di_mtime -are the times of last access and modification -of the file contents (read, write or create) -(see -.IR times (2)); -.I Di_ctime -records the time of last modification -to the inode or to the file, and is used -to determine whether it should be dumped. -.PP -Special files are recognized by their modes -and not by i-number. -A block-type special file is one which -can potentially be mounted as a file system; -a character-type special file cannot, though it is -not necessarily character-oriented. -For special files, the -.I di_addr -field is occupied by the device code -(see -.IR types (5)). -The device codes -of block and character special files overlap. -.PP -Disk addresses of plain files and directories -are kept in the array -.I di_addr -packed into 3 bytes each. -The first 10 addresses specify device blocks directly. -The last 3 addresses are singly, doubly, and triply -indirect and point to blocks of 128 block pointers. -Pointers in indirect blocks have the type -.I daddr_t -(see -.IR types (5)). -.PP -For block -.I b -in a file to exist, -it -is not necessary that all blocks less than -.I b -exist. -A zero block number either in the address words of -the i-node or in an indirect block indicates that the -corresponding block has never been allocated. -Such a missing block reads as if it contained all zero words. -.SH "SEE ALSO" -icheck(1), dcheck(1), dir(5), mount(1), stat(2), types(5) //GO.SYSIN DD filsys.5 echo group.5 sed 's/.//' >group.5 <<'//GO.SYSIN DD group.5' -.TH GROUP 5 -.SH NAME -group \- group file -.SH DESCRIPTION -.I Group -contains for each group the -following information: -.HP 10 -group name -.br -.ns -.HP 10 -encrypted password -.br -.ns -.HP 10 -numerical group ID -.br -.ns -.HP 10 -a comma separated list of all users allowed in the group -.PP -This is an ASCII file. -The fields are separated -by colons; -Each group is separated from the next by a new-line. -If the password field is null, no password is demanded. -.PP -This file resides in directory /etc. -Because of the encrypted -passwords, it can and does have general read -permission and can be used, for example, -to map numerical group ID's to names. -.SH FILES -/etc/group -.SH "SEE ALSO" -newgrp(1), crypt(3), passwd(1), passwd(5) //GO.SYSIN DD group.5 echo mpxio.5 sed 's/.//' >mpxio.5 <<'//GO.SYSIN DD mpxio.5' -.TH MPXIO 5 -.SH NAME -mpxio \- multiplexed i/o -.SH SYNOPSIS -.B #include -.PP -.B #include -.SH DESCRIPTION -Data transfers on -mpx files -(see -.IR mpx (2)) -are multiplexed by -imposing -a record structure on the io stream. -Each record represents data -from/to -a particular channel or -a control or status message associated with a particular channel. -.PP -The prototypical data record read from an mpx file is as follows -.PP -.in +.5i -.nf -struct input_record { - short index; - short count; - short ccount; - char data[]; -}; -.PP -.fi -where -.I index -identifies the channel, -and -.I count -specifies the number of characters in -.I data. -If -.I count -is zero, -.I ccount -gives the size of -.I data, -and the record is a control or status message. -Although -.I count -or -.I ccount -might be odd, -the operating system aligns records -on short (i.e. 16\-bit) boundaries -by skipping bytes when necessary. -.PP -Data written to an mpx file must be formatted as an array -of record structures defined as follows -.PP -.in +.5i -.nf -struct output_record { - short index; - short count; - short ccount; - char *data; -}; -.fi -.PP -where the data portion of the record is referred -to indirectly and the other cells have the same interpretation -as in -.I input_record. -.PP -The -control messages listed below may be read from -a multiplexed file descriptor. -They are presented as two 16-bit integers: -the first number is the message code -(defined in -.IR ), -the second is an optional parameter meaningful -only with M_WATCH and M_BLK. -.PP -.in +1i -.ti -.5i -M_WATCH \- a process `wants to attach' on this channel. -The second parameter is the 16-bit -user-id of the process that executed the open. -.br -.ti -.5i -M_CLOSE \- the channel is closed. -This message is generated when the last -file descriptor referencing -a channel is closed. -The -.I detach -command -(see -.IR mpx (2) -should be used in response to this message. -.br -.ti -.5i -M_EOT \- indicates logical end of file on a channel. -If the channel is joined to a typewriter, -EOT (control-d) -will cause the M_EOT message -under the conditions specified in -.IR tty (4) -for end of file. -If the channel is attached to a process, -M_EOT will be generated whenever the process -writes zero bytes on the channel. -.br -.ti -.5i -M_BLK \- if non-blocking mode has been enabled on an -mpx file descriptor -.I xd -by executing -.IR "ioctl(xd, MXNBLK, 0)" , -write operations on the file are truncated in the kernel -when internal queues become full. -This is done on a per-channel basis: -the parameter -is a count of the number of characters -not transferred to the channel on which -M_BLK is received. -.br -.ti -.5i -M_UBLK \- is generated for a channel -after M_BLK when the internal queues have -drained below a threshold. -.in -1i -.PP -Two other messages may be generated by the kernel. -As with other messages, the first -16-bit quantity is the message code. -.PP -.in +1i -.ti -.5i -M_OPEN \- is generated in conjunction with -`listener' mode (see -.IR mpx (2)). -The uid of the calling process follows the message code -as with M_WATCH. -This is followed by a null-terminated string -which is the name of the file being opened. -.br -.ti -.5i -M_IOCTL \- is generated for a channel connected -to a process -when that process executes the -.I "ioctl(fd, cmd, &vec)" -call on the channel file descriptor. -The M_IOCTL code is followed by -the -.I cmd -argument given to -.I ioctl -followed by -the contents of the structure -.I vec. -It is assumed, -not needing a better compromise at this time, -that the length of -.I vec -is determined by -.I "sizeof (struct sgttyb)" -as declared in -.IR . -.in -1i -.PP -Two control messages are understood by the operating system. -M_EOT may be sent through an mpx file to a channel. -It is equivalent to propagating a zero-length record -through the channel; -i.e. the channel is allowed to drain and the process or -device at the other end receives a zero-length -transfer before data starts flowing through the channel again. -M_IOCTL can also be sent through a channel. -The format is identical to that described above. //GO.SYSIN DD mpxio.5 echo mtab.5 sed 's/.//' >mtab.5 <<'//GO.SYSIN DD mtab.5' -.TH MTAB 5 -.SH NAME -mtab \- mounted file system table -.SH DESCRIPTION -.I Mtab -resides in directory -.I /etc -and contains a table of devices mounted by the -.I mount -command. -.I Umount -removes entries. -.PP -Each entry is 64 bytes long; -the first 32 are the null-padded name of the -place where the special file is mounted; -the second 32 are the null-padded name of the special -file. -The special file has all its directories -stripped away; -that is, everything through the last `/' is thrown -away. -.PP -This table is present only so people can look at it. -It does not matter to -.I mount -if there are duplicated entries nor -to -.I umount -if a name cannot be found. -.SH FILES -/etc/mtab -.SH "SEE ALSO" -mount(1) //GO.SYSIN DD mtab.5 echo passwd.5 sed 's/.//' >passwd.5 <<'//GO.SYSIN DD passwd.5' -.TH PASSWD 5 -.SH NAME -passwd \- password file -.SH DESCRIPTION -.I Passwd -contains for each user the -following information: -.HP 10 -name (login name, contains no upper case) -.br -.ns -.HP 10 -encrypted password -.br -.ns -.HP 10 -numerical user ID -.br -.ns -.HP 10 -numerical group ID -.br -.ns -.HP 10 -GCOS job number, box number, optional GCOS user-id -.br -.ns -.HP 10 -initial working directory -.br -.ns -.HP 10 -program to use as Shell -.PP -This is an ASCII file. Each field within each user's entry -is separated from the next by a colon. -The GCOS field is used only when communicating with that -system, and in other installations can contain -any desired information. -Each user is separated from the next by a new-line. -If the password field is null, no password is demanded; -if the Shell field is null, the Shell itself -is used. -.PP -This file resides in directory /etc. -Because of the encrypted -passwords, it can and does have general read -permission and can be used, for example, -to map numerical user ID's to names. -.SH FILES -/etc/passwd -.SH "SEE ALSO" -getpwent(3), login(1), crypt(3), passwd(1), group(5) //GO.SYSIN DD passwd.5 echo plot.5 sed 's/.//' >plot.5 <<'//GO.SYSIN DD plot.5' -.TH PLOT 5 -.SH NAME -plot \- graphics interface -.SH DESCRIPTION -Files of this format are produced by routines -described in -.IR plot (3), -and are interpreted for various devices -by commands described in -.IR plot (1). -A graphics file is a stream of plotting instructions. -Each instruction consists of an ASCII letter -usually followed by bytes of binary information. -The instructions are executed in order. -A point is designated by -four bytes representing -the -x and y -values; -each value -is a signed integer. -The last designated point in an -.B "l, m, n," -or -.B p -instruction becomes the `current point' -for the next instruction. -.PP -Each of the following descriptions begins with the name -of the corresponding routine in -.IR plot (3). -.TP 3 -.B m -move: The next four bytes give a new current point. -.TP 3 -.B n -cont: Draw a line from the current point to -the point given by the next four bytes. -See -.IR plot (1). -.TP 3 -.B p -point: Plot the point given by the next four bytes. -.TP 3 -.B l -line: Draw a line from the point given by the next -four bytes to the point given by the following four bytes. -.TP 3 -.B t -label: Place the following ASCII string so that its -first character falls on the current point. -The string is terminated by a newline. -.TP 3 -.B a -arc: -The first four bytes give the center, the next four give the -starting point, -and the last four give the end point of a circular arc. -The least significant coordinate of the end point is -used only to determine the quadrant. -The arc is drawn counter-clockwise. -.TP 3 -.B c -circle: -The first four bytes give the center of the circle, -the next two the radius. -.TP 3 -.B e -erase: Start another frame of output. -.TP 3 -.B f -linemod: Take the following string, up to a newline, -as the style for drawing further lines. -The styles are -`dotted,' -`solid,' `longdashed,' `shortdashed,' and `dotdashed.' -Effective only in -.I plot 4014 -and -.I plot ver. -.TP 3 -.B s -space: The next four bytes give -the lower left corner of the plotting area; -the following four give the upper right corner. -The plot will be magnified or reduced to fit -the device as closely as possible. -.IP -Space settings that exactly fill the plotting area -with unity scaling appear below for -devices supported by the filters of -.IR plot (1). -The upper limit is just outside the plotting area. -In every case the plotting area is taken to be square; -points outside may be displayable on -devices whose face isn't square. -.RS -.TP 10n -4014 -space(0, 0, 3120, 3120); -.br -.ns -.TP -ver -space(0, 0, 2048, 2048); -.br -.ns -.TP -300, 300s -space(0, 0, 4096, 4096); -.br -.ns -.TP -450 -space(0, 0, 4096, 4096); -.RE -.SH "SEE ALSO" -plot(1), plot(3), graph(1) //GO.SYSIN DD plot.5 echo tp.5 sed 's/.//' >tp.5 <<'//GO.SYSIN DD tp.5' -.TH TP 5 -.SH NAME -tp \- DEC/mag tape formats -.SH DESCRIPTION -The -command -.I tp -dumps files to and extracts files from -DECtape and magtape. -The formats of these tapes are the same except -that magtapes have larger directories. -.PP -Block zero contains a -copy of a stand-alone bootstrap program. -See -.IR bproc (8). -.PP -Blocks 1 through 24 -for DECtape (1 through 62 for magtape) -contain a directory of the tape. -There are 192 (resp. 496) entries in the directory; -8 entries per block; -64 bytes per entry. -Each entry has the following format: -.nf -.IP "" -struct { - char pathname[32]; - int mode; - char uid; - char gid; - char unused1; - char size[3]; - long modtime; - int tapeaddr; - char unused2[16]; - int checksum; -}; -.fi -.PP -The path name entry is the path name of the -file when put on the tape. -If the pathname starts with a zero word, -the entry is empty. -It is at most 32 bytes long and ends in a null byte. -Mode, uid, gid, size and time modified -are the same as described under i-nodes -(see file system -.IR filsys (5)). -The tape address is the tape block number of the start of -the contents of the file. -Every file -starts on a block boundary. -The file occupies (size+511)/512 blocks -of continuous tape. -The checksum entry has a value such that -the sum of the 32 words of the directory entry is zero. -.PP -Blocks above 25 (resp. 63) are available for file storage. -.PP -A fake entry -has a size of zero. -.SH "SEE ALSO" -filsys(5), tp(1) -.SH BUGS -The -.I pathname, uid, gid, -and -.I size -fields are too small. //GO.SYSIN DD tp.5 echo ttys.5 sed 's/.//' >ttys.5 <<'//GO.SYSIN DD ttys.5' -.TH TTYS 5 -.SH NAME -ttys \- terminal initialization data -.SH DESCRIPTION -The -.I ttys -file is read by the -.I init -program and specifies -which terminal special files are to have -a process created for them which will allow people to -log in. -It contains one line per special file. -.PP -The first character of a line is either `0' or `1'; -the former causes the line to be ignored, -the latter causes it to be effective. -The second character is used as an argument to -.IR getty (8), -which performs such tasks as baud-rate recognition, -reading the login name, -and calling -.I login. -For normal lines, -the character is `0'; -other characters can be used, for example, with hard-wired terminals -where speed recognition is unnecessary -or which have special characteristics. -.RI ( Getty -will have to be fixed in such cases.) -The remainder of the line is the terminal's entry -in the device directory, /dev. -.SH FILES -/etc/ttys -.SH "SEE ALSO" -init(8), getty(8), login(1) //GO.SYSIN DD ttys.5 echo types.5 sed 's/.//' >types.5 <<'//GO.SYSIN DD types.5' -.TH TYPES 5 -.SH NAME -types \- primitive system data types -.SH SYNOPSIS -.B #include -.SH DESCRIPTION -The data types defined in the include file -are used in UNIX system code; -some data of these types are accessible to user code: -.PP -.nf -.so /usr/include/sys/types.h -.fi -.PP -The form -.I daddr_t -is used for disk addresses except in an -i-node on disk, see -.IR filsys (5). -Times are encoded in seconds since 00:00:00 GMT, January 1, 1970. -The major and minor parts of a device code -specify kind and unit number of a device -and are installation-dependent. -Offsets are measured in bytes from the beginning of a file. -The -.I label_t -variables are used to save the processor state -while another process is running. -.SH SEE ALSO -filsys(5), time(2), lseek(2), adb(1) //GO.SYSIN DD types.5 echo utmp.5 sed 's/.//' >utmp.5 <<'//GO.SYSIN DD utmp.5' -.TH UTMP 5 -.SH NAME -utmp, wtmp \- login records -.SH SYNOPSIS -.B #include -.SH DESCRIPTION -The -.I utmp -file allows one to discover information about who is currently -using UNIX. -The file is a sequence of entries with the following -structure declared in the include file: -.RS -.PP -.nf -.so /usr/include/utmp.h -.fi -.RE -.PP -This structure gives the name of the special file -associated with the user's terminal, the user's login name, -and the time of the login in the form of -.IR time (2). -.PP -The -.I wtmp -file records all logins and logouts. -Its format is exactly like -.I utmp -except that -a null user name indicates a logout on the associated -terminal. -Furthermore, the terminal name `~' indicates that the -system was rebooted at the indicated time; -the adjacent pair of entries with terminal names -`\^|\^' and `}' indicate the system-maintained time -just before and just after a -.I date -command has changed the system's idea of the time. -.PP -.I Wtmp -is maintained by -.IR login (1) -and -.IR init (8). -Neither of these programs creates the file, -so if it is removed record-keeping is turned off. -It is summarized by -.IR ac (1). -.SH FILES -/etc/utmp -.br -/usr/adm/wtmp -.SH "SEE ALSO" -login(1), init(8), who(1), ac(1) //GO.SYSIN DD utmp.5