BIND man page on Plan9

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

BIND(2)								       BIND(2)

NAME
       bind, mount, unmount - change name space

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

       int bind(char *name, char *old, int flag)

       int mount(int fd, int afd, char *old, int flag, char *aname)

       int unmount(char *name, char *old)

DESCRIPTION
       Bind  and  mount	 modify the file name space of the current process and
       other processes in its name space group (see fork(2)).  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 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 doesn't hide it, name will also still refer
       to its original file.  The evaluation of new 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 network con‐
       nection or pipe to a file server, while afd is  a  authentication  file
       descriptor  as  created by fauth(2) and subsequently authenticated.  If
       authentication is not required, afd should be -1.  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.

       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:

       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).

       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 an MBEFORE
	      bind or mount, the new directory will  be	 searched  first  when
	      evaluating file names in the union directory.

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

       The  flags  are	defined in <libc.h>.  In addition, there is an MCREATE
       flag that can be OR'd with any of the above.  When a create system call
       (see  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 MCREATE set.	The file is created in that directory;
       if that attempt fails, the create fails.

       Finally, the MCACHE flag, valid for mount only, turns  on  caching  for
       files  made  available  by  the	mount.	 By default, file contents are
       always retrieved from the server.  With caching enabled, the kernel may
       instead	use a local cache to satisfy read(5) requests for files acces‐
       sible through this mount point.	The currency of cached data for a file
       is verified at each open(5) of the file from this client machine.

       With mount, the file descriptor fd must be open for reading and writing
       and prepared to respond to 9P messages  (see  Section  5).   After  the
       mount,  the  file  tree	starting  at  old is served by a kernel mnt(3)
       device.	That device will turn operations in the tree into messages  on
       fd.   Aname  selects among different file trees on the server; the null
       string chooses the default tree.

       The file descriptor fd is automatically closed by  a  successful	 mount
       call.

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

SOURCE
       /sys/src/libc/9syscall

SEE ALSO
       bind(1),	 intro(2),  fcall(2), auth(2) (particularly amount), intro(5),
       mnt(3), srv(3)

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

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

								       BIND(2)
[top]
                             _         _         _ 
                            | |       | |       | |     
                            | |       | |       | |     
                         __ | | __ __ | | __ __ | | __  
                         \ \| |/ / \ \| |/ / \ \| |/ /  
                          \ \ / /   \ \ / /   \ \ / /   
                           \   /     \   /     \   /    
                            \_/       \_/       \_/ 
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]
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