1*44928Smckusick /* 2*44928Smckusick * $Id: amq_xdr.c,v 5.2 90/06/23 22:20:14 jsp Rel $ 3*44928Smckusick * 4*44928Smckusick * Copyright (c) 1990 Jan-Simon Pendry 5*44928Smckusick * Copyright (c) 1990 Imperial College of Science, Technology & Medicine 6*44928Smckusick * Copyright (c) 1990 The Regents of the University of California. 7*44928Smckusick * All rights reserved. 8*44928Smckusick * 9*44928Smckusick * This code is derived from software contributed to Berkeley by 10*44928Smckusick * Jan-Simon Pendry at Imperial College, London. 11*44928Smckusick * 12*44928Smckusick * %sccs.include.redist.c% 13*44928Smckusick * 14*44928Smckusick * @(#)amq_xdr.c 5.1 (Berkeley) 07/19/90 15*44928Smckusick */ 16*44928Smckusick 17*44928Smckusick #include "am.h" 18*44928Smckusick #include "amq.h" 19*44928Smckusick 20*44928Smckusick 21*44928Smckusick bool_t 22*44928Smckusick xdr_amq_string(xdrs, objp) 23*44928Smckusick XDR *xdrs; 24*44928Smckusick amq_string *objp; 25*44928Smckusick { 26*44928Smckusick if (!xdr_string(xdrs, objp, AMQ_STRLEN)) { 27*44928Smckusick return (FALSE); 28*44928Smckusick } 29*44928Smckusick return (TRUE); 30*44928Smckusick } 31*44928Smckusick 32*44928Smckusick 33*44928Smckusick 34*44928Smckusick 35*44928Smckusick bool_t 36*44928Smckusick xdr_time_type(xdrs, objp) 37*44928Smckusick XDR *xdrs; 38*44928Smckusick time_type *objp; 39*44928Smckusick { 40*44928Smckusick if (!xdr_long(xdrs, objp)) { 41*44928Smckusick return (FALSE); 42*44928Smckusick } 43*44928Smckusick return (TRUE); 44*44928Smckusick } 45*44928Smckusick 46*44928Smckusick 47*44928Smckusick 48*44928Smckusick 49*44928Smckusick bool_t 50*44928Smckusick xdr_amq_mount_tree(xdrs, objp) 51*44928Smckusick XDR *xdrs; 52*44928Smckusick amq_mount_tree *objp; 53*44928Smckusick { 54*44928Smckusick if (!xdr_amq_string(xdrs, &objp->mt_mountinfo)) { 55*44928Smckusick return (FALSE); 56*44928Smckusick } 57*44928Smckusick if (!xdr_amq_string(xdrs, &objp->mt_directory)) { 58*44928Smckusick return (FALSE); 59*44928Smckusick } 60*44928Smckusick if (!xdr_amq_string(xdrs, &objp->mt_mountpoint)) { 61*44928Smckusick return (FALSE); 62*44928Smckusick } 63*44928Smckusick if (!xdr_amq_string(xdrs, &objp->mt_type)) { 64*44928Smckusick return (FALSE); 65*44928Smckusick } 66*44928Smckusick if (!xdr_time_type(xdrs, &objp->mt_mounttime)) { 67*44928Smckusick return (FALSE); 68*44928Smckusick } 69*44928Smckusick if (!xdr_u_short(xdrs, &objp->mt_mountuid)) { 70*44928Smckusick return (FALSE); 71*44928Smckusick } 72*44928Smckusick if (!xdr_int(xdrs, &objp->mt_getattr)) { 73*44928Smckusick return (FALSE); 74*44928Smckusick } 75*44928Smckusick if (!xdr_int(xdrs, &objp->mt_lookup)) { 76*44928Smckusick return (FALSE); 77*44928Smckusick } 78*44928Smckusick if (!xdr_int(xdrs, &objp->mt_readdir)) { 79*44928Smckusick return (FALSE); 80*44928Smckusick } 81*44928Smckusick if (!xdr_int(xdrs, &objp->mt_readlink)) { 82*44928Smckusick return (FALSE); 83*44928Smckusick } 84*44928Smckusick if (!xdr_int(xdrs, &objp->mt_statfs)) { 85*44928Smckusick return (FALSE); 86*44928Smckusick } 87*44928Smckusick if (!xdr_pointer(xdrs, (char **)&objp->mt_next, sizeof(amq_mount_tree), xdr_amq_mount_tree)) { 88*44928Smckusick return (FALSE); 89*44928Smckusick } 90*44928Smckusick if (!xdr_pointer(xdrs, (char **)&objp->mt_child, sizeof(amq_mount_tree), xdr_amq_mount_tree)) { 91*44928Smckusick return (FALSE); 92*44928Smckusick } 93*44928Smckusick return (TRUE); 94*44928Smckusick } 95*44928Smckusick 96*44928Smckusick 97*44928Smckusick 98*44928Smckusick 99*44928Smckusick bool_t 100*44928Smckusick xdr_amq_mount_tree_p(xdrs, objp) 101*44928Smckusick XDR *xdrs; 102*44928Smckusick amq_mount_tree_p *objp; 103*44928Smckusick { 104*44928Smckusick if (!xdr_pointer(xdrs, (char **)objp, sizeof(amq_mount_tree), xdr_amq_mount_tree)) { 105*44928Smckusick return (FALSE); 106*44928Smckusick } 107*44928Smckusick return (TRUE); 108*44928Smckusick } 109*44928Smckusick 110*44928Smckusick 111*44928Smckusick 112*44928Smckusick bool_t 113*44928Smckusick xdr_amq_mount_info(xdrs, objp) 114*44928Smckusick XDR *xdrs; 115*44928Smckusick amq_mount_info *objp; 116*44928Smckusick { 117*44928Smckusick if (!xdr_amq_string(xdrs, &objp->mi_type)) { 118*44928Smckusick return (FALSE); 119*44928Smckusick } 120*44928Smckusick if (!xdr_amq_string(xdrs, &objp->mi_mountpt)) { 121*44928Smckusick return (FALSE); 122*44928Smckusick } 123*44928Smckusick if (!xdr_amq_string(xdrs, &objp->mi_mountinfo)) { 124*44928Smckusick return (FALSE); 125*44928Smckusick } 126*44928Smckusick if (!xdr_amq_string(xdrs, &objp->mi_fserver)) { 127*44928Smckusick return (FALSE); 128*44928Smckusick } 129*44928Smckusick if (!xdr_int(xdrs, &objp->mi_error)) { 130*44928Smckusick return (FALSE); 131*44928Smckusick } 132*44928Smckusick if (!xdr_int(xdrs, &objp->mi_refc)) { 133*44928Smckusick return (FALSE); 134*44928Smckusick } 135*44928Smckusick if (!xdr_int(xdrs, &objp->mi_up)) { 136*44928Smckusick return (FALSE); 137*44928Smckusick } 138*44928Smckusick return (TRUE); 139*44928Smckusick } 140*44928Smckusick 141*44928Smckusick 142*44928Smckusick 143*44928Smckusick bool_t 144*44928Smckusick xdr_amq_mount_info_list(xdrs, objp) 145*44928Smckusick XDR *xdrs; 146*44928Smckusick amq_mount_info_list *objp; 147*44928Smckusick { 148*44928Smckusick if (!xdr_array(xdrs, (char **)&objp->amq_mount_info_list_val, (u_int *)&objp->amq_mount_info_list_len, ~0, sizeof(amq_mount_info), xdr_amq_mount_info)) { 149*44928Smckusick return (FALSE); 150*44928Smckusick } 151*44928Smckusick return (TRUE); 152*44928Smckusick } 153*44928Smckusick 154*44928Smckusick 155*44928Smckusick 156*44928Smckusick bool_t 157*44928Smckusick xdr_amq_mount_tree_list(xdrs, objp) 158*44928Smckusick XDR *xdrs; 159*44928Smckusick amq_mount_tree_list *objp; 160*44928Smckusick { 161*44928Smckusick if (!xdr_array(xdrs, (char **)&objp->amq_mount_tree_list_val, (u_int *)&objp->amq_mount_tree_list_len, ~0, sizeof(amq_mount_tree_p), xdr_amq_mount_tree_p)) { 162*44928Smckusick return (FALSE); 163*44928Smckusick } 164*44928Smckusick return (TRUE); 165*44928Smckusick } 166*44928Smckusick 167*44928Smckusick 168*44928Smckusick 169*44928Smckusick 170*44928Smckusick bool_t 171*44928Smckusick xdr_amq_mount_stats(xdrs, objp) 172*44928Smckusick XDR *xdrs; 173*44928Smckusick amq_mount_stats *objp; 174*44928Smckusick { 175*44928Smckusick if (!xdr_int(xdrs, &objp->as_drops)) { 176*44928Smckusick return (FALSE); 177*44928Smckusick } 178*44928Smckusick if (!xdr_int(xdrs, &objp->as_stale)) { 179*44928Smckusick return (FALSE); 180*44928Smckusick } 181*44928Smckusick if (!xdr_int(xdrs, &objp->as_mok)) { 182*44928Smckusick return (FALSE); 183*44928Smckusick } 184*44928Smckusick if (!xdr_int(xdrs, &objp->as_merr)) { 185*44928Smckusick return (FALSE); 186*44928Smckusick } 187*44928Smckusick if (!xdr_int(xdrs, &objp->as_uerr)) { 188*44928Smckusick return (FALSE); 189*44928Smckusick } 190*44928Smckusick return (TRUE); 191*44928Smckusick } 192*44928Smckusick 193*44928Smckusick 194*44928Smckusick 195*44928Smckusick 196*44928Smckusick bool_t 197*44928Smckusick xdr_amq_opt(xdrs, objp) 198*44928Smckusick XDR *xdrs; 199*44928Smckusick amq_opt *objp; 200*44928Smckusick { 201*44928Smckusick if (!xdr_enum(xdrs, (enum_t *)objp)) { 202*44928Smckusick return (FALSE); 203*44928Smckusick } 204*44928Smckusick return (TRUE); 205*44928Smckusick } 206*44928Smckusick 207*44928Smckusick 208*44928Smckusick 209*44928Smckusick 210*44928Smckusick bool_t 211*44928Smckusick xdr_amq_setopt(xdrs, objp) 212*44928Smckusick XDR *xdrs; 213*44928Smckusick amq_setopt *objp; 214*44928Smckusick { 215*44928Smckusick if (!xdr_amq_opt(xdrs, &objp->as_opt)) { 216*44928Smckusick return (FALSE); 217*44928Smckusick } 218*44928Smckusick if (!xdr_amq_string(xdrs, &objp->as_str)) { 219*44928Smckusick return (FALSE); 220*44928Smckusick } 221*44928Smckusick return (TRUE); 222*44928Smckusick } 223*44928Smckusick 224*44928Smckusick 225