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