X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=src%2Fguestfs_protocol.c;h=69ea4ae938acf1c5242da7ed90e4e30e73318092;hp=050d9282db9b7b3143d653ab4d81dd82dc0b4c99;hb=62e41312acd0f7fe7f3622a73d6f6efc27b1b511;hpb=e492608f2f3809a824cb70ee03ff305964b69dd7 diff --git a/src/guestfs_protocol.c b/src/guestfs_protocol.c index 050d928..69ea4ae 100644 --- a/src/guestfs_protocol.c +++ b/src/guestfs_protocol.c @@ -238,6 +238,31 @@ xdr_guestfs_int_statvfs (XDR *xdrs, guestfs_int_statvfs *objp) } bool_t +xdr_guestfs_int_dirent (XDR *xdrs, guestfs_int_dirent *objp) +{ + register int32_t *buf; + + if (!xdr_quad_t (xdrs, &objp->ino)) + return FALSE; + if (!xdr_char (xdrs, &objp->ftyp)) + return FALSE; + if (!xdr_string (xdrs, &objp->name, ~0)) + return FALSE; + return TRUE; +} + +bool_t +xdr_guestfs_int_dirent_list (XDR *xdrs, guestfs_int_dirent_list *objp) +{ + register int32_t *buf; + + if (!xdr_array (xdrs, (char **)&objp->guestfs_int_dirent_list_val, (u_int *) &objp->guestfs_int_dirent_list_len, ~0, + sizeof (guestfs_int_dirent), (xdrproc_t) xdr_guestfs_int_dirent)) + return FALSE; + return TRUE; +} + +bool_t xdr_guestfs_mount_args (XDR *xdrs, guestfs_mount_args *objp) { register int32_t *buf; @@ -2171,6 +2196,290 @@ xdr_guestfs_du_ret (XDR *xdrs, guestfs_du_ret *objp) } bool_t +xdr_guestfs_initrd_list_args (XDR *xdrs, guestfs_initrd_list_args *objp) +{ + register int32_t *buf; + + if (!xdr_string (xdrs, &objp->path, ~0)) + return FALSE; + return TRUE; +} + +bool_t +xdr_guestfs_initrd_list_ret (XDR *xdrs, guestfs_initrd_list_ret *objp) +{ + register int32_t *buf; + + if (!xdr_array (xdrs, (char **)&objp->filenames.filenames_val, (u_int *) &objp->filenames.filenames_len, ~0, + sizeof (str), (xdrproc_t) xdr_str)) + return FALSE; + return TRUE; +} + +bool_t +xdr_guestfs_mount_loop_args (XDR *xdrs, guestfs_mount_loop_args *objp) +{ + register int32_t *buf; + + if (!xdr_string (xdrs, &objp->file, ~0)) + return FALSE; + if (!xdr_string (xdrs, &objp->mountpoint, ~0)) + return FALSE; + return TRUE; +} + +bool_t +xdr_guestfs_mkswap_args (XDR *xdrs, guestfs_mkswap_args *objp) +{ + register int32_t *buf; + + if (!xdr_string (xdrs, &objp->device, ~0)) + return FALSE; + return TRUE; +} + +bool_t +xdr_guestfs_mkswap_L_args (XDR *xdrs, guestfs_mkswap_L_args *objp) +{ + register int32_t *buf; + + if (!xdr_string (xdrs, &objp->label, ~0)) + return FALSE; + if (!xdr_string (xdrs, &objp->device, ~0)) + return FALSE; + return TRUE; +} + +bool_t +xdr_guestfs_mkswap_U_args (XDR *xdrs, guestfs_mkswap_U_args *objp) +{ + register int32_t *buf; + + if (!xdr_string (xdrs, &objp->uuid, ~0)) + return FALSE; + if (!xdr_string (xdrs, &objp->device, ~0)) + return FALSE; + return TRUE; +} + +bool_t +xdr_guestfs_mknod_args (XDR *xdrs, guestfs_mknod_args *objp) +{ + register int32_t *buf; + + + if (xdrs->x_op == XDR_ENCODE) { + buf = XDR_INLINE (xdrs, 3 * BYTES_PER_XDR_UNIT); + if (buf == NULL) { + if (!xdr_int (xdrs, &objp->mode)) + return FALSE; + if (!xdr_int (xdrs, &objp->devmajor)) + return FALSE; + if (!xdr_int (xdrs, &objp->devminor)) + return FALSE; + + } else { + IXDR_PUT_LONG(buf, objp->mode); + IXDR_PUT_LONG(buf, objp->devmajor); + IXDR_PUT_LONG(buf, objp->devminor); + } + if (!xdr_string (xdrs, &objp->path, ~0)) + return FALSE; + return TRUE; + } else if (xdrs->x_op == XDR_DECODE) { + buf = XDR_INLINE (xdrs, 3 * BYTES_PER_XDR_UNIT); + if (buf == NULL) { + if (!xdr_int (xdrs, &objp->mode)) + return FALSE; + if (!xdr_int (xdrs, &objp->devmajor)) + return FALSE; + if (!xdr_int (xdrs, &objp->devminor)) + return FALSE; + + } else { + objp->mode = IXDR_GET_LONG(buf); + objp->devmajor = IXDR_GET_LONG(buf); + objp->devminor = IXDR_GET_LONG(buf); + } + if (!xdr_string (xdrs, &objp->path, ~0)) + return FALSE; + return TRUE; + } + + if (!xdr_int (xdrs, &objp->mode)) + return FALSE; + if (!xdr_int (xdrs, &objp->devmajor)) + return FALSE; + if (!xdr_int (xdrs, &objp->devminor)) + return FALSE; + if (!xdr_string (xdrs, &objp->path, ~0)) + return FALSE; + return TRUE; +} + +bool_t +xdr_guestfs_mkfifo_args (XDR *xdrs, guestfs_mkfifo_args *objp) +{ + register int32_t *buf; + + if (!xdr_int (xdrs, &objp->mode)) + return FALSE; + if (!xdr_string (xdrs, &objp->path, ~0)) + return FALSE; + return TRUE; +} + +bool_t +xdr_guestfs_mknod_b_args (XDR *xdrs, guestfs_mknod_b_args *objp) +{ + register int32_t *buf; + + + if (xdrs->x_op == XDR_ENCODE) { + buf = XDR_INLINE (xdrs, 3 * BYTES_PER_XDR_UNIT); + if (buf == NULL) { + if (!xdr_int (xdrs, &objp->mode)) + return FALSE; + if (!xdr_int (xdrs, &objp->devmajor)) + return FALSE; + if (!xdr_int (xdrs, &objp->devminor)) + return FALSE; + + } else { + IXDR_PUT_LONG(buf, objp->mode); + IXDR_PUT_LONG(buf, objp->devmajor); + IXDR_PUT_LONG(buf, objp->devminor); + } + if (!xdr_string (xdrs, &objp->path, ~0)) + return FALSE; + return TRUE; + } else if (xdrs->x_op == XDR_DECODE) { + buf = XDR_INLINE (xdrs, 3 * BYTES_PER_XDR_UNIT); + if (buf == NULL) { + if (!xdr_int (xdrs, &objp->mode)) + return FALSE; + if (!xdr_int (xdrs, &objp->devmajor)) + return FALSE; + if (!xdr_int (xdrs, &objp->devminor)) + return FALSE; + + } else { + objp->mode = IXDR_GET_LONG(buf); + objp->devmajor = IXDR_GET_LONG(buf); + objp->devminor = IXDR_GET_LONG(buf); + } + if (!xdr_string (xdrs, &objp->path, ~0)) + return FALSE; + return TRUE; + } + + if (!xdr_int (xdrs, &objp->mode)) + return FALSE; + if (!xdr_int (xdrs, &objp->devmajor)) + return FALSE; + if (!xdr_int (xdrs, &objp->devminor)) + return FALSE; + if (!xdr_string (xdrs, &objp->path, ~0)) + return FALSE; + return TRUE; +} + +bool_t +xdr_guestfs_mknod_c_args (XDR *xdrs, guestfs_mknod_c_args *objp) +{ + register int32_t *buf; + + + if (xdrs->x_op == XDR_ENCODE) { + buf = XDR_INLINE (xdrs, 3 * BYTES_PER_XDR_UNIT); + if (buf == NULL) { + if (!xdr_int (xdrs, &objp->mode)) + return FALSE; + if (!xdr_int (xdrs, &objp->devmajor)) + return FALSE; + if (!xdr_int (xdrs, &objp->devminor)) + return FALSE; + + } else { + IXDR_PUT_LONG(buf, objp->mode); + IXDR_PUT_LONG(buf, objp->devmajor); + IXDR_PUT_LONG(buf, objp->devminor); + } + if (!xdr_string (xdrs, &objp->path, ~0)) + return FALSE; + return TRUE; + } else if (xdrs->x_op == XDR_DECODE) { + buf = XDR_INLINE (xdrs, 3 * BYTES_PER_XDR_UNIT); + if (buf == NULL) { + if (!xdr_int (xdrs, &objp->mode)) + return FALSE; + if (!xdr_int (xdrs, &objp->devmajor)) + return FALSE; + if (!xdr_int (xdrs, &objp->devminor)) + return FALSE; + + } else { + objp->mode = IXDR_GET_LONG(buf); + objp->devmajor = IXDR_GET_LONG(buf); + objp->devminor = IXDR_GET_LONG(buf); + } + if (!xdr_string (xdrs, &objp->path, ~0)) + return FALSE; + return TRUE; + } + + if (!xdr_int (xdrs, &objp->mode)) + return FALSE; + if (!xdr_int (xdrs, &objp->devmajor)) + return FALSE; + if (!xdr_int (xdrs, &objp->devminor)) + return FALSE; + if (!xdr_string (xdrs, &objp->path, ~0)) + return FALSE; + return TRUE; +} + +bool_t +xdr_guestfs_umask_args (XDR *xdrs, guestfs_umask_args *objp) +{ + register int32_t *buf; + + if (!xdr_int (xdrs, &objp->mask)) + return FALSE; + return TRUE; +} + +bool_t +xdr_guestfs_umask_ret (XDR *xdrs, guestfs_umask_ret *objp) +{ + register int32_t *buf; + + if (!xdr_int (xdrs, &objp->oldmask)) + return FALSE; + return TRUE; +} + +bool_t +xdr_guestfs_readdir_args (XDR *xdrs, guestfs_readdir_args *objp) +{ + register int32_t *buf; + + if (!xdr_string (xdrs, &objp->dir, ~0)) + return FALSE; + return TRUE; +} + +bool_t +xdr_guestfs_readdir_ret (XDR *xdrs, guestfs_readdir_ret *objp) +{ + register int32_t *buf; + + if (!xdr_guestfs_int_dirent_list (xdrs, &objp->entries)) + return FALSE; + return TRUE; +} + +bool_t xdr_guestfs_procedure (XDR *xdrs, guestfs_procedure *objp) { register int32_t *buf;