00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef __AWHANDLER_ORACLE__
00023 #define __AWHANDLER_ORACLE__
00024
00025 #include <stdio.h>
00026
00027 #include "awdb.h"
00028
00029 #include "monitor.h"
00030
00031 #include "wire.h"
00032
00033 #include "awora.h"
00034
00185
00186
00187
00188
00189
00190
00194 typedef struct {
00195
00196 aw_handler_t
00197 handler_header;
00198
00199 aw_ora_state_t
00200 state;
00201
00202 aw_ora_cinfo_t
00203 cinfo;
00204
00205 byte_t
00206 *sql;
00207
00208 byte_t
00209 *desc;
00210
00211 aw_db_cevents_t
00212 cevents;
00213
00214 u_int32_t
00215 nwatchers;
00216
00217 aw_db_rwatcher_t
00218 *watchers;
00219
00220 u_int32_t
00221 ncounters;
00222
00223 aw_db_counter_t
00224 *counters;
00225
00226 } aw_oraclehandler_t;
00227
00244 aw_oraclehandler_t *aw_create_oraclehandler(aw_ora_cinfo_t *cinfo,
00245 byte_t *sql,
00246 byte_t *desc,
00247 aw_db_cevents_t *cevents,
00248 u_int32_t nregexs,
00249 aw_db_regex_t *regexs,
00250 u_int32_t ncounters,
00251 aw_db_counter_t *counters,
00252 int32_t (*regevent)(aw_handler_t *h, aw_address_t *eventid, u_int32_t index),
00253 int32_t (*regmaskevent)(aw_handler_t *h, aw_address_t *eventid, u_int32_t index),
00254 const aw_alarm_sched_t *sched,
00255 aw_logger_t *elogger);
00256
00257
00262 void aw_free_oraclehandler(aw_oraclehandler_t *h);
00263
00264
00268 aw_handler_t *aw_wire_oraclehandler(aw_wire_mkhandler_args_t *args);
00269
00270
00271 #endif
00272
00273
00274
00275
00276
00277
00278
00279
00280
00281
00282