1 /* 2 * $Id: amq.h,v 5.2 90/06/23 22:20:13 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.h 5.1 (Berkeley) 07/19/90 15 */ 16 17 #define AMQ_STRLEN 1024 18 19 typedef char *amq_string; 20 bool_t xdr_amq_string(); 21 22 23 typedef long *time_type; 24 bool_t xdr_time_type(); 25 26 27 struct amq_mount_tree { 28 amq_string mt_mountinfo; 29 amq_string mt_directory; 30 amq_string mt_mountpoint; 31 amq_string mt_type; 32 time_type mt_mounttime; 33 u_short mt_mountuid; 34 int mt_getattr; 35 int mt_lookup; 36 int mt_readdir; 37 int mt_readlink; 38 int mt_statfs; 39 struct amq_mount_tree *mt_next; 40 struct amq_mount_tree *mt_child; 41 }; 42 typedef struct amq_mount_tree amq_mount_tree; 43 bool_t xdr_amq_mount_tree(); 44 45 46 typedef amq_mount_tree *amq_mount_tree_p; 47 bool_t xdr_amq_mount_tree_p(); 48 49 50 struct amq_mount_info { 51 amq_string mi_type; 52 amq_string mi_mountpt; 53 amq_string mi_mountinfo; 54 amq_string mi_fserver; 55 int mi_error; 56 int mi_refc; 57 int mi_up; 58 }; 59 typedef struct amq_mount_info amq_mount_info; 60 bool_t xdr_amq_mount_info(); 61 62 63 typedef struct { 64 u_int amq_mount_info_list_len; 65 amq_mount_info *amq_mount_info_list_val; 66 } amq_mount_info_list; 67 bool_t xdr_amq_mount_info_list(); 68 69 70 typedef struct { 71 u_int amq_mount_tree_list_len; 72 amq_mount_tree_p *amq_mount_tree_list_val; 73 } amq_mount_tree_list; 74 bool_t xdr_amq_mount_tree_list(); 75 76 77 struct amq_mount_stats { 78 int as_drops; 79 int as_stale; 80 int as_mok; 81 int as_merr; 82 int as_uerr; 83 }; 84 typedef struct amq_mount_stats amq_mount_stats; 85 bool_t xdr_amq_mount_stats(); 86 87 88 enum amq_opt { 89 AMOPT_DEBUG = 0, 90 AMOPT_LOGFILE = 1, 91 AMOPT_XLOG = 2, 92 AMOPT_FLUSHMAPC = 3 93 }; 94 typedef enum amq_opt amq_opt; 95 bool_t xdr_amq_opt(); 96 97 98 struct amq_setopt { 99 amq_opt as_opt; 100 amq_string as_str; 101 }; 102 typedef struct amq_setopt amq_setopt; 103 bool_t xdr_amq_setopt(); 104 105 106 #define AMQ_PROGRAM ((u_long)300019) 107 #define AMQ_VERSION ((u_long)1) 108 #define AMQPROC_NULL ((u_long)0) 109 extern voidp amqproc_null_1(); 110 #define AMQPROC_MNTTREE ((u_long)1) 111 extern amq_mount_tree_p *amqproc_mnttree_1(); 112 #define AMQPROC_UMNT ((u_long)2) 113 extern voidp amqproc_umnt_1(); 114 #define AMQPROC_STATS ((u_long)3) 115 extern amq_mount_stats *amqproc_stats_1(); 116 #define AMQPROC_EXPORT ((u_long)4) 117 extern amq_mount_tree_list *amqproc_export_1(); 118 #define AMQPROC_SETOPT ((u_long)5) 119 extern int *amqproc_setopt_1(); 120 #define AMQPROC_GETMNTFS ((u_long)6) 121 extern amq_mount_info_list *amqproc_getmntfs_1(); 122 123