00001 #ifndef RSINTF_H
00002 #define RSINTF_H
00003
00004 #include <ctype.h>
00005 #include <limits.h>
00006 #include <time.h>
00007 #include <sys/types.h>
00008 #include <netinet/in.h>
00009
00010 #ifdef __cplusplus
00011 extern "C" {
00012 #endif
00013
00042
00044 #define RS_REG_MAX 256
00045
00046 #define RS_RC_OK 0
00047 #define RS_RC_REG_MAX 1
00048 #define RS_RC_REG_ALREADY 2
00049 #define RS_RC_REG_EMPTY 3
00050 #define RS_RC_INT_001 101
00051 #define RS_RC_INT_002 102
00052 #define RS_RC_INT_003 103
00053 #define RS_RC_INT_004 104
00054 #define RS_RC_INT_005 105
00055
00057 #define RS_NODE_WILD 0
00058
00060 typedef struct
00061 {
00062
00063 char proc[32];
00064 int node;
00065
00066
00067 char host[32];
00068 pid_t pid;
00069 int tcp_port;
00070 int udp_port;
00071
00072
00073 struct in_addr ip;
00074 time_t t;
00075 int id;
00076 } rs_reg_t;
00077
00078
00086 int rs_register( rs_reg_t *preg );
00087
00096 int rs_register_ext( rs_reg_t *preg );
00097
00105 int rs_unregister( rs_reg_t *preg );
00106
00114 int rs_unregister_ext( rs_reg_t *preg );
00115
00128 int rs_scan( rs_reg_t *ppat, rs_reg_t *pret, int *nret );
00146 int rs_get_reginfo( int node, char *proc, rs_reg_t *pinfo );
00147
00156 int rs_mark_reginfo_invalid( int node, char *proc );
00157
00168 int rs_get_reginfo_direct( int node, char *proc, rs_reg_t *pinfo );
00169
00177 int rs_set_verboselevel( int level );
00178
00181 #ifdef __cplusplus
00182 }
00183 #endif
00184
00185 #endif
00186