/* IBM_PROLOG_BEGIN_TAG */ /* This is an automatically generated prolog. */ /* */ /* onc720 src/oncplus/usr/include/rpcsvc/mount.h 1.1.2.1 */ /* */ /* Licensed Materials - Property of IBM */ /* */ /* COPYRIGHT International Business Machines Corp. 1988,1993 */ /* All Rights Reserved */ /* */ /* US Government Users Restricted Rights - Use, duplication or */ /* disclosure restricted by GSA ADP Schedule Contract with IBM Corp. */ /* */ /* IBM_PROLOG_END_TAG */ /* * COMPONENT_NAME: onchdrs * * FUNCTIONS: none * * ORIGINS: 24,27 * * * (C) COPYRIGHT International Business Machines Corp. 1988,1993 * All Rights Reserved * Licensed Materials - Property of IBM * US Government Users Restricted Rights - Use, duplication or * disclosure restricted by GSA ADP Schedule Contract with IBM Corp. */ /* * Copyright (c) 1988,1990 by Sun Microsystems, Inc. */ #ifdef _ONCPLUS #include <oncplus/rpcsvc/mount.h> #else #if __cplusplus struct groups; #endif #include <netinet/in.h> /* for sockaddr_in */ #include <sys/types.h> #ifndef _H_rpcsvc_mount #define _H_rpcsvc_mount #define MOUNTPROG 100005 #define MOUNTPROC_MNT 1 #define MOUNTPROC_DUMP 2 #define MOUNTPROC_UMNT 3 #define MOUNTPROC_UMNTALL 4 #define MOUNTPROC_EXPORT 5 #define MOUNTPROC_EXPORTALL 6 #define MOUNTPROC_PATHCONF 7 #define MOUNTVERS 1 #define MOUNTVERS_POSIX 2 #define MOUNTVERS3 3 #ifndef svc_getcaller #define svc_getcaller(x) (&(x)->xp_raddr) #endif 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 allowed to mount this entry */ struct exports *ex_next; short ex_rootmap; /* id to map root requests to */ short ex_flags; /* bits to mask off file mode */ }; struct groups { char *g_name; struct groups *g_next; }; struct nfs_args { struct sockaddr_in addr; /* file server address */ fhandle_t fh; /* File handle to be mounted */ int flags; /* flags */ int wsize; /* write size in bytes */ int rsize; /* read size in bytes */ int timeo; /* initial timeout in .1 secs */ int retrans; /* times to retry send */ char *hostname; /* server's hostname */ int acregmin; /* attr cache file min secs */ int acregmax; /* attr cache file max secs */ int acdirmin; /* attr cache dir min secs */ int acdirmax; /* attr cache dir max secs */ char *netname; /* server's netname */ struct ppathcnf *pathconf; /* static pathconf kludge */ int biods; /* biods per mount */ }; /* * NFS mount option flags */ #define MNTOPT_ACDIRMAX "acdirmax" /* max ac timeout for dirs (sec) */ #define MNTOPT_ACDIRMIN "acdirmin" /* min ac timeout for dirs (sec) */ #define MNTOPT_ACREGMAX "acregmax" /* max ac timeout for reg files (sec) */ #define MNTOPT_ACREGMIN "acregmin" /* min ac timeout for reg files (sec) */ #define MNTOPT_ACTIMEO "actimeo" /* attr cache timeout (sec) */ #define MNTOPT_BG "bg" /* mount op in background if 1st attempt fails */ #define MNTOPT_FASTATTR "fastattr" /* no sync_vp in nfs3_getattr */ #define MNTOPT_FG "fg" /* mount op in fg if 1st attempt fails, default */ #define MNTOPT_GRPID "grpid" /* SysV-compatible group-id on create */ #define MNTOPT_HARD "hard" /* hard mount (default) */ #define MNTOPT_INTR "intr" /* allow interrupts on hard mount */ #define MNTOPT_NOAC "noac" /* don't cache file attributes */ #define MNTOPT_NOACL "noacl" /* don't read acl's from server - default */ #define MNTOPT_ACL "acl" /* read acl's from server means we load ksec */ #define MNTOPT_NOAUTO "noauto"/* hide entry from mount -a */ #define MNTOPT_NOCTO "nocto" /* no "close to open" attr consistency */ #define MNTOPT_NODEV "nodev" /*don't allow opening of devices accross mount*/ #define MNTOPT_NOINTR "nointr" /* don't allow interrupts on hard mounts */ #define MNTOPT_NOQUOTA "noquota" /* don't check quotas */ #define MNTOPT_NOSUID "nosuid" /* no set uid allowed */ #define MNTOPT_BSY "bsy" #define MNTOPT_PORT "port" /* server IP port number */ #define MNTOPT_POSIX "posix" /* ask for static pathconf values from mountd */ #define MNTOPT_QUOTA "quota" /* quotas */ #define MNTOPT_RETRANS "retrans" /* set number of request retries */ #define MNTOPT_RETRYS "retry" /* # of times mount is attempted, def=10000*/ #define MNTOPT_RMNT "remount" /* remount to rw if mode ro */ #define MNTOPT_RO "ro" /* read only */ #define MNTOPT_RSIZE "rsize" /* set read size (bytes) */ #define MNTOPT_RW "rw" /* read/write */ #define MNTOPT_SECURE "secure"/* use secure RPC for NFS */ #define MNTOPT_SHORTDEV "shortdev" /* server dev */ #define MNTOPT_SOFT "soft" /* soft mount */ #define MNTOPT_TIMEO "timeo" /* set initial timeout (1/10 sec) */ #define MNTOPT_WSIZE "wsize" /* set write size (bytes) */ #define MNTOPT_VERS "vers" /* protocol version number indicator */ #define MNTOPT_LLOCK "llock" /* Local locking (no lock manager) */ #define MNTOPT_BIODS "biods" /* max biods per mount */ #define MNTOPT_EXTATTR "extraattr" /* extended attribute usage */ #define MNTOPT_COMBEHND "combehind" /* extended attribute usage */ #define MNTOPT_NODIRCACHE "nodircache" /* No readdir cache */ #define NFSMNT_NOACL 0x0 /* turn off acl support (not supported) */ #define NFSMNT_SHORTDEV 0x0 /* server does not support 32-bit device no. (not supported) */ #define NFSMNT_SOFT 0x001 /* soft mount (hard is default) */ #define NFSMNT_WSIZE 0x002 /* set write size */ #define NFSMNT_RSIZE 0x004 /* set read size */ #define NFSMNT_TIMEO 0x008 /* set initial timeout */ #define NFSMNT_RETRANS 0x010 /* set number of request retrys */ #define NFSMNT_HOSTNAME 0x020 /* set hostname for error printf */ #define NFSMNT_INT 0x040 /* allow interrupts on hard mount */ #define NFSMNT_NOAC 0x080 /* don't cache attributes */ #define NFSMNT_ACREGMIN 0x0100 /* set min secs for file attr cache */ #define NFSMNT_ACREGMAX 0x0200 /* set max secs for file attr cache */ #define NFSMNT_ACDIRMIN 0x0400 /* set min secs for dir attr cache */ #define NFSMNT_ACDIRMAX 0x0800 /* set max secs for dir attr cache */ #define NFSMNT_SECURE 0x1000 /* secure mount */ #define NFSMNT_NOCTO 0x2000 /* no close-to-open consistency */ #define NFSMNT_KNCONF 0x4000 /* transport's knetconfig structure */ #define NFSMNT_GRPID 0x8000 /* System V-style gid inheritance */ #define NFSMNT_RPCTIMESYNC 0x10000 /* use RPC to do secure NFS time sync */ #define NFSMNT_KERBEROS 0x20000 /* use kerberos credentials */ #define NFSMNT_POSIX 0x40000 /* static pathconf kludge info */ #define NFSMNT_LLOCK 0x80000 /* Local locking (no lock manager) */ #define NFSMNT_ACL 0x100000 /* turn on acl support */ #define NFSMNT_BIODS 0x200000 /* number of biods per mount */ #define NFSMNT_EXTATTR 0x400000 /* extended attribute usage */ #define NFSMNT_FASTATTR 0x800000 /* no sync_vp in nfs3_getattr */ #define NFSMNT_COMBEHND 0x1000000 /* allow commit behind */ #define NFSMNT_NODIRCACHE 0x4000000 /* No readdir cache */ #define DEF_BIODS 6 #include <rpc/xdr.h> #if __cplusplus extern "C" { #endif bool_t xdr_fhstatus(XDR *, struct fhstatus *); #ifndef KERNEL bool_t xdr_path(XDR *, char **); bool_t xdr_fhandle(XDR *, fhandle_t *); bool_t xdr_mountlist(XDR *, struct mountlist **); bool_t xdr_exports(XDR *, struct exports **); bool_t xdr_pathcnf(XDR *, struct pathcnf *); #endif /* ndef KERNEL */ #if __cplusplus } #endif #endif #endif /*_H_rpcsvc_mount*/