1
0
Files
2022-09-29 17:59:04 +03:00

137 lines
5.1 KiB
C

#ifndef __SEH_H_
#define __SEH_H_
/*
* Init stuff.
*/
extern __uint64_t seh_check_arguments(int argc,char **argv);
extern __uint64_t seh_initialize(struct event_private *Pev);
extern void seh_clean_everything();
extern void seh_loop_init(struct event_private *Pev,
struct event_record *Pev_rec);
__uint64_t seh_thread_initialize(struct event_private *Pev);
/*
* API stuff.
*/
extern __uint64_t seh_api_setup_interfaces();
extern __uint64_t seh_tell_result_api(struct event_private *Pev,
struct event_record *Pev_rec,
__uint64_t err);
extern __uint64_t seh_get_event_api(struct event_private *Pev);
extern void seh_api_clean();
/*
* DSM stuff.
*/
extern __uint64_t seh_dsm_setup_interfaces();
extern void seh_dsm_clean();
extern __uint64_t seh_tell_event_dsm(struct event_private *Pev,
struct event_record *Pev_rec);
/*
* SSDB stuff.
*/
extern __uint64_t seh_setup_interfaces_ssdb();
extern __uint64_t seh_get_num_events_ssdb(int *Pnum_events);
extern __uint64_t seh_update_event_record_ssdb(struct event_private *Pev,
struct event_record *Pev_rec);
extern void seh_clean_ssdb();
extern __uint64_t seh_init_all_events_ssdb();
extern __uint64_t seh_time_throttle_events_ssdb(time_t cur_time);
extern __uint64_t seh_update_all_events_ssdb(__uint64_t sys_id);
extern __uint64_t seh_update_all_events_byclass_ssdb(__uint64_t sys_id,
int class);
extern __uint64_t seh_update_all_events_bytype_ssdb(__uint64_t sys_id,int type);
extern __uint64_t seh_read_sysinfo(SGMLicense_t *);
/*
* Event stuff.
*/
extern __uint64_t seh_delete_event(struct event_private *Pev);
extern __uint64_t seh_add_event(struct event_private *Pev);
extern __uint64_t seh_find_event(int class,int type, __uint64_t sys_id,
struct event_private **PPev);
extern __uint64_t seh_init_event(struct event_private *Pev);
extern __uint64_t seh_init_each_event(struct event_private *Pev);
extern __uint64_t seh_throttle_event(struct event_private *ev, int);
extern __uint64_t seh_init_all_events();
extern __uint64_t seh_syslog_event(struct event_private *Pev,char *msg,...);
extern __uint64_t seh_initialize_error_event(struct event_private *Pev,
__uint64_t sys_id);
extern __uint64_t seh_initialize_config_event(struct event_private *Pev,
__uint64_t sys_id);
extern __uint64_t seh_reconfig_event(struct event_private *Pev);
extern char *seh_form_config_event_record(struct event_private *);
extern __uint64_t seh_dsm_sendable_event(struct event_private *Pev,
__uint64_t err);
extern __uint64_t seh_api_sendable_event(struct event_private *Pev,
__uint64_t err);
extern void seh_events_clean();
extern void seh_events_alarm_handler();
extern void seh_free_event(struct event_private *Pev,void *flag);
extern __uint64_t seh_initialize_both_archive_events();
/*
* DSM stuff.
*/
extern void dsm_delete_event(struct event_private *Pev);
extern void put_escape_char_before(char *Psrc,char *Pdest,char c);
/*
* Archive stuff.
*/
extern __uint64_t seh_receive_archive_port(int d,char **Pb,int *l,int *p,
__uint64_t *a);
extern __uint64_t seh_send_archive_port(int d,char *b,int l,int p,
__uint64_t *a);
extern __uint64_t seh_archive_setup_interfaces(int daemon);
extern void seh_archive_clean();
/*
* string stuff.
*/
extern __uint64_t stringtab_clean();
extern __uint64_t stringtab_init();
extern __uint64_t string_free(char *s,int maxlen);
extern char *string_dup(char *s,int maxlen);
#define SEH_CHECK_STATE(Pev) \
{ \
switch(state) { \
case SEH_ARCHIVING_STATE: \
/* \
* Signal everyone that SEH is ready for archiving. \
*/ \
SSDB_ARCHIVE_STATE(); \
case SSDB_ARCHIVING_STATE: \
case INITIALIZATION_STATE: \
return 0; \
case EVENT_HANDLING_STATE: \
default: \
break; \
} \
}
#define ALARM_CHECK_STATE() \
{ \
switch(state) { \
case SEH_ARCHIVING_STATE: \
case SSDB_ARCHIVING_STATE: \
if(i++ == ARCHIVE_TIMEOUT) \
{ \
EVENT_STATE(); /* reset to event state. */ \
i=0; \
} \
break; \
default: \
break; \
} \
}
#endif /* __SEH_H_ */