]> git.decadent.org.uk Git - nfs-utils.git/blobdiff - support/export/mount_xdr.c
Imported Upstream version 1.2.8
[nfs-utils.git] / support / export / mount_xdr.c
diff --git a/support/export/mount_xdr.c b/support/export/mount_xdr.c
new file mode 100644 (file)
index 0000000..99f945c
--- /dev/null
@@ -0,0 +1,326 @@
+/*
+ * Please do not edit this file.
+ * It was generated using rpcgen.
+ */
+
+#include "mount.h"
+/*
+ * Copyright (c) 2009, Sun Microsystems, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * - Redistributions of source code must retain the above copyright notice,
+ *   this list of conditions and the following disclaimer.
+ * - Redistributions in binary form must reproduce the above copyright notice,
+ *   this list of conditions and the following disclaimer in the documentation
+ *   and/or other materials provided with the distribution.
+ * - Neither the name of Sun Microsystems, Inc. nor the names of its
+ *   contributors may be used to endorse or promote products derived
+ *   from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+/*
+ * Copyright (c) 1985, 1990 by Sun Microsystems, Inc.
+ */
+
+/* from @(#)mount.x    1.3 91/03/11 TIRPC 1.0 */
+
+bool_t
+xdr_fhandle (XDR *xdrs, fhandle objp)
+{
+       register int32_t *buf;
+
+        if (!xdr_opaque (xdrs, objp, FHSIZE))
+                return FALSE;
+       return TRUE;
+}
+
+bool_t
+xdr_fhstatus (XDR *xdrs, fhstatus *objp)
+{
+       register int32_t *buf;
+
+        if (!xdr_u_int (xdrs, &objp->fhs_status))
+                return FALSE;
+       switch (objp->fhs_status) {
+       case 0:
+                if (!xdr_fhandle (xdrs, objp->fhstatus_u.fhs_fhandle))
+                        return FALSE;
+               break;
+       default:
+               break;
+       }
+       return TRUE;
+}
+
+bool_t
+xdr_dirpath (XDR *xdrs, dirpath *objp)
+{
+       register int32_t *buf;
+
+        if (!xdr_string (xdrs, objp, MNTPATHLEN))
+                return FALSE;
+       return TRUE;
+}
+
+bool_t
+xdr_name (XDR *xdrs, name *objp)
+{
+       register int32_t *buf;
+
+        if (!xdr_string (xdrs, objp, MNTNAMLEN))
+                return FALSE;
+       return TRUE;
+}
+
+bool_t
+xdr_mountlist (XDR *xdrs, mountlist *objp)
+{
+       register int32_t *buf;
+
+        if (!xdr_pointer (xdrs, (char **)objp, sizeof (struct mountbody), (xdrproc_t) xdr_mountbody))
+                return FALSE;
+       return TRUE;
+}
+
+bool_t
+xdr_mountbody (XDR *xdrs, mountbody *objp)
+{
+       register int32_t *buf;
+
+        if (!xdr_name (xdrs, &objp->ml_hostname))
+                return FALSE;
+        if (!xdr_dirpath (xdrs, &objp->ml_directory))
+                return FALSE;
+        if (!xdr_mountlist (xdrs, &objp->ml_next))
+                return FALSE;
+       return TRUE;
+}
+
+bool_t
+xdr_groups (XDR *xdrs, groups *objp)
+{
+       register int32_t *buf;
+
+        if (!xdr_pointer (xdrs, (char **)objp, sizeof (struct groupnode), (xdrproc_t) xdr_groupnode))
+                return FALSE;
+       return TRUE;
+}
+
+bool_t
+xdr_groupnode (XDR *xdrs, groupnode *objp)
+{
+       register int32_t *buf;
+
+        if (!xdr_name (xdrs, &objp->gr_name))
+                return FALSE;
+        if (!xdr_groups (xdrs, &objp->gr_next))
+                return FALSE;
+       return TRUE;
+}
+
+bool_t
+xdr_exports (XDR *xdrs, exports *objp)
+{
+       register int32_t *buf;
+
+        if (!xdr_pointer (xdrs, (char **)objp, sizeof (struct exportnode), (xdrproc_t) xdr_exportnode))
+                return FALSE;
+       return TRUE;
+}
+
+bool_t
+xdr_exportnode (XDR *xdrs, exportnode *objp)
+{
+       register int32_t *buf;
+
+        if (!xdr_dirpath (xdrs, &objp->ex_dir))
+                return FALSE;
+        if (!xdr_groups (xdrs, &objp->ex_groups))
+                return FALSE;
+        if (!xdr_exports (xdrs, &objp->ex_next))
+                return FALSE;
+       return TRUE;
+}
+
+bool_t
+xdr_ppathcnf (XDR *xdrs, ppathcnf *objp)
+{
+       register int32_t *buf;
+
+       int i;
+
+       if (xdrs->x_op == XDR_ENCODE) {
+               buf = XDR_INLINE (xdrs, 6 * BYTES_PER_XDR_UNIT);
+               if (buf == NULL) {
+                        if (!xdr_int (xdrs, &objp->pc_link_max))
+                                return FALSE;
+                        if (!xdr_short (xdrs, &objp->pc_max_canon))
+                                return FALSE;
+                        if (!xdr_short (xdrs, &objp->pc_max_input))
+                                return FALSE;
+                        if (!xdr_short (xdrs, &objp->pc_name_max))
+                                return FALSE;
+                        if (!xdr_short (xdrs, &objp->pc_path_max))
+                                return FALSE;
+                        if (!xdr_short (xdrs, &objp->pc_pipe_buf))
+                                return FALSE;
+
+               } else {
+               IXDR_PUT_LONG(buf, objp->pc_link_max);
+               IXDR_PUT_SHORT(buf, objp->pc_max_canon);
+               IXDR_PUT_SHORT(buf, objp->pc_max_input);
+               IXDR_PUT_SHORT(buf, objp->pc_name_max);
+               IXDR_PUT_SHORT(buf, objp->pc_path_max);
+               IXDR_PUT_SHORT(buf, objp->pc_pipe_buf);
+               }
+                if (!xdr_u_char (xdrs, &objp->pc_vdisable))
+                        return FALSE;
+                if (!xdr_char (xdrs, &objp->pc_xxx))
+                        return FALSE;
+               buf = XDR_INLINE (xdrs, ( 2 ) * BYTES_PER_XDR_UNIT);
+               if (buf == NULL) {
+                        if (!xdr_vector (xdrs, (char *)objp->pc_mask, 2,
+                               sizeof (short), (xdrproc_t) xdr_short))
+                                return FALSE;
+               } else {
+                       {
+                               register short *genp;
+
+                               for (i = 0, genp = objp->pc_mask;
+                                       i < 2; ++i) {
+                                       IXDR_PUT_SHORT(buf, *genp++);
+                               }
+                       }
+               }
+               return TRUE;
+       } else if (xdrs->x_op == XDR_DECODE) {
+               buf = XDR_INLINE (xdrs, 6 * BYTES_PER_XDR_UNIT);
+               if (buf == NULL) {
+                        if (!xdr_int (xdrs, &objp->pc_link_max))
+                                return FALSE;
+                        if (!xdr_short (xdrs, &objp->pc_max_canon))
+                                return FALSE;
+                        if (!xdr_short (xdrs, &objp->pc_max_input))
+                                return FALSE;
+                        if (!xdr_short (xdrs, &objp->pc_name_max))
+                                return FALSE;
+                        if (!xdr_short (xdrs, &objp->pc_path_max))
+                                return FALSE;
+                        if (!xdr_short (xdrs, &objp->pc_pipe_buf))
+                                return FALSE;
+
+               } else {
+               objp->pc_link_max = IXDR_GET_LONG(buf);
+               objp->pc_max_canon = IXDR_GET_SHORT(buf);
+               objp->pc_max_input = IXDR_GET_SHORT(buf);
+               objp->pc_name_max = IXDR_GET_SHORT(buf);
+               objp->pc_path_max = IXDR_GET_SHORT(buf);
+               objp->pc_pipe_buf = IXDR_GET_SHORT(buf);
+               }
+                if (!xdr_u_char (xdrs, &objp->pc_vdisable))
+                        return FALSE;
+                if (!xdr_char (xdrs, &objp->pc_xxx))
+                        return FALSE;
+               buf = XDR_INLINE (xdrs, ( 2 ) * BYTES_PER_XDR_UNIT);
+               if (buf == NULL) {
+                        if (!xdr_vector (xdrs, (char *)objp->pc_mask, 2,
+                               sizeof (short), (xdrproc_t) xdr_short))
+                                return FALSE;
+               } else {
+                       {
+                               register short *genp;
+
+                               for (i = 0, genp = objp->pc_mask;
+                                       i < 2; ++i) {
+                                       *genp++ = IXDR_GET_SHORT(buf);
+                               }
+                       }
+               }
+        return TRUE;
+       }
+
+        if (!xdr_int (xdrs, &objp->pc_link_max))
+                return FALSE;
+        if (!xdr_short (xdrs, &objp->pc_max_canon))
+                return FALSE;
+        if (!xdr_short (xdrs, &objp->pc_max_input))
+                return FALSE;
+        if (!xdr_short (xdrs, &objp->pc_name_max))
+                return FALSE;
+        if (!xdr_short (xdrs, &objp->pc_path_max))
+                return FALSE;
+        if (!xdr_short (xdrs, &objp->pc_pipe_buf))
+                return FALSE;
+        if (!xdr_u_char (xdrs, &objp->pc_vdisable))
+                return FALSE;
+        if (!xdr_char (xdrs, &objp->pc_xxx))
+                return FALSE;
+        if (!xdr_vector (xdrs, (char *)objp->pc_mask, 2,
+               sizeof (short), (xdrproc_t) xdr_short))
+                return FALSE;
+       return TRUE;
+}
+
+bool_t
+xdr_fhandle3 (XDR *xdrs, fhandle3 *objp)
+{
+       register int32_t *buf;
+
+        if (!xdr_bytes (xdrs, (char **)&objp->fhandle3_val, (u_int *) &objp->fhandle3_len, FHSIZE3))
+                return FALSE;
+       return TRUE;
+}
+
+bool_t
+xdr_mountstat3 (XDR *xdrs, mountstat3 *objp)
+{
+       register int32_t *buf;
+
+        if (!xdr_enum (xdrs, (enum_t *) objp))
+                return FALSE;
+       return TRUE;
+}
+
+bool_t
+xdr_mountres3_ok (XDR *xdrs, mountres3_ok *objp)
+{
+       register int32_t *buf;
+
+        if (!xdr_fhandle3 (xdrs, &objp->fhandle))
+                return FALSE;
+        if (!xdr_array (xdrs, (char **)&objp->auth_flavors.auth_flavors_val, (u_int *) &objp->auth_flavors.auth_flavors_len, ~0,
+               sizeof (int), (xdrproc_t) xdr_int))
+                return FALSE;
+       return TRUE;
+}
+
+bool_t
+xdr_mountres3 (XDR *xdrs, mountres3 *objp)
+{
+       register int32_t *buf;
+
+        if (!xdr_mountstat3 (xdrs, &objp->fhs_status))
+                return FALSE;
+       switch (objp->fhs_status) {
+       case MNT_OK:
+                if (!xdr_mountres3_ok (xdrs, &objp->mountres3_u.mountinfo))
+                        return FALSE;
+               break;
+       default:
+               break;
+       }
+       return TRUE;
+}