#include <stdio.h> #include <exportent.h> FILE *setexportent() struct exportent *getexportent(filep) FILE *filep; int addexportent(filep, dirname, options) FILE *filep; char *dirname; char *options; int remexportent(filep, dirname) FILE *filep; char *dirname; char *getexportopt(xent, opt) struct exportent *xent; char *opt; void endexportent(filep) FILE *filep;
These routines access the exported filesystem information in /etc/xtab.
setexportent() opens the export information file and returns a file pointer to use with getexportent, addexportent, remexportent, and endexportent. getexportent() reads the next line from filep and returns a pointer to an object with the following structure containing the broken-out fields of a line in the file, /etc/xtab The fields have meanings described in exports(5).
#define ACCESS_OPT ``access'' /* machines that can mount fs */ #define ROOT_OPT ``root'' /* machines with root access of fs */ #define RO_OPT ``ro'' /* export read-only */ #define RW_OPT ``rw'' /* export read-mostly */ #define ANON_OPT ``anon'' /* uid for anonymous requests */ struct exportent { char *xent_dirname; /* directory (or file) to export */ char *xent_options; /* options, as above */ };
addexportent() adds the exportent() to the end of the open file filep. It returns 0 if successful and -1 on failure. remexportent() removes the indicated entry from the list. It also returns 0 on success and -1 on failure. getexportopt() scans the xent_options field of the exportent() structure for a substring that matches opt. It returns the string value of opt, or NULL if the option is not found.
endexportent() closes the file.
NULL pointer (0) returned on EOF or error.
The returned exportent() structure points to static information that is overwritten in each call.