proto man page on Plan9

Man page or keyword search:  
man Server   549 pages
apropos Keyword Search (all sections)
Output format
Plan9 logo
[printable version]

PROTO(2)							      PROTO(2)

       rdproto - parse and process a proto file listing

       #include <u.h>
       #include <libc.h>
       #include <disk.h>

       typedef void Protoenum(char *new, char *old, Dir *d, void *a)

       typedef void Protowarn(char *msg, void *a)

       int rdproto(char *proto, char *root, Protoenum *enm,
				Protowarn *warn, void *a)

       Rdproto	reads and interprets the named proto file relative to the root
       directory root.

       Each line of the proto file specifies a file to copy.  Blank lines  and
       lines beginning with # are ignored.  Indentation (usually tabs) is sig‐
       nificant, with each level of indentation corresponding to  a  level  in
       the file tree.  Fields within a line are separated by white space.  The
       first field is the last path element in the destination file tree.  The
       second  field  specifies the permissions.  The third field is the owner
       of the file, and the fourth is the group owning the  file.   The	 fifth
       field  is  the  name  of the file from which to copy; this file is read
       from the current name space, not the  source  file  tree.   All	fields
       except the first are optional.  Specifying - for permissions, owner, or
       group causes rdproto to fetch the corresponding	information  from  the
       file  rather  than override it.	(This is the default behavior when the
       fields are not present; explicitly specifying  -	 is  useful  when  one
       wishes to set, say, the file owner without setting the permissions.)

       Names  beginning	 with a are expanded as environment variables.	If the
       first file specified in a directory is all of the files in that	direc‐
       tory  are considered listed.  If the first file is all of the files are
       copied, and all subdirectories are recursively considered listed.   All
       files are considered relative to root.

       For  each  file	named by the proto, enm is called with new pointing at
       the name of the file (without the root prefix),	old  pointing  at  the
       name  of	 the  source file (with the root prefix, when applicable), and
       Dir at the desired directory information for the new  file.   Only  the
       name,  uid,  gid,  mode,	 mtime, and length fields are guaranteed to be
       valid.  The argument a is the same argument passed  to  rdproto;	 typi‐
       cally it points at some extra state used by the enumeration function.

       When files or directories do not exist or cannot be read by rdproto, it
       formats a warning message, calls warn,  and  continues  processing;  if
       warn is nil, rdproto prints the warning message to standard error.

       Rdproto	returns	 zero  if  proto  was processed, -1 if it could not be

	      directory of prototype files.

	      generic prototype file.


       mk9660(8), mkfs(8)

                             _         _         _ 
                            | |       | |       | |     
                            | |       | |       | |     
                         __ | | __ __ | | __ __ | | __  
                         \ \| |/ / \ \| |/ / \ \| |/ /  
                          \ \ / /   \ \ / /   \ \ / /   
                           \   /     \   /     \   /    
                            \_/       \_/       \_/ 
More information is available in HTML format for server Plan9

List of man pages available for Plan9

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
Vote for polarhome
Free Shell Accounts :: the biggest list on the net