Commit | Line | Data |
---|---|---|
ed09b567 RS |
1 | /* |
2 | * NSM definitions from: | |
3 | * Protocols for Interworking: XNFS, Version 3W | |
4 | * http://pubs.opengroup.org/onlinepubs/9629799/chap11.htm | |
5 | * | |
6 | * Symbols then massaged to avoid too much namespace pollution | |
7 | * and to bring more inline with convention in nlm. | |
8 | */ | |
9 | ||
10 | /* | |
11 | * This defines the maximum length of the string | |
12 | * identifying the caller. | |
13 | */ | |
14 | const NSM_MAXSTRLEN = 1024; | |
15 | ||
ed09b567 RS |
16 | enum nsmstat1 { |
17 | NSM_STAT_SUCC = 0, /* NSM agrees to monitor. */ | |
18 | NSM_STAT_FAIL = 1 /* NSM cannot monitor. */ | |
19 | }; | |
20 | ||
ed09b567 RS |
21 | struct nsm_my_id { |
22 | string my_name<NSM_MAXSTRLEN>; /* hostname */ | |
23 | int my_prog; /* RPC program number */ | |
24 | int my_vers; /* program version number */ | |
25 | int my_proc; /* procedure number */ | |
26 | }; | |
27 | ||
28 | struct nsm_mon_id { | |
29 | string mon_name<NSM_MAXSTRLEN>; /* name of the host to be monitored */ | |
30 | struct nsm_my_id my_id; | |
31 | }; | |
32 | ||
1e7a5136 RS |
33 | struct NSM1_STATres { |
34 | nsmstat1 res; | |
35 | int state; | |
36 | }; | |
37 | ||
38 | struct NSM1_STATargs { | |
39 | string mon_name<NSM_MAXSTRLEN>; | |
40 | }; | |
41 | ||
42 | struct NSM1_MONres { | |
43 | nsmstat1 res; | |
44 | int state; | |
45 | }; | |
46 | ||
47 | struct NSM1_MONargs { | |
ed09b567 RS |
48 | struct nsm_mon_id mon_id; |
49 | opaque priv[16]; /* private information */ | |
50 | }; | |
51 | ||
1e7a5136 RS |
52 | struct NSM1_UNMONres { |
53 | int state; /* state number of NSM */ | |
54 | }; | |
55 | ||
56 | struct NSM1_UNMONargs { | |
57 | struct nsm_mon_id mon_id; | |
58 | }; | |
59 | ||
60 | struct NSM1_UNMONALLres { | |
61 | int state; /* state number of NSM */ | |
62 | }; | |
63 | ||
64 | struct NSM1_UNMONALLargs { | |
65 | struct nsm_my_id my_id; | |
66 | }; | |
67 | ||
68 | struct NSM1_NOTIFYargs { | |
ed09b567 RS |
69 | string mon_name<NSM_MAXSTRLEN>; |
70 | int state; | |
71 | }; | |
72 | ||
73 | /* | |
74 | * Protocol description for the NSM program. | |
75 | */ | |
76 | program NSM_PROGRAM { | |
77 | version NSM_V1 { | |
78 | void NSM1_NULL(void) = 0; | |
1e7a5136 RS |
79 | struct NSM1_STATres NSM1_STAT(struct NSM1_STATargs) = 1; |
80 | struct NSM1_MONres NSM1_MON(struct NSM1_MONargs) = 2; | |
81 | struct NSM1_UNMONres NSM1_UNMON(struct NSM1_UNMONargs) = 3; | |
82 | struct NSM1_UNMONALLres NSM1_UNMON_ALL(struct NSM1_UNMONALLargs) = 4; | |
ed09b567 | 83 | void NSM1_SIMU_CRASH(void) = 5; |
1e7a5136 | 84 | void NSM1_NOTIFY(struct NSM1_NOTIFYargs) = 6; |
ed09b567 RS |
85 | } = 1; |
86 | } = 100024; | |
87 | ||
88 |