summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/libc/sys/gettimeofday.26
-rw-r--r--lib/libc/sys/mount.2145
-rw-r--r--lib/libc/sys/nfssvc.224
-rw-r--r--lib/libc/sys/read.24
-rw-r--r--lib/libc/sys/sigaction.26
-rw-r--r--lib/libc/sys/sigreturn.230
-rw-r--r--lib/libc/sys/write.24
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
OpenPOWER on IntegriCloud