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