File indexing completed on 2025-01-18 10:12:37
0001
0002
0003
0004
0005
0006 #ifndef _NLM_PROT_H_RPCGEN
0007 #define _NLM_PROT_H_RPCGEN
0008
0009 #include <rpc/rpc.h>
0010
0011
0012 #ifdef __cplusplus
0013 extern "C" {
0014 #endif
0015
0016 #define LM_MAXSTRLEN 1024
0017 #define MAXNAMELEN LM_MAXSTRLEN+1
0018
0019 enum nlm_stats {
0020 nlm_granted = 0,
0021 nlm_denied = 1,
0022 nlm_denied_nolocks = 2,
0023 nlm_blocked = 3,
0024 nlm_denied_grace_period = 4,
0025 };
0026 typedef enum nlm_stats nlm_stats;
0027
0028 struct nlm_holder {
0029 bool_t exclusive;
0030 int svid;
0031 netobj oh;
0032 u_int l_offset;
0033 u_int l_len;
0034 };
0035 typedef struct nlm_holder nlm_holder;
0036
0037 struct nlm_testrply {
0038 nlm_stats stat;
0039 union {
0040 struct nlm_holder holder;
0041 } nlm_testrply_u;
0042 };
0043 typedef struct nlm_testrply nlm_testrply;
0044
0045 struct nlm_stat {
0046 nlm_stats stat;
0047 };
0048 typedef struct nlm_stat nlm_stat;
0049
0050 struct nlm_res {
0051 netobj cookie;
0052 nlm_stat stat;
0053 };
0054 typedef struct nlm_res nlm_res;
0055
0056 struct nlm_testres {
0057 netobj cookie;
0058 nlm_testrply stat;
0059 };
0060 typedef struct nlm_testres nlm_testres;
0061
0062 struct nlm_lock {
0063 char *caller_name;
0064 netobj fh;
0065 netobj oh;
0066 int svid;
0067 u_int l_offset;
0068 u_int l_len;
0069 };
0070 typedef struct nlm_lock nlm_lock;
0071
0072 struct nlm_lockargs {
0073 netobj cookie;
0074 bool_t block;
0075 bool_t exclusive;
0076 struct nlm_lock alock;
0077 bool_t reclaim;
0078 int state;
0079 };
0080 typedef struct nlm_lockargs nlm_lockargs;
0081
0082 struct nlm_cancargs {
0083 netobj cookie;
0084 bool_t block;
0085 bool_t exclusive;
0086 struct nlm_lock alock;
0087 };
0088 typedef struct nlm_cancargs nlm_cancargs;
0089
0090 struct nlm_testargs {
0091 netobj cookie;
0092 bool_t exclusive;
0093 struct nlm_lock alock;
0094 };
0095 typedef struct nlm_testargs nlm_testargs;
0096
0097 struct nlm_unlockargs {
0098 netobj cookie;
0099 struct nlm_lock alock;
0100 };
0101 typedef struct nlm_unlockargs nlm_unlockargs;
0102
0103
0104
0105
0106
0107 enum fsh_mode {
0108 fsm_DN = 0,
0109 fsm_DR = 1,
0110 fsm_DW = 2,
0111 fsm_DRW = 3,
0112 };
0113 typedef enum fsh_mode fsh_mode;
0114
0115 enum fsh_access {
0116 fsa_NONE = 0,
0117 fsa_R = 1,
0118 fsa_W = 2,
0119 fsa_RW = 3,
0120 };
0121 typedef enum fsh_access fsh_access;
0122
0123 struct nlm_share {
0124 char *caller_name;
0125 netobj fh;
0126 netobj oh;
0127 fsh_mode mode;
0128 fsh_access access;
0129 };
0130 typedef struct nlm_share nlm_share;
0131
0132 struct nlm_shareargs {
0133 netobj cookie;
0134 nlm_share share;
0135 bool_t reclaim;
0136 };
0137 typedef struct nlm_shareargs nlm_shareargs;
0138
0139 struct nlm_shareres {
0140 netobj cookie;
0141 nlm_stats stat;
0142 int sequence;
0143 };
0144 typedef struct nlm_shareres nlm_shareres;
0145
0146 struct nlm_notify {
0147 char *name;
0148 long state;
0149 };
0150 typedef struct nlm_notify nlm_notify;
0151
0152 #define NLM_PROG 100021
0153 #define NLM_VERS 1
0154
0155 #if defined(__STDC__) || defined(__cplusplus)
0156 #define NLM_TEST 1
0157 extern nlm_testres * nlm_test_1(struct nlm_testargs *, CLIENT *);
0158 extern nlm_testres * nlm_test_1_svc(struct nlm_testargs *, struct svc_req *);
0159 #define NLM_LOCK 2
0160 extern nlm_res * nlm_lock_1(struct nlm_lockargs *, CLIENT *);
0161 extern nlm_res * nlm_lock_1_svc(struct nlm_lockargs *, struct svc_req *);
0162 #define NLM_CANCEL 3
0163 extern nlm_res * nlm_cancel_1(struct nlm_cancargs *, CLIENT *);
0164 extern nlm_res * nlm_cancel_1_svc(struct nlm_cancargs *, struct svc_req *);
0165 #define NLM_UNLOCK 4
0166 extern nlm_res * nlm_unlock_1(struct nlm_unlockargs *, CLIENT *);
0167 extern nlm_res * nlm_unlock_1_svc(struct nlm_unlockargs *, struct svc_req *);
0168 #define NLM_GRANTED 5
0169 extern nlm_res * nlm_granted_1(struct nlm_testargs *, CLIENT *);
0170 extern nlm_res * nlm_granted_1_svc(struct nlm_testargs *, struct svc_req *);
0171 #define NLM_TEST_MSG 6
0172 extern void * nlm_test_msg_1(struct nlm_testargs *, CLIENT *);
0173 extern void * nlm_test_msg_1_svc(struct nlm_testargs *, struct svc_req *);
0174 #define NLM_LOCK_MSG 7
0175 extern void * nlm_lock_msg_1(struct nlm_lockargs *, CLIENT *);
0176 extern void * nlm_lock_msg_1_svc(struct nlm_lockargs *, struct svc_req *);
0177 #define NLM_CANCEL_MSG 8
0178 extern void * nlm_cancel_msg_1(struct nlm_cancargs *, CLIENT *);
0179 extern void * nlm_cancel_msg_1_svc(struct nlm_cancargs *, struct svc_req *);
0180 #define NLM_UNLOCK_MSG 9
0181 extern void * nlm_unlock_msg_1(struct nlm_unlockargs *, CLIENT *);
0182 extern void * nlm_unlock_msg_1_svc(struct nlm_unlockargs *, struct svc_req *);
0183 #define NLM_GRANTED_MSG 10
0184 extern void * nlm_granted_msg_1(struct nlm_testargs *, CLIENT *);
0185 extern void * nlm_granted_msg_1_svc(struct nlm_testargs *, struct svc_req *);
0186 #define NLM_TEST_RES 11
0187 extern void * nlm_test_res_1(nlm_testres *, CLIENT *);
0188 extern void * nlm_test_res_1_svc(nlm_testres *, struct svc_req *);
0189 #define NLM_LOCK_RES 12
0190 extern void * nlm_lock_res_1(nlm_res *, CLIENT *);
0191 extern void * nlm_lock_res_1_svc(nlm_res *, struct svc_req *);
0192 #define NLM_CANCEL_RES 13
0193 extern void * nlm_cancel_res_1(nlm_res *, CLIENT *);
0194 extern void * nlm_cancel_res_1_svc(nlm_res *, struct svc_req *);
0195 #define NLM_UNLOCK_RES 14
0196 extern void * nlm_unlock_res_1(nlm_res *, CLIENT *);
0197 extern void * nlm_unlock_res_1_svc(nlm_res *, struct svc_req *);
0198 #define NLM_GRANTED_RES 15
0199 extern void * nlm_granted_res_1(nlm_res *, CLIENT *);
0200 extern void * nlm_granted_res_1_svc(nlm_res *, struct svc_req *);
0201 extern int nlm_prog_1_freeresult (SVCXPRT *, xdrproc_t, caddr_t);
0202
0203 #else
0204 #define NLM_TEST 1
0205 extern nlm_testres * nlm_test_1();
0206 extern nlm_testres * nlm_test_1_svc();
0207 #define NLM_LOCK 2
0208 extern nlm_res * nlm_lock_1();
0209 extern nlm_res * nlm_lock_1_svc();
0210 #define NLM_CANCEL 3
0211 extern nlm_res * nlm_cancel_1();
0212 extern nlm_res * nlm_cancel_1_svc();
0213 #define NLM_UNLOCK 4
0214 extern nlm_res * nlm_unlock_1();
0215 extern nlm_res * nlm_unlock_1_svc();
0216 #define NLM_GRANTED 5
0217 extern nlm_res * nlm_granted_1();
0218 extern nlm_res * nlm_granted_1_svc();
0219 #define NLM_TEST_MSG 6
0220 extern void * nlm_test_msg_1();
0221 extern void * nlm_test_msg_1_svc();
0222 #define NLM_LOCK_MSG 7
0223 extern void * nlm_lock_msg_1();
0224 extern void * nlm_lock_msg_1_svc();
0225 #define NLM_CANCEL_MSG 8
0226 extern void * nlm_cancel_msg_1();
0227 extern void * nlm_cancel_msg_1_svc();
0228 #define NLM_UNLOCK_MSG 9
0229 extern void * nlm_unlock_msg_1();
0230 extern void * nlm_unlock_msg_1_svc();
0231 #define NLM_GRANTED_MSG 10
0232 extern void * nlm_granted_msg_1();
0233 extern void * nlm_granted_msg_1_svc();
0234 #define NLM_TEST_RES 11
0235 extern void * nlm_test_res_1();
0236 extern void * nlm_test_res_1_svc();
0237 #define NLM_LOCK_RES 12
0238 extern void * nlm_lock_res_1();
0239 extern void * nlm_lock_res_1_svc();
0240 #define NLM_CANCEL_RES 13
0241 extern void * nlm_cancel_res_1();
0242 extern void * nlm_cancel_res_1_svc();
0243 #define NLM_UNLOCK_RES 14
0244 extern void * nlm_unlock_res_1();
0245 extern void * nlm_unlock_res_1_svc();
0246 #define NLM_GRANTED_RES 15
0247 extern void * nlm_granted_res_1();
0248 extern void * nlm_granted_res_1_svc();
0249 extern int nlm_prog_1_freeresult ();
0250 #endif
0251 #define NLM_VERSX 3
0252
0253 #if defined(__STDC__) || defined(__cplusplus)
0254 #define NLM_SHARE 20
0255 extern nlm_shareres * nlm_share_3(nlm_shareargs *, CLIENT *);
0256 extern nlm_shareres * nlm_share_3_svc(nlm_shareargs *, struct svc_req *);
0257 #define NLM_UNSHARE 21
0258 extern nlm_shareres * nlm_unshare_3(nlm_shareargs *, CLIENT *);
0259 extern nlm_shareres * nlm_unshare_3_svc(nlm_shareargs *, struct svc_req *);
0260 #define NLM_NM_LOCK 22
0261 extern nlm_res * nlm_nm_lock_3(nlm_lockargs *, CLIENT *);
0262 extern nlm_res * nlm_nm_lock_3_svc(nlm_lockargs *, struct svc_req *);
0263 #define NLM_FREE_ALL 23
0264 extern void * nlm_free_all_3(nlm_notify *, CLIENT *);
0265 extern void * nlm_free_all_3_svc(nlm_notify *, struct svc_req *);
0266 extern int nlm_prog_3_freeresult (SVCXPRT *, xdrproc_t, caddr_t);
0267
0268 #else
0269 #define NLM_SHARE 20
0270 extern nlm_shareres * nlm_share_3();
0271 extern nlm_shareres * nlm_share_3_svc();
0272 #define NLM_UNSHARE 21
0273 extern nlm_shareres * nlm_unshare_3();
0274 extern nlm_shareres * nlm_unshare_3_svc();
0275 #define NLM_NM_LOCK 22
0276 extern nlm_res * nlm_nm_lock_3();
0277 extern nlm_res * nlm_nm_lock_3_svc();
0278 #define NLM_FREE_ALL 23
0279 extern void * nlm_free_all_3();
0280 extern void * nlm_free_all_3_svc();
0281 extern int nlm_prog_3_freeresult ();
0282 #endif
0283
0284
0285
0286 #if defined(__STDC__) || defined(__cplusplus)
0287 extern bool_t xdr_nlm_stats (XDR *, nlm_stats*);
0288 extern bool_t xdr_nlm_holder (XDR *, nlm_holder*);
0289 extern bool_t xdr_nlm_testrply (XDR *, nlm_testrply*);
0290 extern bool_t xdr_nlm_stat (XDR *, nlm_stat*);
0291 extern bool_t xdr_nlm_res (XDR *, nlm_res*);
0292 extern bool_t xdr_nlm_testres (XDR *, nlm_testres*);
0293 extern bool_t xdr_nlm_lock (XDR *, nlm_lock*);
0294 extern bool_t xdr_nlm_lockargs (XDR *, nlm_lockargs*);
0295 extern bool_t xdr_nlm_cancargs (XDR *, nlm_cancargs*);
0296 extern bool_t xdr_nlm_testargs (XDR *, nlm_testargs*);
0297 extern bool_t xdr_nlm_unlockargs (XDR *, nlm_unlockargs*);
0298 extern bool_t xdr_fsh_mode (XDR *, fsh_mode*);
0299 extern bool_t xdr_fsh_access (XDR *, fsh_access*);
0300 extern bool_t xdr_nlm_share (XDR *, nlm_share*);
0301 extern bool_t xdr_nlm_shareargs (XDR *, nlm_shareargs*);
0302 extern bool_t xdr_nlm_shareres (XDR *, nlm_shareres*);
0303 extern bool_t xdr_nlm_notify (XDR *, nlm_notify*);
0304
0305 #else
0306 extern bool_t xdr_nlm_stats ();
0307 extern bool_t xdr_nlm_holder ();
0308 extern bool_t xdr_nlm_testrply ();
0309 extern bool_t xdr_nlm_stat ();
0310 extern bool_t xdr_nlm_res ();
0311 extern bool_t xdr_nlm_testres ();
0312 extern bool_t xdr_nlm_lock ();
0313 extern bool_t xdr_nlm_lockargs ();
0314 extern bool_t xdr_nlm_cancargs ();
0315 extern bool_t xdr_nlm_testargs ();
0316 extern bool_t xdr_nlm_unlockargs ();
0317 extern bool_t xdr_fsh_mode ();
0318 extern bool_t xdr_fsh_access ();
0319 extern bool_t xdr_nlm_share ();
0320 extern bool_t xdr_nlm_shareargs ();
0321 extern bool_t xdr_nlm_shareres ();
0322 extern bool_t xdr_nlm_notify ();
0323
0324 #endif
0325
0326 #ifdef __cplusplus
0327 }
0328 #endif
0329
0330 #endif