File indexing completed on 2025-01-18 10:12:37
0001
0002
0003
0004
0005
0006 #ifndef _SM_INTER_H_RPCGEN
0007 #define _SM_INTER_H_RPCGEN
0008
0009 #include <rpc/rpc.h>
0010
0011
0012 #ifdef __cplusplus
0013 extern "C" {
0014 #endif
0015
0016 #define SM_MAXSTRLEN 1024
0017
0018 struct sm_name {
0019 char *mon_name;
0020 };
0021 typedef struct sm_name sm_name;
0022
0023 struct my_id {
0024 char *my_name;
0025 int my_prog;
0026 int my_vers;
0027 int my_proc;
0028 };
0029 typedef struct my_id my_id;
0030
0031 struct mon_id {
0032 char *mon_name;
0033 struct my_id my_id;
0034 };
0035 typedef struct mon_id mon_id;
0036
0037 struct mon {
0038 struct mon_id mon_id;
0039 char priv[16];
0040 };
0041 typedef struct mon mon;
0042
0043 struct sm_stat {
0044 int state;
0045 };
0046 typedef struct sm_stat sm_stat;
0047
0048 enum res {
0049 stat_succ = 0,
0050 stat_fail = 1,
0051 };
0052 typedef enum res res;
0053
0054 struct sm_stat_res {
0055 res res_stat;
0056 int state;
0057 };
0058 typedef struct sm_stat_res sm_stat_res;
0059
0060 struct status {
0061 char *mon_name;
0062 int state;
0063 char priv[16];
0064 };
0065 typedef struct status status;
0066
0067 #define SM_PROG 100024
0068 #define SM_VERS 1
0069
0070 #if defined(__STDC__) || defined(__cplusplus)
0071 #define SM_STAT 1
0072 extern struct sm_stat_res * sm_stat_1(struct sm_name *, CLIENT *);
0073 extern struct sm_stat_res * sm_stat_1_svc(struct sm_name *, struct svc_req *);
0074 #define SM_MON 2
0075 extern struct sm_stat_res * sm_mon_1(struct mon *, CLIENT *);
0076 extern struct sm_stat_res * sm_mon_1_svc(struct mon *, struct svc_req *);
0077 #define SM_UNMON 3
0078 extern struct sm_stat * sm_unmon_1(struct mon_id *, CLIENT *);
0079 extern struct sm_stat * sm_unmon_1_svc(struct mon_id *, struct svc_req *);
0080 #define SM_UNMON_ALL 4
0081 extern struct sm_stat * sm_unmon_all_1(struct my_id *, CLIENT *);
0082 extern struct sm_stat * sm_unmon_all_1_svc(struct my_id *, struct svc_req *);
0083 #define SM_SIMU_CRASH 5
0084 extern void * sm_simu_crash_1(void *, CLIENT *);
0085 extern void * sm_simu_crash_1_svc(void *, struct svc_req *);
0086 extern int sm_prog_1_freeresult (SVCXPRT *, xdrproc_t, caddr_t);
0087
0088 #else
0089 #define SM_STAT 1
0090 extern struct sm_stat_res * sm_stat_1();
0091 extern struct sm_stat_res * sm_stat_1_svc();
0092 #define SM_MON 2
0093 extern struct sm_stat_res * sm_mon_1();
0094 extern struct sm_stat_res * sm_mon_1_svc();
0095 #define SM_UNMON 3
0096 extern struct sm_stat * sm_unmon_1();
0097 extern struct sm_stat * sm_unmon_1_svc();
0098 #define SM_UNMON_ALL 4
0099 extern struct sm_stat * sm_unmon_all_1();
0100 extern struct sm_stat * sm_unmon_all_1_svc();
0101 #define SM_SIMU_CRASH 5
0102 extern void * sm_simu_crash_1();
0103 extern void * sm_simu_crash_1_svc();
0104 extern int sm_prog_1_freeresult ();
0105 #endif
0106
0107
0108
0109 #if defined(__STDC__) || defined(__cplusplus)
0110 extern bool_t xdr_sm_name (XDR *, sm_name*);
0111 extern bool_t xdr_my_id (XDR *, my_id*);
0112 extern bool_t xdr_mon_id (XDR *, mon_id*);
0113 extern bool_t xdr_mon (XDR *, mon*);
0114 extern bool_t xdr_sm_stat (XDR *, sm_stat*);
0115 extern bool_t xdr_res (XDR *, res*);
0116 extern bool_t xdr_sm_stat_res (XDR *, sm_stat_res*);
0117 extern bool_t xdr_status (XDR *, status*);
0118
0119 #else
0120 extern bool_t xdr_sm_name ();
0121 extern bool_t xdr_my_id ();
0122 extern bool_t xdr_mon_id ();
0123 extern bool_t xdr_mon ();
0124 extern bool_t xdr_sm_stat ();
0125 extern bool_t xdr_res ();
0126 extern bool_t xdr_sm_stat_res ();
0127 extern bool_t xdr_status ();
0128
0129 #endif
0130
0131 #ifdef __cplusplus
0132 }
0133 #endif
0134
0135 #endif