home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / unix / volume21 / amd / part04 / amq_xdr.c next >
C/C++ Source or Header  |  1990-04-10  |  5KB  |  236 lines

  1. /*
  2.  * $Id: amq_xdr.c,v 5.1.1.1 90/01/11 17:04:23 jsp Exp Locker: jsp $
  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.  * Redistribution and use in source and binary forms are permitted
  13.  * provided that the above copyright notice and this paragraph are
  14.  * duplicated in all such forms and that any documentation,
  15.  * advertising materials, and other materials related to such
  16.  * distribution and use acknowledge that the software was developed
  17.  * by Imperial College of Science, Technology and Medicine, London, UK.
  18.  * The names of the College and University may not be used to endorse
  19.  * or promote products derived from this software without specific
  20.  * prior written permission.
  21.  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
  22.  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  23.  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  24.  *
  25.  *    %W% (Berkeley) %G%
  26.  */
  27.  
  28. #include "am.h"
  29. #include "amq.h"
  30.  
  31.  
  32. bool_t
  33. xdr_amq_string(xdrs, objp)
  34.     XDR *xdrs;
  35.     amq_string *objp;
  36. {
  37.     if (!xdr_string(xdrs, objp, AMQ_STRLEN)) {
  38.         return (FALSE);
  39.     }
  40.     return (TRUE);
  41. }
  42.  
  43.  
  44.  
  45.  
  46. bool_t
  47. xdr_time_type(xdrs, objp)
  48.     XDR *xdrs;
  49.     time_type *objp;
  50. {
  51.     if (!xdr_long(xdrs, objp)) {
  52.         return (FALSE);
  53.     }
  54.     return (TRUE);
  55. }
  56.  
  57.  
  58.  
  59.  
  60. bool_t
  61. xdr_amq_mount_tree(xdrs, objp)
  62.     XDR *xdrs;
  63.     amq_mount_tree *objp;
  64. {
  65.     if (!xdr_amq_string(xdrs, &objp->mt_mountinfo)) {
  66.         return (FALSE);
  67.     }
  68.     if (!xdr_amq_string(xdrs, &objp->mt_directory)) {
  69.         return (FALSE);
  70.     }
  71.     if (!xdr_amq_string(xdrs, &objp->mt_mountpoint)) {
  72.         return (FALSE);
  73.     }
  74.     if (!xdr_amq_string(xdrs, &objp->mt_type)) {
  75.         return (FALSE);
  76.     }
  77.     if (!xdr_time_type(xdrs, &objp->mt_mounttime)) {
  78.         return (FALSE);
  79.     }
  80.     if (!xdr_u_short(xdrs, &objp->mt_mountuid)) {
  81.         return (FALSE);
  82.     }
  83.     if (!xdr_int(xdrs, &objp->mt_getattr)) {
  84.         return (FALSE);
  85.     }
  86.     if (!xdr_int(xdrs, &objp->mt_lookup)) {
  87.         return (FALSE);
  88.     }
  89.     if (!xdr_int(xdrs, &objp->mt_readdir)) {
  90.         return (FALSE);
  91.     }
  92.     if (!xdr_int(xdrs, &objp->mt_readlink)) {
  93.         return (FALSE);
  94.     }
  95.     if (!xdr_int(xdrs, &objp->mt_statfs)) {
  96.         return (FALSE);
  97.     }
  98.     if (!xdr_pointer(xdrs, (char **)&objp->mt_next, sizeof(amq_mount_tree), xdr_amq_mount_tree)) {
  99.         return (FALSE);
  100.     }
  101.     if (!xdr_pointer(xdrs, (char **)&objp->mt_child, sizeof(amq_mount_tree), xdr_amq_mount_tree)) {
  102.         return (FALSE);
  103.     }
  104.     return (TRUE);
  105. }
  106.  
  107.  
  108.  
  109.  
  110. bool_t
  111. xdr_amq_mount_tree_p(xdrs, objp)
  112.     XDR *xdrs;
  113.     amq_mount_tree_p *objp;
  114. {
  115.     if (!xdr_pointer(xdrs, (char **)objp, sizeof(amq_mount_tree), xdr_amq_mount_tree)) {
  116.         return (FALSE);
  117.     }
  118.     return (TRUE);
  119. }
  120.  
  121.  
  122.  
  123. bool_t
  124. xdr_amq_mount_info(xdrs, objp)
  125.     XDR *xdrs;
  126.     amq_mount_info *objp;
  127. {
  128.     if (!xdr_amq_string(xdrs, &objp->mi_type)) {
  129.         return (FALSE);
  130.     }
  131.     if (!xdr_amq_string(xdrs, &objp->mi_mountpt)) {
  132.         return (FALSE);
  133.     }
  134.     if (!xdr_amq_string(xdrs, &objp->mi_mountinfo)) {
  135.         return (FALSE);
  136.     }
  137.     if (!xdr_amq_string(xdrs, &objp->mi_fserver)) {
  138.         return (FALSE);
  139.     }
  140.     if (!xdr_int(xdrs, &objp->mi_error)) {
  141.         return (FALSE);
  142.     }
  143.     if (!xdr_int(xdrs, &objp->mi_refc)) {
  144.         return (FALSE);
  145.     }
  146.     if (!xdr_int(xdrs, &objp->mi_up)) {
  147.         return (FALSE);
  148.     }
  149.     return (TRUE);
  150. }
  151.  
  152.  
  153.  
  154. bool_t
  155. xdr_amq_mount_info_list(xdrs, objp)
  156.     XDR *xdrs;
  157.     amq_mount_info_list *objp;
  158. {
  159.     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)) {
  160.         return (FALSE);
  161.     }
  162.     return (TRUE);
  163. }
  164.  
  165.  
  166.  
  167. bool_t
  168. xdr_amq_mount_tree_list(xdrs, objp)
  169.     XDR *xdrs;
  170.     amq_mount_tree_list *objp;
  171. {
  172.     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)) {
  173.         return (FALSE);
  174.     }
  175.     return (TRUE);
  176. }
  177.  
  178.  
  179.  
  180.  
  181. bool_t
  182. xdr_amq_mount_stats(xdrs, objp)
  183.     XDR *xdrs;
  184.     amq_mount_stats *objp;
  185. {
  186.     if (!xdr_int(xdrs, &objp->as_drops)) {
  187.         return (FALSE);
  188.     }
  189.     if (!xdr_int(xdrs, &objp->as_stale)) {
  190.         return (FALSE);
  191.     }
  192.     if (!xdr_int(xdrs, &objp->as_mok)) {
  193.         return (FALSE);
  194.     }
  195.     if (!xdr_int(xdrs, &objp->as_merr)) {
  196.         return (FALSE);
  197.     }
  198.     if (!xdr_int(xdrs, &objp->as_uerr)) {
  199.         return (FALSE);
  200.     }
  201.     return (TRUE);
  202. }
  203.  
  204.  
  205.  
  206.  
  207. bool_t
  208. xdr_amq_opt(xdrs, objp)
  209.     XDR *xdrs;
  210.     amq_opt *objp;
  211. {
  212.     if (!xdr_enum(xdrs, (enum_t *)objp)) {
  213.         return (FALSE);
  214.     }
  215.     return (TRUE);
  216. }
  217.  
  218.  
  219.  
  220.  
  221. bool_t
  222. xdr_amq_setopt(xdrs, objp)
  223.     XDR *xdrs;
  224.     amq_setopt *objp;
  225. {
  226.     if (!xdr_amq_opt(xdrs, &objp->as_opt)) {
  227.         return (FALSE);
  228.     }
  229.     if (!xdr_amq_string(xdrs, &objp->as_str)) {
  230.         return (FALSE);
  231.     }
  232.     return (TRUE);
  233. }
  234.  
  235.  
  236.