MOUNT(3R) MOUNT(3R)
mount, sgi_mount - keep track of remotely mounted filesystems
#include <rpcsvc/mount.h>
Program number:
MOUNTPROG, MOUNTPROG_SGI
XDR routines:
bool_t xdr_exportbody(XDR *, struct exports *)
bool_t xdr_exports(XDR *, struct exports **);
bool_t xdr_fhandle(XDR *, fhandle_t *);
bool_t xdr_fhstatus(XDR *, struct fhstatus *);
bool_t xdr_groups(XDR *, struct groups *);
bool_t xdr_mountbody(XDR *, mountlist *);
bool_t xdr_mountlist(XDR *, mountlist **);
bool_t xdr_path(XDR *, char **);
/* sgi_mount only */
bool_t xdr_exportlist(XDR *, struct exportlist **);
bool_t xdr_exportentry(XDR *, struct exportentry **);
bool_t xdr_statvfs(XDR *, struct mntrpc_statvfs *);
Procedures:
MOUNTPROC_MNT
Argument of xdr_path, returns fhstatus.
Requires UNIX authentication.
MOUNTPROC_DUMP
No arguments, returns struct mountlist.
MOUNTPROC_UMNT
Argument of xdr_path, no results.
Requires UNIX authentication.
MOUNTPROC_UMNTALL
No arguments, no results.
Requires UNIX authentication.
Unmounts all remote mounts of sender.
MOUNTPROC_EXPORT
MOUNTPROC_EXPORTALL
No arguments, returns struct exports.
MOUNTPROC_EXPORTLIST (sgi_mount only)
No arguments, returns struct exportlist.
Page 1
MOUNT(3R) MOUNT(3R)
MOUNTPROC_STATVFS (sgi_mount only)
Argument of xdr_path, returns mntrpc_statvfs.
Versions:
MOUNTVERS_ORIG
Universal program version.
MOUNTVERS_SGI_ORIG
SGI enhanced version for complete exports inquiry and statvfs.
Structures:
struct mountlist { /* what is mounted */
char *ml_name;
char *ml_path;
struct mountlist *ml_nxt;
};
struct fhstatus {
int fhs_status;
fhandle_t fhs_fh;
};
/*
* List of exported directories.
* An export entry with ex_groups NULL indicates an entry
* which is exported to the world.
*/
struct exports {
dev_t ex_dev; /* dev of directory */
char *ex_name; /* name of directory */
struct groups *ex_groups; /* groups given access */
struct exports *ex_next;
};
struct groups {
char *g_name;
struct groups *g_next;
};
/* sgi_mount only */
struct exportlist {
struct exportentry {
char *ee_dirname;
char *ee_options;
} el_entry;
struct exportlist *el_next;
};
struct mntrpc_statvfs {
u_long f_bsize; /* fundamental file system block size */
u_long f_frsize; /* fragment size */
u_long f_blocks; /* total # of blocks of f_frsize on fs */
u_long f_bfree; /* total # of free blocks of f_frsize */
u_long f_bavail; /* # of free blocks avail to non-superuser */
u_long f_files; /* total # of file nodes (inodes) */
u_long f_ffree; /* total # of free file nodes */
u_long f_favail; /* # of free nodes avail to non-superuser */
Page 2
MOUNT(3R) MOUNT(3R)
u_long f_fsid; /* file system id (dev for now) */
char f_basetype[16]; /* target fs type name, null-terminated */
u_long f_flag; /* bit-mask of flags */
u_long f_namemax; /* maximum file name length */
char f_fstr[32]; /* filesystem-specific string */
};
To compile and link a program that calls these routines, follow the
procedures for section (3R) routines as described in intro (3).
exportfs(1M), mount(1M), showmount(1M), mountd(1M), exports(4).
PPPPaaaaggggeeee 3333 [ Back ]
|