sys-bind man page on Inferno

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

SYS-BIND(2)							   SYS-BIND(2)

NAME
       bind, mount, unmount - change file name space

SYNOPSIS
       include "sys.m";
       sys := load Sys Sys->PATH;

       bind:	 fn(name, old: string, flag: int): int;
       mount:	 fn(fd: ref FD; afd: ref FD, old: string, flag: int, aname: string):
		    int;
       unmount:	 fn(name, old: string): int;

DESCRIPTION
       Bind  and  mount	 modify the file name space of the current process and
       its name space group.  For both calls, old is the name of  an  existing
       file  or	 directory in the current name space where the modification is
       to be made.  The name old is evaluated  as  described  in  sys-intro(2)
       except that no translation of the final path element is done.

       For  bind,  name is the name of another (or possibly the same) existing
       file or directory in the current name space.  After a  successful  bind
       call,  the file name old is an alias for the object originally named by
       name; if the modification does not hide the original,  name  will  also
       still  refer  to	 its original file.  The evaluation of name happens at
       the time of the bind, not when the binding is later used.

       The fd argument to mount is a file descriptor of an open pipe  or  net‐
       work connection to a file server ready to receive 9P messages.  The old
       file must be a directory.  After a  successful  mount,  the  file  tree
       served (see below) by fd will be visible with its root directory having
       name old.  If the requested service requires authentication,  the  file
       descriptor afd must be open on an authentication file for the requested
       service; otherwise it should be nil.

       The flag controls details of the modification made to the  name	space.
       In the following, new refers to the file as defined by name or the root
       directory served by fd.	Either both old and new files must be directo‐
       ries, or both must not be directories.  Flag can be one of:

       Sys->MREPL
	      Replace  the old file by the new one.  Henceforth, an evaluation
	      of old will be translated to the new file.  If they are directo‐
	      ries  (for  mount,  this	condition  is true by definition), old
	      becomes a union directory consisting of one directory  (the  new
	      file).

       Sys->MBEFORE
	      Both  the	 old  and new files must be directories.  Add the con‐
	      stituent files of the new directory to the  union	 directory  at
	      old  so  its  contents  appear  first  in	 the  union.   After a
	      Sys->MBEFORE bind or mount, the new directory will  be  searched
	      first when evaluating file names in the union directory.

       Sys->MAFTER
	      Like  Sys->MBEFORE  but the new directory goes at the end of the
	      union.

       In addition, there is a Sys->MCREATE flag that can be OR'd with any  of
       the  above.  When a create call (see sys-open(2)) attempts to create in
       a union directory, and the file does not exist,	the  elements  of  the
       union  are  searched in order until one is found with Sys->MCREATE set.
       The file is created in that directory; if that attempt fails, the  cre‐
       ate fails.

       With mount, the file descriptor fd must be open for reading and writing
       and connected to a file server.	After the mount, the file tree	start‐
       ing  at old is served by a kernel mnt(3) device.	 That device will turn
       operations in the tree into  messages  to  the  server  on  fd.	 Aname
       selects	among  different  file trees on the server; the empty (or nil)
       string chooses the default tree.

       The effects of bind and mount can be undone by  unmount.	  If  name  is
       nil,  everything	 bound to or mounted upon old is unbound or unmounted.
       If name is not nil, it is evaluated as described above  for  bind,  and
       the  effect  of	binding	 or  mounting that particular result on old is
       undone.

SEE ALSO
       sys-intro(2)

DIAGNOSTICS
       The return value is a positive integer (a unique sequence  number)  for
       success, -1 for failure.

BUGS
       Mount  will  not	 return until it has successfully attached to the file
       server, so the thread doing a mount cannot be the one serving.

								   SYS-BIND(2)
[top]

List of man pages available for Inferno

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]
Tweet
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