|
root / base / usr / src / uts / common / rpcsvc / nlm_prot.h
nlm_prot.h C 651 lines 19.9 KB
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
/*
 * Please do not edit this file.
 * It was generated using rpcgen.
 */

#ifndef _NLM_PROT_H_RPCGEN
#define	_NLM_PROT_H_RPCGEN

#include <rpc/rpc.h>
#ifndef _KERNEL
#include <synch.h>
#include <thread.h>
#endif /* !_KERNEL */

#ifdef __cplusplus
extern "C" {
#endif


#include <rpc/rpc_sztypes.h>

#define LM_MAXSTRLEN 1024
#define LM_MAXNAMELEN (LM_MAXSTRLEN + 1)

enum nlm_stats {
	nlm_granted = 0,
	nlm_denied = 1,
	nlm_denied_nolocks = 2,
	nlm_blocked = 3,
	nlm_denied_grace_period = 4,
	nlm_deadlck = 5
};
typedef enum nlm_stats nlm_stats;

struct nlm_holder {
	bool_t exclusive;
	int svid;
	netobj oh;
	u_int l_offset;
	u_int l_len;
};
typedef struct nlm_holder nlm_holder;

struct nlm_testrply {
	nlm_stats stat;
	union {
		struct nlm_holder holder;
	} nlm_testrply_u;
};
typedef struct nlm_testrply nlm_testrply;

struct nlm_stat {
	nlm_stats stat;
};
typedef struct nlm_stat nlm_stat;

struct nlm_res {
	netobj cookie;
	nlm_stat stat;
};
typedef struct nlm_res nlm_res;

struct nlm_testres {
	netobj cookie;
	nlm_testrply stat;
};
typedef struct nlm_testres nlm_testres;

struct nlm_lock {
	char *caller_name;
	netobj fh;
	netobj oh;
	int svid;
	u_int l_offset;
	u_int l_len;
};
typedef struct nlm_lock nlm_lock;

struct nlm_lockargs {
	netobj cookie;
	bool_t block;
	bool_t exclusive;
	struct nlm_lock alock;
	bool_t reclaim;
	int state;
};
typedef struct nlm_lockargs nlm_lockargs;

struct nlm_cancargs {
	netobj cookie;
	bool_t block;
	bool_t exclusive;
	struct nlm_lock alock;
};
typedef struct nlm_cancargs nlm_cancargs;

struct nlm_testargs {
	netobj cookie;
	bool_t exclusive;
	struct nlm_lock alock;
};
typedef struct nlm_testargs nlm_testargs;

struct nlm_unlockargs {
	netobj cookie;
	struct nlm_lock alock;
};
typedef struct nlm_unlockargs nlm_unlockargs;
/*
 * The following enums are actually bit encoded for efficient
 * boolean algebra.... DON'T change them.....
 * The mixed-case enums violate the present style guide, but we're
 * stuck with 'em.
 */

enum fsh_mode {
	fsm_DN = 0,
	fsm_DR = 1,
	fsm_DW = 2,
	fsm_DRW = 3
};
typedef enum fsh_mode fsh_mode;

enum fsh_access {
	fsa_NONE = 0,
	fsa_R = 1,
	fsa_W = 2,
	fsa_RW = 3
};
typedef enum fsh_access fsh_access;

struct nlm_share {
	char *caller_name;
	netobj fh;
	netobj oh;
	fsh_mode mode;
	fsh_access access;
};
typedef struct nlm_share nlm_share;

struct nlm_shareargs {
	netobj cookie;
	nlm_share share;
	bool_t reclaim;
};
typedef struct nlm_shareargs nlm_shareargs;

struct nlm_shareres {
	netobj cookie;
	nlm_stats stat;
	int sequence;
};
typedef struct nlm_shareres nlm_shareres;

struct nlm_notify {
	char *name;
	int state;
};
typedef struct nlm_notify nlm_notify;

enum nlm4_stats {
	nlm4_granted = 0,
	nlm4_denied = 1,
	nlm4_denied_nolocks = 2,
	nlm4_blocked = 3,
	nlm4_denied_grace_period = 4,
	nlm4_deadlck = 5,
	nlm4_rofs = 6,
	nlm4_stale_fh = 7,
	nlm4_fbig = 8,
	nlm4_failed = 9
};
typedef enum nlm4_stats nlm4_stats;

struct nlm4_holder {
	bool_t exclusive;
	int32 svid;
	netobj oh;
	uint64 l_offset;
	uint64 l_len;
};
typedef struct nlm4_holder nlm4_holder;

struct nlm4_testrply {
	nlm4_stats stat;
	union {
		struct nlm4_holder holder;
	} nlm4_testrply_u;
};
typedef struct nlm4_testrply nlm4_testrply;

struct nlm4_stat {
	nlm4_stats stat;
};
typedef struct nlm4_stat nlm4_stat;

struct nlm4_res {
	netobj cookie;
	nlm4_stat stat;
};
typedef struct nlm4_res nlm4_res;

struct nlm4_testres {
	netobj cookie;
	nlm4_testrply stat;
};
typedef struct nlm4_testres nlm4_testres;

struct nlm4_lock {
	char *caller_name;
	netobj fh;
	netobj oh;
	int32 svid;
	uint64 l_offset;
	uint64 l_len;
};
typedef struct nlm4_lock nlm4_lock;

struct nlm4_lockargs {
	netobj cookie;
	bool_t block;
	bool_t exclusive;
	struct nlm4_lock alock;
	bool_t reclaim;
	int32 state;
};
typedef struct nlm4_lockargs nlm4_lockargs;

struct nlm4_cancargs {
	netobj cookie;
	bool_t block;
	bool_t exclusive;
	struct nlm4_lock alock;
};
typedef struct nlm4_cancargs nlm4_cancargs;

struct nlm4_testargs {
	netobj cookie;
	bool_t exclusive;
	struct nlm4_lock alock;
};
typedef struct nlm4_testargs nlm4_testargs;

struct nlm4_unlockargs {
	netobj cookie;
	struct nlm4_lock alock;
};
typedef struct nlm4_unlockargs nlm4_unlockargs;

struct nlm4_share {
	char *caller_name;
	netobj fh;
	netobj oh;
	fsh_mode mode;
	fsh_access access;
};
typedef struct nlm4_share nlm4_share;

struct nlm4_shareargs {
	netobj cookie;
	nlm4_share share;
	bool_t reclaim;
};
typedef struct nlm4_shareargs nlm4_shareargs;

struct nlm4_shareres {
	netobj cookie;
	nlm4_stats stat;
	int32 sequence;
};
typedef struct nlm4_shareres nlm4_shareres;

struct nlm4_notify {
	char *name;
	int32 state;
};
typedef struct nlm4_notify nlm4_notify;

struct nlm_sm_status {
	char *mon_name;
	int32 state;
	char priv[16];
};
typedef struct nlm_sm_status nlm_sm_status;

#define	NLM_PROG	100021
#define	NLM_VERS	1

#if defined(__STDC__) || defined(__cplusplus)
#define	NLM_NULL	0
extern  enum clnt_stat nlm_null_1(void *, void *, CLIENT *);
extern  bool_t nlm_null_1_svc(void *, void *, struct svc_req *);
#define	NLM_TEST	1
extern  enum clnt_stat nlm_test_1(nlm_testargs *, nlm_testres *, CLIENT *);
extern  bool_t nlm_test_1_svc(nlm_testargs *, nlm_testres *, struct svc_req *);
#define	NLM_LOCK	2
extern  enum clnt_stat nlm_lock_1(nlm_lockargs *, nlm_res *, CLIENT *);
extern  bool_t nlm_lock_1_svc(nlm_lockargs *, nlm_res *, struct svc_req *);
#define	NLM_CANCEL	3
extern  enum clnt_stat nlm_cancel_1(nlm_cancargs *, nlm_res *, CLIENT *);
extern  bool_t nlm_cancel_1_svc(nlm_cancargs *, nlm_res *, struct svc_req *);
#define	NLM_UNLOCK	4
extern  enum clnt_stat nlm_unlock_1(nlm_unlockargs *, nlm_res *, CLIENT *);
extern  bool_t nlm_unlock_1_svc(nlm_unlockargs *, nlm_res *, struct svc_req *);
#define	NLM_GRANTED	5
extern  enum clnt_stat nlm_granted_1(nlm_testargs *, nlm_res *, CLIENT *);
extern  bool_t nlm_granted_1_svc(nlm_testargs *, nlm_res *, struct svc_req *);
#define	NLM_TEST_MSG	6
extern  enum clnt_stat nlm_test_msg_1(nlm_testargs *, void *, CLIENT *);
extern  bool_t nlm_test_msg_1_svc(nlm_testargs *, void *, struct svc_req *);
#define	NLM_LOCK_MSG	7
extern  enum clnt_stat nlm_lock_msg_1(nlm_lockargs *, void *, CLIENT *);
extern  bool_t nlm_lock_msg_1_svc(nlm_lockargs *, void *, struct svc_req *);
#define	NLM_CANCEL_MSG	8
extern  enum clnt_stat nlm_cancel_msg_1(nlm_cancargs *, void *, CLIENT *);
extern  bool_t nlm_cancel_msg_1_svc(nlm_cancargs *, void *, struct svc_req *);
#define	NLM_UNLOCK_MSG	9
extern  enum clnt_stat nlm_unlock_msg_1(nlm_unlockargs *, void *, CLIENT *);
extern  bool_t nlm_unlock_msg_1_svc(nlm_unlockargs *, void *, struct svc_req *);
#define	NLM_GRANTED_MSG	10
extern  enum clnt_stat nlm_granted_msg_1(nlm_testargs *, void *, CLIENT *);
extern  bool_t nlm_granted_msg_1_svc(nlm_testargs *, void *, struct svc_req *);
#define	NLM_TEST_RES	11
extern  enum clnt_stat nlm_test_res_1(nlm_testres *, void *, CLIENT *);
extern  bool_t nlm_test_res_1_svc(nlm_testres *, void *, struct svc_req *);
#define	NLM_LOCK_RES	12
extern  enum clnt_stat nlm_lock_res_1(nlm_res *, void *, CLIENT *);
extern  bool_t nlm_lock_res_1_svc(nlm_res *, void *, struct svc_req *);
#define	NLM_CANCEL_RES	13
extern  enum clnt_stat nlm_cancel_res_1(nlm_res *, void *, CLIENT *);
extern  bool_t nlm_cancel_res_1_svc(nlm_res *, void *, struct svc_req *);
#define	NLM_UNLOCK_RES	14
extern  enum clnt_stat nlm_unlock_res_1(nlm_res *, void *, CLIENT *);
extern  bool_t nlm_unlock_res_1_svc(nlm_res *, void *, struct svc_req *);
#define	NLM_GRANTED_RES	15
extern  enum clnt_stat nlm_granted_res_1(nlm_res *, void *, CLIENT *);
extern  bool_t nlm_granted_res_1_svc(nlm_res *, void *, struct svc_req *);
extern int nlm_prog_1_freeresult(SVCXPRT *, xdrproc_t, caddr_t);

#else /* K&R C */
#define	NLM_NULL	0
extern  enum clnt_stat nlm_null_1();
extern  bool_t nlm_null_1_svc();
#define	NLM_TEST	1
extern  enum clnt_stat nlm_test_1();
extern  bool_t nlm_test_1_svc();
#define	NLM_LOCK	2
extern  enum clnt_stat nlm_lock_1();
extern  bool_t nlm_lock_1_svc();
#define	NLM_CANCEL	3
extern  enum clnt_stat nlm_cancel_1();
extern  bool_t nlm_cancel_1_svc();
#define	NLM_UNLOCK	4
extern  enum clnt_stat nlm_unlock_1();
extern  bool_t nlm_unlock_1_svc();
#define	NLM_GRANTED	5
extern  enum clnt_stat nlm_granted_1();
extern  bool_t nlm_granted_1_svc();
#define	NLM_TEST_MSG	6
extern  enum clnt_stat nlm_test_msg_1();
extern  bool_t nlm_test_msg_1_svc();
#define	NLM_LOCK_MSG	7
extern  enum clnt_stat nlm_lock_msg_1();
extern  bool_t nlm_lock_msg_1_svc();
#define	NLM_CANCEL_MSG	8
extern  enum clnt_stat nlm_cancel_msg_1();
extern  bool_t nlm_cancel_msg_1_svc();
#define	NLM_UNLOCK_MSG	9
extern  enum clnt_stat nlm_unlock_msg_1();
extern  bool_t nlm_unlock_msg_1_svc();
#define	NLM_GRANTED_MSG	10
extern  enum clnt_stat nlm_granted_msg_1();
extern  bool_t nlm_granted_msg_1_svc();
#define	NLM_TEST_RES	11
extern  enum clnt_stat nlm_test_res_1();
extern  bool_t nlm_test_res_1_svc();
#define	NLM_LOCK_RES	12
extern  enum clnt_stat nlm_lock_res_1();
extern  bool_t nlm_lock_res_1_svc();
#define	NLM_CANCEL_RES	13
extern  enum clnt_stat nlm_cancel_res_1();
extern  bool_t nlm_cancel_res_1_svc();
#define	NLM_UNLOCK_RES	14
extern  enum clnt_stat nlm_unlock_res_1();
extern  bool_t nlm_unlock_res_1_svc();
#define	NLM_GRANTED_RES	15
extern  enum clnt_stat nlm_granted_res_1();
extern  bool_t nlm_granted_res_1_svc();
extern int nlm_prog_1_freeresult();
#endif /* K&R C */
#define	NLM_SM	2

#if defined(__STDC__) || defined(__cplusplus)
#define	NLM_SM_NOTIFY1	17
extern  enum clnt_stat nlm_sm_notify1_2(struct nlm_sm_status *, void *, CLIENT *);
extern  bool_t nlm_sm_notify1_2_svc(struct nlm_sm_status *, void *, struct svc_req *);
#define	NLM_SM_NOTIFY2	18
extern  enum clnt_stat nlm_sm_notify2_2(struct nlm_sm_status *, void *, CLIENT *);
extern  bool_t nlm_sm_notify2_2_svc(struct nlm_sm_status *, void *, struct svc_req *);
extern int nlm_prog_2_freeresult(SVCXPRT *, xdrproc_t, caddr_t);

#else /* K&R C */
#define	NLM_SM_NOTIFY1	17
extern  enum clnt_stat nlm_sm_notify1_2();
extern  bool_t nlm_sm_notify1_2_svc();
#define	NLM_SM_NOTIFY2	18
extern  enum clnt_stat nlm_sm_notify2_2();
extern  bool_t nlm_sm_notify2_2_svc();
extern int nlm_prog_2_freeresult();
#endif /* K&R C */
#define	NLM_VERSX	3

#if defined(__STDC__) || defined(__cplusplus)
#define	NLM_SHARE	20
extern  enum clnt_stat nlm_share_3(nlm_shareargs *, nlm_shareres *, CLIENT *);
extern  bool_t nlm_share_3_svc(nlm_shareargs *, nlm_shareres *, struct svc_req *);
#define	NLM_UNSHARE	21
extern  enum clnt_stat nlm_unshare_3(nlm_shareargs *, nlm_shareres *, CLIENT *);
extern  bool_t nlm_unshare_3_svc(nlm_shareargs *, nlm_shareres *, struct svc_req *);
#define	NLM_NM_LOCK	22
extern  enum clnt_stat nlm_nm_lock_3(nlm_lockargs *, nlm_res *, CLIENT *);
extern  bool_t nlm_nm_lock_3_svc(nlm_lockargs *, nlm_res *, struct svc_req *);
#define	NLM_FREE_ALL	23
extern  enum clnt_stat nlm_free_all_3(nlm_notify *, void *, CLIENT *);
extern  bool_t nlm_free_all_3_svc(nlm_notify *, void *, struct svc_req *);
extern int nlm_prog_3_freeresult(SVCXPRT *, xdrproc_t, caddr_t);

#else /* K&R C */
#define	NLM_SHARE	20
extern  enum clnt_stat nlm_share_3();
extern  bool_t nlm_share_3_svc();
#define	NLM_UNSHARE	21
extern  enum clnt_stat nlm_unshare_3();
extern  bool_t nlm_unshare_3_svc();
#define	NLM_NM_LOCK	22
extern  enum clnt_stat nlm_nm_lock_3();
extern  bool_t nlm_nm_lock_3_svc();
#define	NLM_FREE_ALL	23
extern  enum clnt_stat nlm_free_all_3();
extern  bool_t nlm_free_all_3_svc();
extern int nlm_prog_3_freeresult();
#endif /* K&R C */
#define	NLM4_VERS	4

#if defined(__STDC__) || defined(__cplusplus)
#define	NLM4_NULL	0
extern  enum clnt_stat nlm4_null_4(void *, void *, CLIENT *);
extern  bool_t nlm4_null_4_svc(void *, void *, struct svc_req *);
#define	NLM4_TEST	1
extern  enum clnt_stat nlm4_test_4(nlm4_testargs *, nlm4_testres *, CLIENT *);
extern  bool_t nlm4_test_4_svc(nlm4_testargs *, nlm4_testres *, struct svc_req *);
#define	NLM4_LOCK	2
extern  enum clnt_stat nlm4_lock_4(nlm4_lockargs *, nlm4_res *, CLIENT *);
extern  bool_t nlm4_lock_4_svc(nlm4_lockargs *, nlm4_res *, struct svc_req *);
#define	NLM4_CANCEL	3
extern  enum clnt_stat nlm4_cancel_4(nlm4_cancargs *, nlm4_res *, CLIENT *);
extern  bool_t nlm4_cancel_4_svc(nlm4_cancargs *, nlm4_res *, struct svc_req *);
#define	NLM4_UNLOCK	4
extern  enum clnt_stat nlm4_unlock_4(nlm4_unlockargs *, nlm4_res *, CLIENT *);
extern  bool_t nlm4_unlock_4_svc(nlm4_unlockargs *, nlm4_res *, struct svc_req *);
#define	NLM4_GRANTED	5
extern  enum clnt_stat nlm4_granted_4(nlm4_testargs *, nlm4_res *, CLIENT *);
extern  bool_t nlm4_granted_4_svc(nlm4_testargs *, nlm4_res *, struct svc_req *);
#define	NLM4_TEST_MSG	6
extern  enum clnt_stat nlm4_test_msg_4(nlm4_testargs *, void *, CLIENT *);
extern  bool_t nlm4_test_msg_4_svc(nlm4_testargs *, void *, struct svc_req *);
#define	NLM4_LOCK_MSG	7
extern  enum clnt_stat nlm4_lock_msg_4(nlm4_lockargs *, void *, CLIENT *);
extern  bool_t nlm4_lock_msg_4_svc(nlm4_lockargs *, void *, struct svc_req *);
#define	NLM4_CANCEL_MSG	8
extern  enum clnt_stat nlm4_cancel_msg_4(nlm4_cancargs *, void *, CLIENT *);
extern  bool_t nlm4_cancel_msg_4_svc(nlm4_cancargs *, void *, struct svc_req *);
#define	NLM4_UNLOCK_MSG	9
extern  enum clnt_stat nlm4_unlock_msg_4(nlm4_unlockargs *, void *, CLIENT *);
extern  bool_t nlm4_unlock_msg_4_svc(nlm4_unlockargs *, void *, struct svc_req *);
#define	NLM4_GRANTED_MSG	10
extern  enum clnt_stat nlm4_granted_msg_4(nlm4_testargs *, void *, CLIENT *);
extern  bool_t nlm4_granted_msg_4_svc(nlm4_testargs *, void *, struct svc_req *);
#define	NLM4_TEST_RES	11
extern  enum clnt_stat nlm4_test_res_4(nlm4_testres *, void *, CLIENT *);
extern  bool_t nlm4_test_res_4_svc(nlm4_testres *, void *, struct svc_req *);
#define	NLM4_LOCK_RES	12
extern  enum clnt_stat nlm4_lock_res_4(nlm4_res *, void *, CLIENT *);
extern  bool_t nlm4_lock_res_4_svc(nlm4_res *, void *, struct svc_req *);
#define	NLM4_CANCEL_RES	13
extern  enum clnt_stat nlm4_cancel_res_4(nlm4_res *, void *, CLIENT *);
extern  bool_t nlm4_cancel_res_4_svc(nlm4_res *, void *, struct svc_req *);
#define	NLM4_UNLOCK_RES	14
extern  enum clnt_stat nlm4_unlock_res_4(nlm4_res *, void *, CLIENT *);
extern  bool_t nlm4_unlock_res_4_svc(nlm4_res *, void *, struct svc_req *);
#define	NLM4_GRANTED_RES	15
extern  enum clnt_stat nlm4_granted_res_4(nlm4_res *, void *, CLIENT *);
extern  bool_t nlm4_granted_res_4_svc(nlm4_res *, void *, struct svc_req *);
#define	NLM4_SHARE	20
extern  enum clnt_stat nlm4_share_4(nlm4_shareargs *, nlm4_shareres *, CLIENT *);
extern  bool_t nlm4_share_4_svc(nlm4_shareargs *, nlm4_shareres *, struct svc_req *);
#define	NLM4_UNSHARE	21
extern  enum clnt_stat nlm4_unshare_4(nlm4_shareargs *, nlm4_shareres *, CLIENT *);
extern  bool_t nlm4_unshare_4_svc(nlm4_shareargs *, nlm4_shareres *, struct svc_req *);
#define	NLM4_NM_LOCK	22
extern  enum clnt_stat nlm4_nm_lock_4(nlm4_lockargs *, nlm4_res *, CLIENT *);
extern  bool_t nlm4_nm_lock_4_svc(nlm4_lockargs *, nlm4_res *, struct svc_req *);
#define	NLM4_FREE_ALL	23
extern  enum clnt_stat nlm4_free_all_4(nlm4_notify *, void *, CLIENT *);
extern  bool_t nlm4_free_all_4_svc(nlm4_notify *, void *, struct svc_req *);
extern int nlm_prog_4_freeresult(SVCXPRT *, xdrproc_t, caddr_t);

#else /* K&R C */
#define	NLM4_NULL	0
extern  enum clnt_stat nlm4_null_4();
extern  bool_t nlm4_null_4_svc();
#define	NLM4_TEST	1
extern  enum clnt_stat nlm4_test_4();
extern  bool_t nlm4_test_4_svc();
#define	NLM4_LOCK	2
extern  enum clnt_stat nlm4_lock_4();
extern  bool_t nlm4_lock_4_svc();
#define	NLM4_CANCEL	3
extern  enum clnt_stat nlm4_cancel_4();
extern  bool_t nlm4_cancel_4_svc();
#define	NLM4_UNLOCK	4
extern  enum clnt_stat nlm4_unlock_4();
extern  bool_t nlm4_unlock_4_svc();
#define	NLM4_GRANTED	5
extern  enum clnt_stat nlm4_granted_4();
extern  bool_t nlm4_granted_4_svc();
#define	NLM4_TEST_MSG	6
extern  enum clnt_stat nlm4_test_msg_4();
extern  bool_t nlm4_test_msg_4_svc();
#define	NLM4_LOCK_MSG	7
extern  enum clnt_stat nlm4_lock_msg_4();
extern  bool_t nlm4_lock_msg_4_svc();
#define	NLM4_CANCEL_MSG	8
extern  enum clnt_stat nlm4_cancel_msg_4();
extern  bool_t nlm4_cancel_msg_4_svc();
#define	NLM4_UNLOCK_MSG	9
extern  enum clnt_stat nlm4_unlock_msg_4();
extern  bool_t nlm4_unlock_msg_4_svc();
#define	NLM4_GRANTED_MSG	10
extern  enum clnt_stat nlm4_granted_msg_4();
extern  bool_t nlm4_granted_msg_4_svc();
#define	NLM4_TEST_RES	11
extern  enum clnt_stat nlm4_test_res_4();
extern  bool_t nlm4_test_res_4_svc();
#define	NLM4_LOCK_RES	12
extern  enum clnt_stat nlm4_lock_res_4();
extern  bool_t nlm4_lock_res_4_svc();
#define	NLM4_CANCEL_RES	13
extern  enum clnt_stat nlm4_cancel_res_4();
extern  bool_t nlm4_cancel_res_4_svc();
#define	NLM4_UNLOCK_RES	14
extern  enum clnt_stat nlm4_unlock_res_4();
extern  bool_t nlm4_unlock_res_4_svc();
#define	NLM4_GRANTED_RES	15
extern  enum clnt_stat nlm4_granted_res_4();
extern  bool_t nlm4_granted_res_4_svc();
#define	NLM4_SHARE	20
extern  enum clnt_stat nlm4_share_4();
extern  bool_t nlm4_share_4_svc();
#define	NLM4_UNSHARE	21
extern  enum clnt_stat nlm4_unshare_4();
extern  bool_t nlm4_unshare_4_svc();
#define	NLM4_NM_LOCK	22
extern  enum clnt_stat nlm4_nm_lock_4();
extern  bool_t nlm4_nm_lock_4_svc();
#define	NLM4_FREE_ALL	23
extern  enum clnt_stat nlm4_free_all_4();
extern  bool_t nlm4_free_all_4_svc();
extern int nlm_prog_4_freeresult();
#endif /* K&R C */

/* the xdr functions */

#if defined(__STDC__) || defined(__cplusplus)
extern  bool_t xdr_nlm_stats(XDR *, nlm_stats*);
extern  bool_t xdr_nlm_holder(XDR *, nlm_holder*);
extern  bool_t xdr_nlm_testrply(XDR *, nlm_testrply*);
extern  bool_t xdr_nlm_stat(XDR *, nlm_stat*);
extern  bool_t xdr_nlm_res(XDR *, nlm_res*);
extern  bool_t xdr_nlm_testres(XDR *, nlm_testres*);
extern  bool_t xdr_nlm_lock(XDR *, nlm_lock*);
extern  bool_t xdr_nlm_lockargs(XDR *, nlm_lockargs*);
extern  bool_t xdr_nlm_cancargs(XDR *, nlm_cancargs*);
extern  bool_t xdr_nlm_testargs(XDR *, nlm_testargs*);
extern  bool_t xdr_nlm_unlockargs(XDR *, nlm_unlockargs*);
extern  bool_t xdr_fsh_mode(XDR *, fsh_mode*);
extern  bool_t xdr_fsh_access(XDR *, fsh_access*);
extern  bool_t xdr_nlm_share(XDR *, nlm_share*);
extern  bool_t xdr_nlm_shareargs(XDR *, nlm_shareargs*);
extern  bool_t xdr_nlm_shareres(XDR *, nlm_shareres*);
extern  bool_t xdr_nlm_notify(XDR *, nlm_notify*);
extern  bool_t xdr_nlm4_stats(XDR *, nlm4_stats*);
extern  bool_t xdr_nlm4_holder(XDR *, nlm4_holder*);
extern  bool_t xdr_nlm4_testrply(XDR *, nlm4_testrply*);
extern  bool_t xdr_nlm4_stat(XDR *, nlm4_stat*);
extern  bool_t xdr_nlm4_res(XDR *, nlm4_res*);
extern  bool_t xdr_nlm4_testres(XDR *, nlm4_testres*);
extern  bool_t xdr_nlm4_lock(XDR *, nlm4_lock*);
extern  bool_t xdr_nlm4_lockargs(XDR *, nlm4_lockargs*);
extern  bool_t xdr_nlm4_cancargs(XDR *, nlm4_cancargs*);
extern  bool_t xdr_nlm4_testargs(XDR *, nlm4_testargs*);
extern  bool_t xdr_nlm4_unlockargs(XDR *, nlm4_unlockargs*);
extern  bool_t xdr_nlm4_share(XDR *, nlm4_share*);
extern  bool_t xdr_nlm4_shareargs(XDR *, nlm4_shareargs*);
extern  bool_t xdr_nlm4_shareres(XDR *, nlm4_shareres*);
extern  bool_t xdr_nlm4_notify(XDR *, nlm4_notify*);
extern  bool_t xdr_nlm_sm_status(XDR *, nlm_sm_status*);

#else /* K&R C */
extern bool_t xdr_nlm_stats();
extern bool_t xdr_nlm_holder();
extern bool_t xdr_nlm_testrply();
extern bool_t xdr_nlm_stat();
extern bool_t xdr_nlm_res();
extern bool_t xdr_nlm_testres();
extern bool_t xdr_nlm_lock();
extern bool_t xdr_nlm_lockargs();
extern bool_t xdr_nlm_cancargs();
extern bool_t xdr_nlm_testargs();
extern bool_t xdr_nlm_unlockargs();
extern bool_t xdr_fsh_mode();
extern bool_t xdr_fsh_access();
extern bool_t xdr_nlm_share();
extern bool_t xdr_nlm_shareargs();
extern bool_t xdr_nlm_shareres();
extern bool_t xdr_nlm_notify();
extern bool_t xdr_nlm4_stats();
extern bool_t xdr_nlm4_holder();
extern bool_t xdr_nlm4_testrply();
extern bool_t xdr_nlm4_stat();
extern bool_t xdr_nlm4_res();
extern bool_t xdr_nlm4_testres();
extern bool_t xdr_nlm4_lock();
extern bool_t xdr_nlm4_lockargs();
extern bool_t xdr_nlm4_cancargs();
extern bool_t xdr_nlm4_testargs();
extern bool_t xdr_nlm4_unlockargs();
extern bool_t xdr_nlm4_share();
extern bool_t xdr_nlm4_shareargs();
extern bool_t xdr_nlm4_shareres();
extern bool_t xdr_nlm4_notify();
extern bool_t xdr_nlm_sm_status();

#endif /* K&R C */

#ifdef __cplusplus
}
#endif

#endif /* !_NLM_PROT_H_RPCGEN */