diff options
-rw-r--r-- | lib/libc/sys/gettimeofday.2 | 6 | ||||
-rw-r--r-- | lib/libc/sys/mount.2 | 145 | ||||
-rw-r--r-- | lib/libc/sys/nfssvc.2 | 24 | ||||
-rw-r--r-- | lib/libc/sys/read.2 | 4 | ||||
-rw-r--r-- | lib/libc/sys/sigaction.2 | 6 | ||||
-rw-r--r-- | lib/libc/sys/sigreturn.2 | 30 | ||||
-rw-r--r-- | lib/libc/sys/write.2 | 4 |
7 files changed, 172 insertions, 47 deletions
diff --git a/lib/libc/sys/gettimeofday.2 b/lib/libc/sys/gettimeofday.2 index 138c221..bc3fa0b 100644 --- a/lib/libc/sys/gettimeofday.2 +++ b/lib/libc/sys/gettimeofday.2 @@ -74,13 +74,13 @@ as: .Pp .Bd -literal struct timeval { - long tv_sec; /* seconds since Jan. 1, 1970 */ + long tv_sec; /* seconds */ long tv_usec; /* and microseconds */ }; struct timezone { - int tz_minuteswest; /* of Greenwich */ - int tz_dsttime; /* type of dst correction to apply */ + int tz_minuteswest; /* minutes west of Greenwich */ + int tz_dsttime; /* type of dst correction */ }; .Ed .Pp diff --git a/lib/libc/sys/mount.2 b/lib/libc/sys/mount.2 index 82c7f22..6c56b77 100644 --- a/lib/libc/sys/mount.2 +++ b/lib/libc/sys/mount.2 @@ -125,44 +125,147 @@ specific arguments to mount. The currently supported types of filesystems and their type specific data are: .Pp +.Bd -literal -compact +/* + * Export arguments for local filesystem mount calls. + */ +struct export_args { + int ex_flags; /* export related flags */ + uid_t ex_root; /* mapping for root uid */ + struct ucred ex_anon; /* mapping for anonymous user */ + struct sockaddr *ex_addr; /* net address to which exported */ + int ex_addrlen; /* and the net address length */ + struct sockaddr *ex_mask; /* mask of valid bits in saddr */ + int ex_masklen; /* and the smask length */ +}; +.Ed +.Pp .Dv MOUNT_UFS -.Bd -literal -offset indent -compact +.Pp +.Bd -literal -compact +/* + * Arguments to mount UFS-bases filesystems + */ struct ufs_args { - char *fspec; /* Block special file to mount */ - int exflags; /* export related flags */ - uid_t exroot; /* mapping for root uid */ + char *fspec; /* Block special file to mount */ + struct export_args export; /* network export information */ }; .Ed .Pp .Dv MOUNT_NFS -.Bd -literal -offset indent -compact +.Pp +.Bd -literal -compact +#ifdef NFS +/* + * Arguments to mount NFS + */ struct nfs_args { struct sockaddr_in *addr; /* file server address */ - nfsv2fh_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 0.1 secs */ - int retrans; /* times to retry send */ - char *hostname; /* server's name */ + int addrlen; /* length of address */ + int sotype; /* Socket type */ + int proto; /* and Protocol */ + u_char *fh; /* File handle to be mounted */ + int fhsize; /* Size, in bytes, of fh */ + int flags; /* flags */ + int wsize; /* write size in bytes */ + int rsize; /* read size in bytes */ + int readdirsize; /* readdir size in bytes */ + int timeo; /* initial timeout .1 secs */ + int retrans; /* times to retry send */ + int maxgrouplist; /* Max. size of group list */ + int readahead; /* # of blocks to readahead */ + int leaseterm; /* Term (sec) of lease */ + int deadthreash; /* Retrans threshold */ + char *hostname; /* server's name */ }; + +/* + * NFS mount option flags + */ +#define NFSMNT_SOFT 0x00000001 /* soft mount (hard is default) */ +#define NFSMNT_WSIZE 0x00000002 /* set write size */ +#define NFSMNT_RSIZE 0x00000004 /* set read size */ +#define NFSMNT_TIMEO 0x00000008 /* set initial timeout */ +#define NFSMNT_RETRANS 0x00000010 /* set number of request retrys */ +#define NFSMNT_MAXGRPS 0x00000020 /* set maximum grouplist size */ +#define NFSMNT_INT 0x00000040 /* allow interrupts on hard mount */ +#define NFSMNT_NOCONN 0x00000080 /* Don't Connect the socket */ +#define NFSMNT_NQNFS 0x00000100 /* Use Nqnfs protocol */ +#define NFSMNT_NFSV3 0x00000200 /* Use NFS Version 3 protocol */ +#define NFSMNT_KERB 0x00000400 /* Use Kerberos authentication */ +#define NFSMNT_DUMBTIMR 0x00000800 /* Don't estimate rtt dynamically */ +#define NFSMNT_LEASETERM 0x00001000 /* set lease term (nqnfs) */ +#define NFSMNT_READAHEAD 0x00002000 /* set read ahead */ +#define NFSMNT_DEADTHRESH 0x00004000 /* set dead server retry thresh */ +#define NFSMNT_RESVPORT 0x00008000 /* Allocate a reserved port */ +#define NFSMNT_RDIRPLUS 0x00010000 /* Use Readdirplus for V3 */ +#define NFSMNT_READDIRSIZE 0x00020000 /* Set readdir size */ +#define NFSMNT_INTERNAL 0xfffc0000 /* Bits set internally */ +#define NFSMNT_HASWRITEVERF 0x00040000 /* Has write verifier for V3 */ +#define NFSMNT_GOTPATHCONF 0x00080000 /* Got the V3 pathconf info */ +#define NFSMNT_GOTFSINFO 0x00100000 /* Got the V3 fsinfo */ +#define NFSMNT_MNTD 0x00200000 /* Mnt server for mnt point */ +#define NFSMNT_DISMINPROG 0x00400000 /* Dismount in progress */ +#define NFSMNT_DISMNT 0x00800000 /* Dismounted */ +#define NFSMNT_SNDLOCK 0x01000000 /* Send socket lock */ +#define NFSMNT_WANTSND 0x02000000 /* Want above */ +#define NFSMNT_RCVLOCK 0x04000000 /* Rcv socket lock */ +#define NFSMNT_WANTRCV 0x08000000 /* Want above */ +#define NFSMNT_WAITAUTH 0x10000000 /* Wait for authentication */ +#define NFSMNT_HASAUTH 0x20000000 /* Has authenticator */ +#define NFSMNT_WANTAUTH 0x40000000 /* Wants an authenticator */ +#define NFSMNT_AUTHERR 0x80000000 /* Authentication error */ +#endif /* NFS */ .Ed .Pp .Dv MOUNT_MFS -.Bd -literal -offset indent -compact +.Pp +.Bd -literal -compact +/* + * Arguments to mount MFS + */ struct mfs_args { - char *name; /* name of backing process */ - caddr_t base; /* base address of the filesystem */ - u_long size; /* size of the filesystem */ + char *fspec; /* name to export for statfs */ + struct export_args export; /* if exported MFSes are supported */ + caddr_t base; /* base of file system in memory */ + u_long size; /* size of file system */ }; .Ed .Pp -.Dv MOUNT_UNION -.Bd -literal -offset indent -compact -struct union_args { - char *target; /* Target of loopback */ - int mntflags; /* Options on the mount */ +.Dv MOUNT_MSDOSFS +.Pp +.Bd -literal -compact +#ifdef MSDOSFS +/* + * Arguments to mount MSDOS filesystems. + */ +struct msdosfs_args { + char *fspec; /* blocks special holding the fs to mount */ + struct export_args export; /* network export information */ + uid_t uid; /* uid that owns msdosfs files */ + gid_t gid; /* gid that owns msdosfs files */ + mode_t mask; /* mask to be applied for msdosfs perms */ +}; +#endif +.Ed +.Pp +.Dv MOUNT_CD9660 +.Pp +.Bd -literal -compact +#ifdef CD9660 +/* + * Arguments to mount ISO 9660 filesystems. + */ +struct iso_args { + char *fspec; /* block special device to mount */ + struct export_args export; /* network export info */ + int flags; /* mounting flags, see below */ + }; +#define ISOFSMNT_NORRIP 0x00000001 /* disable Rock Ridge Ext.*/ +#define ISOFSMNT_GENS 0x00000002 /* enable generation numbers */ +#define ISOFSMNT_EXTATT 0x00000004 /* enable extended attributes */ +#endif /* CD9660 */ .Ed .Pp The diff --git a/lib/libc/sys/nfssvc.2 b/lib/libc/sys/nfssvc.2 index 4ba2861..c789aee 100644 --- a/lib/libc/sys/nfssvc.2 +++ b/lib/libc/sys/nfssvc.2 @@ -86,10 +86,13 @@ struct nfsd_cargs { uid_t ncd_authuid; /* Effective uid */ int ncd_authtype; /* Type of authenticator */ int ncd_authlen; /* Length of authenticator string */ - char *ncd_authstr; /* Authenticator string */ + u_char *ncd_authstr; /* Authenticator string */ + int ncd_verflen; /* and the verifier */ + u_char *ncd_verfstr; + NFSKERBKEY_T ncd_key; /* Session key */ }; .Ed -.sp +.Pp structure. The initial call has only the .Dv NFSSVC_MNTD @@ -135,10 +138,15 @@ struct nfsd_srvargs { u_long nsd_haddr; /* Ip address of client */ struct ucred nsd_cr; /* Cred. uid maps to */ int nsd_authlen; /* Length of auth string (ret) */ - char *nsd_authstr; /* Auth string (ret) */ + u_char *nsd_authstr; /* Auth string (ret) */ + int nsd_verflen; /* and the verfier */ + u_char *nsd_verfstr; + struct timeval nsd_timestamp; /* timestamp from verifier */ + u_long nsd_ttl; /* credential ttl (sec) */ + NFSKERBKEY_T nsd_key; /* Session key */ }; .Ed -.sp +.Pp to enter the kernel as an .Xr nfsd 8 daemon. @@ -186,12 +194,12 @@ with the flag and a pointer to a .Bd -literal struct nfsd_args { - int sock; /* Socket to serve */ - caddr_t name; /* Client address for connection based sockets */ - int namelen; /* Length of name */ + int sock; /* Socket to serve */ + caddr_t name; /* Client address for connection based sockets */ + int namelen;/* Length of name */ }; .Ed -.sp +.Pp to pass a server side .Tn NFS socket into the kernel for servicing by the diff --git a/lib/libc/sys/read.2 b/lib/libc/sys/read.2 index 2b4b4fa..723c1bd 100644 --- a/lib/libc/sys/read.2 +++ b/lib/libc/sys/read.2 @@ -70,8 +70,8 @@ structure is defined as: .Pp .Bd -literal -offset indent -compact struct iovec { - void *iov_base; - size_t iov_len; + char *iov_base; /* Base address. */ + size_t iov_len; /* Length. */ }; .Ed .Pp diff --git a/lib/libc/sys/sigaction.2 b/lib/libc/sys/sigaction.2 index 36d0ef0..3fd68ca 100644 --- a/lib/libc/sys/sigaction.2 +++ b/lib/libc/sys/sigaction.2 @@ -41,9 +41,9 @@ .Fd #include <signal.h> .Bd -literal struct sigaction { - void (*sa_handler)(); - sigset_t sa_mask; - int sa_flags; + void (*sa_handler)(); /* signal handler */ + sigset_t sa_mask; /* signal mask to apply */ + int sa_flags; /* see signal options below */ }; .Ed .Fn sigaction "int sig" "const struct sigaction *act" "struct sigaction *oact" diff --git a/lib/libc/sys/sigreturn.2 b/lib/libc/sys/sigreturn.2 index b116db3..0e848c3 100644 --- a/lib/libc/sys/sigreturn.2 +++ b/lib/libc/sys/sigreturn.2 @@ -40,14 +40,28 @@ .Sh SYNOPSIS .Fd #include <signal.h> .Bd -literal -struct sigcontext { - int sc_onstack; - int sc_mask; - int sc_sp; - int sc_fp; - int sc_ap; - int sc_pc; - int sc_ps; +struct sigcontext { + int sc_onstack; /* sigstack state to restore */ + int sc_mask; /* signal mask to restore */ + int sc_esp; /* machine state */ + int sc_ebp; + int sc_isp; + int sc_eip; + int sc_efl; + int sc_es; + int sc_ds; + int sc_cs; + int sc_ss; + int sc_edi; + int sc_esi; + int sc_ebx; + int sc_edx; + int sc_ecx; + int sc_eax; +# define sc_sp sc_esp +# define sc_fp sc_ebp +# define sc_pc sc_eip +# define sc_ps sc_efl }; .Ed .Ft int diff --git a/lib/libc/sys/write.2 b/lib/libc/sys/write.2 index 5680b6d..f8d8063 100644 --- a/lib/libc/sys/write.2 +++ b/lib/libc/sys/write.2 @@ -70,8 +70,8 @@ structure is defined as: .Pp .Bd -literal -offset indent -compact struct iovec { - void *iov_base; - size_t iov_len; + char *iov_base; /* Base address. */ + size_t iov_len; /* Length. */ }; .Ed .Pp |