sm_inter.h
001:
002:
003:
004:
005:
006: #ifndef _SM_INTER_H_RPCGEN
007: #define _SM_INTER_H_RPCGEN
008:
009: #include <rpc/rpc.h>
010:
011:
012: #ifdef __cplusplus
013: extern "C" {
014: #endif
015:
016: #define SM_MAXSTRLEN 1024
017:
018: struct sm_name {
019: char *mon_name;
020: };
021: typedef struct sm_name sm_name;
022:
023: struct my_id {
024: char *my_name;
025: int my_prog;
026: int my_vers;
027: int my_proc;
028: };
029: typedef struct my_id my_id;
030:
031: struct mon_id {
032: char *mon_name;
033: struct my_id my_id;
034: };
035: typedef struct mon_id mon_id;
036:
037: struct mon {
038: struct mon_id mon_id;
039: char priv[16];
040: };
041: typedef struct mon mon;
042:
043: struct sm_stat {
044: int state;
045: };
046: typedef struct sm_stat sm_stat;
047:
048: enum res {
049: stat_succ = 0,
050: stat_fail = 1,
051: };
052: typedef enum res res;
053:
054: struct sm_stat_res {
055: res res_stat;
056: int state;
057: };
058: typedef struct sm_stat_res sm_stat_res;
059:
060: struct status {
061: char *mon_name;
062: int state;
063: char priv[16];
064: };
065: typedef struct status status;
066:
067: #define SM_PROG 100024
068: #define SM_VERS 1
069:
070: #if defined(__STDC__) || defined(__cplusplus)
071: #define SM_STAT 1
072: extern struct sm_stat_res * sm_stat_1(struct sm_name *, CLIENT *);
073: extern struct sm_stat_res * sm_stat_1_svc(struct sm_name *, struct svc_req *);
074: #define SM_MON 2
075: extern struct sm_stat_res * sm_mon_1(struct mon *, CLIENT *);
076: extern struct sm_stat_res * sm_mon_1_svc(struct mon *, struct svc_req *);
077: #define SM_UNMON 3
078: extern struct sm_stat * sm_unmon_1(struct mon_id *, CLIENT *);
079: extern struct sm_stat * sm_unmon_1_svc(struct mon_id *, struct svc_req *);
080: #define SM_UNMON_ALL 4
081: extern struct sm_stat * sm_unmon_all_1(struct my_id *, CLIENT *);
082: extern struct sm_stat * sm_unmon_all_1_svc(struct my_id *, struct svc_req *);
083: #define SM_SIMU_CRASH 5
084: extern void * sm_simu_crash_1(void *, CLIENT *);
085: extern void * sm_simu_crash_1_svc(void *, struct svc_req *);
086: extern int sm_prog_1_freeresult (SVCXPRT *, xdrproc_t, caddr_t);
087:
088: #else
089: #define SM_STAT 1
090: extern struct sm_stat_res * sm_stat_1();
091: extern struct sm_stat_res * sm_stat_1_svc();
092: #define SM_MON 2
093: extern struct sm_stat_res * sm_mon_1();
094: extern struct sm_stat_res * sm_mon_1_svc();
095: #define SM_UNMON 3
096: extern struct sm_stat * sm_unmon_1();
097: extern struct sm_stat * sm_unmon_1_svc();
098: #define SM_UNMON_ALL 4
099: extern struct sm_stat * sm_unmon_all_1();
100: extern struct sm_stat * sm_unmon_all_1_svc();
101: #define SM_SIMU_CRASH 5
102: extern void * sm_simu_crash_1();
103: extern void * sm_simu_crash_1_svc();
104: extern int sm_prog_1_freeresult ();
105: #endif
106:
107:
108:
109: #if defined(__STDC__) || defined(__cplusplus)
110: extern bool_t xdr_sm_name (XDR *, sm_name*);
111: extern bool_t xdr_my_id (XDR *, my_id*);
112: extern bool_t xdr_mon_id (XDR *, mon_id*);
113: extern bool_t xdr_mon (XDR *, mon*);
114: extern bool_t xdr_sm_stat (XDR *, sm_stat*);
115: extern bool_t xdr_res (XDR *, res*);
116: extern bool_t xdr_sm_stat_res (XDR *, sm_stat_res*);
117: extern bool_t xdr_status (XDR *, status*);
118:
119: #else
120: extern bool_t xdr_sm_name ();
121: extern bool_t xdr_my_id ();
122: extern bool_t xdr_mon_id ();
123: extern bool_t xdr_mon ();
124: extern bool_t xdr_sm_stat ();
125: extern bool_t xdr_res ();
126: extern bool_t xdr_sm_stat_res ();
127: extern bool_t xdr_status ();
128:
129: #endif
130:
131: #ifdef __cplusplus
132: }
133: #endif
134:
135: #endif
136:
© Andrew Scott 2006 -
2025,
All Rights Reserved