MOUNT: describe mount version 1
authorRonnie Sahlberg <ronniesahlberg@gmail.com>
Sat, 31 Dec 2011 23:37:54 +0000 (10:37 +1100)
committerRonnie Sahlberg <ronniesahlberg@gmail.com>
Sat, 31 Dec 2011 23:37:54 +0000 (10:37 +1100)
mount/mount.x

index 6c2f07138f63177410880dfc23d19a74a8707aca..10e6a1fdd94d775fa041f1f0752b888b48b8bc5f 100644 (file)
@@ -1,4 +1,4 @@
-/* copied from RFC1813 */
+/* copied from RFC1813 and RFC1094 */
 
 const MNTPATHLEN = 1024;  /* Maximum bytes in a path name */
 const MNTNAMLEN  = 255;   /* Maximum bytes in a name */
@@ -59,7 +59,43 @@ union mountres3 switch (mountstat3 fhs_status) {
                void;
 };
 
+
+enum mountstat1 {
+       MNT1_OK = 0,                 /* no error */
+       MNT1ERR_PERM = 1,            /* Not owner */
+       MNT1ERR_NOENT = 2,           /* No such file or directory */
+       MNT1ERR_IO = 5,              /* I/O error */
+       MNT1ERR_ACCES = 13,          /* Permission denied */
+       MNT1ERR_NOTDIR = 20,         /* Not a directory */
+       MNT1ERR_INVAL = 22,          /* Invalid argument */
+       MNT1ERR_NAMETOOLONG = 63,    /* Filename too long */
+       MNT1ERR_NOTSUPP = 10004,     /* Operation not supported */
+       MNT1ERR_SERVERFAULT = 10006  /* A failure on the server */
+};
+
+const FHSIZE = 32;
+typedef opaque fhandle1[FHSIZE];
+
+struct mountres1_ok {
+       fhandle1   fhandle;
+};
+
+union mountres1 switch (mountstat1 fhs_status) {
+       case MNT1_OK:
+               mountres1_ok  mountinfo;
+       default:
+               void;
+};
+
 program MOUNT_PROGRAM {
+       version MOUNT_V1 {
+       void      MOUNT1_NULL(void)    = 0;
+       mountres1 MOUNT1_MNT(dirpath)  = 1;
+       mountlist MOUNT1_DUMP(void)    = 2;
+       void      MOUNT1_UMNT(dirpath) = 3;
+       void      MOUNT1_UMNTALL(void) = 4;
+       exports   MOUNT1_EXPORT(void)  = 5;
+       } = 1;
        version MOUNT_V3 {
        void      MOUNT3_NULL(void)    = 0;
        mountres3 MOUNT3_MNT(dirpath)  = 1;