0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034 #ifndef TPADMSV_H
0035 #define TPADMSV_H
0036
0037 #ifdef __cplusplus
0038 extern "C" {
0039 #endif
0040
0041
0042
0043 extern char ndrx_G_svcnm2[];
0044
0045
0046
0047 #define TPADM_ERROR_MINSZ MAX_TP_ERROR_LEN+128
0048
0049
0050
0051 #define TPADM_CLIENT_DATASZ (sizeof(ndrx_adm_client_t)*2)
0052
0053
0054 #define TPADM_DEFAULT_BUFFER_MINSZ 4096
0055
0056 #define TPADM_DEFAULT_VALIDITY 30
0057
0058 #define TPADM_DEFAULT_SCANTIME 15
0059
0060 #define TPADM_DEFAULT_CURSORS_MAX 100
0061
0062 #define TPADM_EL(X,Y) EXOFFSET(X, Y), #Y
0063
0064
0065
0066
0067
0068
0069 typedef struct
0070 {
0071 int buffer_minsz;
0072 int validity;
0073 int scantime;
0074 int cursors_max;
0075 } ndrx_adm_conf_t;
0076
0077
0078
0079
0080 typedef struct
0081 {
0082 BFLDID fid;
0083 int c_offset;
0084 char *name;
0085 } ndrx_adm_elmap_t;
0086
0087
0088
0089
0090 struct ndrx_adm_cursors
0091 {
0092 char cursorid[MAXTIDENT+1];
0093 int curspos;
0094 ndrx_growlist_t list;
0095
0096 ndrx_stopwatch_t w;
0097 ndrx_adm_elmap_t *map;
0098 EX_hash_handle hh;
0099 };
0100
0101
0102
0103
0104 typedef struct ndrx_adm_cursors ndrx_adm_cursors_t;
0105
0106
0107
0108
0109 typedef struct
0110 {
0111 char *clazz;
0112 char clazzshort[3];
0113
0114 int (*p_get)(char *clazz, ndrx_adm_cursors_t *cursnew, long flags);
0115 ndrx_adm_elmap_t *fields_map;
0116 } ndrx_adm_class_map_t;
0117
0118
0119 extern NDRX_API ndrx_adm_class_map_t ndrx_G_class_map[];
0120 extern NDRX_API ndrx_adm_elmap_t ndrx_G_client_map[];
0121 extern NDRX_API ndrx_adm_elmap_t ndrx_G_domain_map[];
0122 extern NDRX_API ndrx_adm_elmap_t ndrx_G_machine_map[];
0123 extern NDRX_API ndrx_adm_elmap_t ndrx_G_queue_map[];
0124 extern NDRX_API ndrx_adm_elmap_t ndrx_G_server_map[];
0125 extern NDRX_API ndrx_adm_elmap_t ndrx_G_service_map[];
0126 extern NDRX_API ndrx_adm_elmap_t ndrx_G_svcgrp_map[];
0127 extern NDRX_API ndrx_adm_elmap_t ndrx_G_brcon_map[];
0128
0129
0130 extern ndrx_adm_conf_t ndrx_G_adm_config;
0131
0132
0133 extern long ndrx_adm_error_get(UBFH *p_ub);
0134 extern int ndrx_adm_error_set(UBFH *p_ub, long error_code,
0135 long fldid, const char *fmt, ...);
0136
0137
0138 extern NDRX_API int ndrx_adm_client_get(char *clazz, ndrx_adm_cursors_t *cursnew, long flags);
0139 extern NDRX_API int ndrx_adm_domain_get(char *clazz, ndrx_adm_cursors_t *cursnew, long flags);
0140 extern NDRX_API int ndrx_adm_machine_get(char *clazz, ndrx_adm_cursors_t *cursnew, long flags);
0141 extern NDRX_API int ndrx_adm_queue_get(char *clazz, ndrx_adm_cursors_t *cursnew, long flags);
0142 extern NDRX_API int ndrx_adm_server_get(char *clazz, ndrx_adm_cursors_t *cursnew, long flags);
0143 extern NDRX_API int ndrx_adm_service_get(char *clazz, ndrx_adm_cursors_t *cursnew, long flags);
0144 extern NDRX_API int ndrx_adm_svcgrp_get(char *clazz, ndrx_adm_cursors_t *cursnew, long flags);
0145 extern NDRX_API int ndrx_adm_brcon_get(char *clazz, ndrx_adm_cursors_t *cursnew, long flags);
0146
0147 extern NDRX_API int ndrx_adm_list_call(int (*p_rsp_process)(command_reply_t *reply, size_t reply_len),
0148 int req_cmd, int resp_cmd, char *dst_qstr);
0149
0150 extern NDRX_API ndrx_adm_cursors_t* ndrx_adm_curs_get(char *cursid);
0151
0152 extern NDRX_API ndrx_adm_cursors_t* ndrx_adm_curs_new(UBFH *p_ub, ndrx_adm_class_map_t *map,
0153 ndrx_adm_cursors_t *data);
0154
0155 extern NDRX_API int ndrx_adm_curs_housekeep(void);
0156 extern NDRX_API void ndrx_adm_curs_close(ndrx_adm_cursors_t *curs);
0157 extern NDRX_API int ndrx_adm_curs_fetch(UBFH *p_ub, ndrx_adm_cursors_t *curs,
0158 long *ret_occurs, long *ret_more);
0159
0160 extern NDRX_API ndrx_adm_class_map_t *ndrx_adm_class_map_get(char *clazz);
0161
0162 #ifdef __cplusplus
0163 }
0164 #endif
0165
0166 #endif
0167
0168