2 * callback.c: A generic callback mechanism
12 #define MAX_CALLBACK_IDS 2
13 #define MAX_CALLBACK_SUBIDS 16
16 * Callback Major Types
18 #define SNMP_CALLBACK_LIBRARY 0
19 #define SNMP_CALLBACK_APPLICATION 1
22 * SNMP_CALLBACK_LIBRARY minor types
24 #define SNMP_CALLBACK_POST_READ_CONFIG 0
25 #define SNMP_CALLBACK_STORE_DATA 1
26 #define SNMP_CALLBACK_SHUTDOWN 2
27 #define SNMP_CALLBACK_POST_PREMIB_READ_CONFIG 3
28 #define SNMP_CALLBACK_LOGGING 4
29 #define SNMP_CALLBACK_SESSION_INIT 5
31 typedef int (SNMPCallback) (int majorID, int minorID,
32 void *serverarg, void *clientarg);
34 struct snmp_gen_callback {
35 SNMPCallback *sc_callback;
37 struct snmp_gen_callback *next;
43 void init_callbacks(void);
44 int snmp_register_callback(int major, int minor,
45 SNMPCallback * new_callback,
47 int snmp_call_callbacks(int major, int minor,
49 int snmp_callback_available(int major, int minor); /* is >1 available */
50 int snmp_count_callbacks(int major, int minor); /* ret the number registered */
51 int snmp_unregister_callback(int major, int minor,
52 SNMPCallback * new_callback,
53 void *arg, int matchargs);
54 struct snmp_gen_callback *snmp_callback_list(int major, int minor);
59 #endif /* CALLBACK_H */