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