54#define OMAPI_TYPED_DATA_NOBUFFER_LEN (sizeof (int) + \
55 sizeof (omapi_datatype_t) + \
59#define OMAPI_TYPED_DATA_OBJECT_LEN (sizeof (int) + \
60 sizeof (omapi_datatype_t) + \
61 sizeof (omapi_object_t *))
63#define OMAPI_TYPED_DATA_REF_LEN (sizeof (int) + \
64 sizeof (omapi_datatype_t) + \
69 void *,
const char *,
int);
73#define OMAPI_TYPED_DATA_INT_LEN (sizeof (int) + \
74 sizeof (omapi_datatype_t) + \
83#define OMAPI_DATA_STRING_EMPTY_SIZE (2 * sizeof (int))
105 const char *, va_list);
120#define OMAPI_OBJECT_PREAMBLE \
121 omapi_object_type_t *type; \
123 omapi_handle_t handle; \
124 omapi_object_t *outer, *inner
132#define OMAPI_PROTOCOL_PORT 7911
155#define OMAPI_CREATE 1
156#define OMAPI_UPDATE 2
158#define OMAPI_NOTIFY_PROTOCOL 8
160#define OMAPI_OBJECT_ALLOC(name, stype, type) \
161isc_result_t name##_allocate (stype **p, const char *file, int line) \
163 return omapi_object_allocate ((omapi_object_t **)p, \
164 type, 0, file, line); \
167isc_result_t name##_reference (stype **pptr, stype *ptr, \
168 const char *file, int line) \
170 return omapi_object_reference ((omapi_object_t **)pptr, \
171 (omapi_object_t *)ptr, file, line); \
174isc_result_t name##_dereference (stype **ptr, const char *file, int line) \
176 return omapi_object_dereference ((omapi_object_t **)ptr, file, line); \
179#define OMAPI_OBJECT_ALLOC_DECL(name, stype, type) \
180isc_result_t name##_allocate (stype **p, const char *file, int line); \
181isc_result_t name##_reference (stype **pptr, stype *ptr, \
182 const char *file, int line); \
183isc_result_t name##_dereference (stype **ptr, const char *file, int line);
197#define OMAPI_ARRAY_TYPE(name, stype) \
198isc_result_t name##_array_allocate (omapi_array_t **p, \
199 const char *file, int line) \
201 return (omapi_array_allocate \
203 (omapi_array_ref_t)name##_reference, \
204 (omapi_array_deref_t)name##_dereference, \
208isc_result_t name##_array_free (omapi_array_t **p, \
209 const char *file, int line) \
211 return omapi_array_free (p, file, line); \
214isc_result_t name##_array_extend (omapi_array_t *pptr, stype *ptr, int *index,\
215 const char *file, int line) \
217 return omapi_array_extend (pptr, (char *)ptr, index, file, line); \
220isc_result_t name##_array_set (omapi_array_t *pptr, stype *ptr, int index, \
221 const char *file, int line) \
223 return omapi_array_set (pptr, (char *)ptr, index, file, line); \
226isc_result_t name##_array_lookup (stype **ptr, omapi_array_t *pptr, \
227 int index, const char *file, int line) \
229 return omapi_array_lookup ((char **)ptr, pptr, index, file, line); \
232#define OMAPI_ARRAY_TYPE_DECL(name, stype) \
233isc_result_t name##_array_allocate (omapi_array_t **, const char *, int); \
234isc_result_t name##_array_free (omapi_array_t **, const char *, int); \
235isc_result_t name##_array_extend (omapi_array_t *, stype *, int *, \
236 const char *, int); \
237isc_result_t name##_array_set (omapi_array_t *, \
238 stype *, int, const char *, int); \
239isc_result_t name##_array_lookup (stype **, \
240 omapi_array_t *, int, const char *, int)
242#define omapi_array_foreach_begin(array, stype, var) \
244 int omapi_array_foreach_index; \
245 stype *var = (stype *)0; \
246 for (omapi_array_foreach_index = 0; \
248 omapi_array_foreach_index < (array) -> count; \
249 omapi_array_foreach_index++) { \
250 if ((array) -> data [omapi_array_foreach_index]) { \
253 (array) -> data [omapi_array_foreach_index],\
256#define omapi_array_foreach_end(array, stype, var) \
257 (*(array) -> deref) ((char **)&var, MDL); \
298 const char *, va_list);
310 const char *, va_list);
315 isc_result_t,
unsigned,
const char *);
340 const char *, va_list);
371 const char *, va_list);
403 const char *, va_list);
417 const char *, va_list);
432 const char *, va_list);
502 isc_result_t (*) (
size_t),
size_t,
520 const
char *, const
char *);
540 const
unsigned char *,
541 unsigned, const
char *,
int);
543 int, const
char *,
int);
545 unsigned int, const
char *,
int);
551 const
char *, const
char *,
int);
558void *
dmalloc (
size_t, const
char *,
int);
559void dfree (
void *, const
char *,
int);
560#if defined (DEBUG_MEMORY_LEAKAGE) || defined (DEBUG_MALLOC_POOL) || \
561 defined (DEBUG_MEMORY_LEAKAGE_ON_EXIT)
563void dmalloc_dump_outstanding (
void);
565#define dmalloc_reuse(x,y,l,z)
567#define MDL __FILE__, __LINE__
568#if defined (DEBUG_RC_HISTORY)
569void dump_rc_history (
void *);
570void rc_history_next (
int);
575 size_t,
const char *,
int);
578 size_t,
size_t,
const char *,
int);
590 unsigned,
const char *,
int);
isc_result_t omapi_value_dereference(omapi_value_t **, const char *, int)
isc_result_t omapi_protocol_connect(omapi_object_t *, const char *, unsigned, omapi_object_t *)
isc_result_t omapi_connection_set_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_typed_data_t *)
isc_result_t omapi_generic_stuff_values(omapi_object_t *, omapi_object_t *, omapi_object_t *)
void omapi_print_dmalloc_usage_by_caller(void)
isc_result_t omapi_generic_clear_flags(omapi_object_t *)
isc_result_t omapi_message_stuff_values(omapi_object_t *, omapi_object_t *, omapi_object_t *)
isc_result_t omapi_protocol_send_message(omapi_object_t *, omapi_object_t *, omapi_object_t *, omapi_object_t *)
isc_result_t omapi_protocol_send_open(omapi_object_t *, omapi_object_t *, const char *, omapi_object_t *, unsigned)
isc_result_t omapi_generic_new(omapi_object_t **, const char *, int)
isc_result_t omapi_make_object_value(omapi_value_t **, omapi_data_string_t *, omapi_object_t *, const char *, int)
isc_result_t omapi_connection_put_string(omapi_object_t *, const char *)
int omapi_data_string_cmp(omapi_data_string_t *, omapi_data_string_t *)
isc_result_t omapi_one_dispatch(omapi_object_t *, struct timeval *)
isc_result_t omapi_typed_data_reference(omapi_typed_data_t **, omapi_typed_data_t *, const char *, int)
omapi_object_type_t * omapi_type_io_object
struct __omapi_object_type_t omapi_object_type_t
isc_result_t omapi_set_boolean_value(omapi_object_t *, omapi_object_t *, const char *, int)
isc_result_t omapi_connect_list(omapi_object_t *, omapi_addr_list_t *, omapi_addr_t *)
isc_result_t omapi_message_destroy(omapi_object_t *, const char *, int)
isc_result_t omapi_register_io_object(omapi_object_t *, int(*)(omapi_object_t *), int(*)(omapi_object_t *), isc_result_t(*)(omapi_object_t *), isc_result_t(*)(omapi_object_t *), isc_result_t(*)(omapi_object_t *))
isc_result_t omapi_set_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_typed_data_t *)
isc_result_t omapi_message_process(omapi_object_t *, omapi_object_t *)
isc_result_t omapi_object_dereference(omapi_object_t **, const char *, int)
isc_result_t omapi_set_object_value(omapi_object_t *, omapi_object_t *, const char *, omapi_object_t *)
int omapi_connection_writefd(omapi_object_t *)
isc_result_t omapi_unregister_io_object(omapi_object_t *)
isc_result_t omapi_protocol_listen(omapi_object_t *, unsigned, int)
isc_result_t omapi_message_get_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_value_t **)
isc_result_t omapi_data_string_new(omapi_data_string_t **, unsigned, const char *, int)
isc_result_t omapi_value_reference(omapi_value_t **, omapi_value_t *, const char *, int)
isc_result_t omapi_listen_addr(omapi_object_t *, omapi_addr_t *, int)
int omapi_td_strcasecmp(omapi_typed_data_t *, const char *)
isc_result_t omapi_dispatch(struct timeval *)
isc_result_t omapi_get_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_value_t **)
isc_result_t omapi_message_register(omapi_object_t *)
isc_result_t omapi_protocol_destroy(omapi_object_t *, const char *, int)
isc_result_t omapi_connection_reader(omapi_object_t *)
isc_result_t omapi_addr_list_dereference(omapi_addr_list_t **, const char *, int)
isc_result_t omapi_make_value(omapi_value_t **, omapi_data_string_t *, omapi_typed_data_t *, const char *, int)
isc_result_t omapi_io_destroy(omapi_object_t *, const char *, int)
isc_result_t omapi_protocol_ready(omapi_object_t *)
isc_result_t omapi_auth_key_stuff_values(omapi_object_t *, omapi_object_t *, omapi_object_t *)
isc_result_t omapi_object_handle(omapi_handle_t *, omapi_object_t *)
isc_result_t omapi_protocol_listener_set_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_typed_data_t *)
isc_boolean_t omapi_protocol_authenticated(omapi_object_t *)
isc_result_t omapi_addr_list_reference(omapi_addr_list_t **, omapi_addr_list_t *, const char *, int)
#define dmalloc_reuse(x, y, l, z)
struct __omapi_object omapi_object_t
isc_result_t omapi_connection_writer(omapi_object_t *)
int omapi_listener_readfd(omapi_object_t *)
isc_result_t omapi_protocol_add_auth(omapi_object_t *, omapi_object_t *, omapi_handle_t)
isc_result_t omapi_disconnect(omapi_object_t *, int)
omapi_object_type_t * omapi_type_waiter
isc_result_t omapi_object_create(omapi_object_t **, omapi_object_t *, omapi_object_type_t *)
isc_result_t omapi_init(void)
omapi_object_type_t * omapi_type_auth_key
isc_result_t omapi_connection_get_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_value_t **)
isc_result_t omapi_protocol_send_intro(omapi_object_t *, unsigned, unsigned)
isc_result_t omapi_listener_signal_handler(omapi_object_t *, const char *, va_list)
isc_result_t omapi_io_set_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_typed_data_t *)
isc_result_t omapi_set_value_str(omapi_object_t *, omapi_object_t *, const char *, omapi_typed_data_t *)
isc_result_t omapi_handle_td_lookup(omapi_object_t **, omapi_typed_data_t *)
isc_result_t omapi_array_extend(omapi_array_t *, char *, int *, const char *, int)
isc_result_t omapi_connection_reaper(omapi_object_t *)
omapi_object_type_t * omapi_type_remote
isc_result_t omapi_auth_key_lookup_name(omapi_auth_key_t **, const char *)
isc_result_t omapi_listener_set_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_typed_data_t *)
int omapi_td_strcmp(omapi_typed_data_t *, const char *)
isc_result_t omapi_connection_stuff_values(omapi_object_t *, omapi_object_t *, omapi_object_t *)
isc_result_t omapi_protocol_accept(omapi_object_t *)
isc_result_t omapi_auth_key_lookup(omapi_object_t **, omapi_object_t *, omapi_object_t *)
isc_result_t omapi_generic_get_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_value_t **)
isc_result_t omapi_connect(omapi_object_t *, const char *, unsigned)
isc_result_t omapi_make_uint_value(omapi_value_t **, omapi_data_string_t *, unsigned int, const char *, int)
#define OMAPI_OBJECT_ALLOC_DECL(name, stype, type)
isc_result_t omapi_object_type_register(omapi_object_type_t **, const char *, isc_result_t(*)(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_typed_data_t *), isc_result_t(*)(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_value_t **), isc_result_t(*)(omapi_object_t *, const char *, int), isc_result_t(*)(omapi_object_t *, const char *, va_list), isc_result_t(*)(omapi_object_t *, omapi_object_t *, omapi_object_t *), isc_result_t(*)(omapi_object_t **, omapi_object_t *, omapi_object_t *), isc_result_t(*)(omapi_object_t **, omapi_object_t *), isc_result_t(*)(omapi_object_t *, omapi_object_t *), isc_result_t(*)(omapi_object_t *, const char *, int), isc_result_t(*)(omapi_object_t **, const char *, int), isc_result_t(*)(size_t), size_t, isc_result_t(*)(omapi_object_t *, const char *, int), int)
isc_result_t omapi_protocol_send_status(omapi_object_t *, omapi_object_t *, isc_result_t, unsigned, const char *)
isc_result_t omapi_protocol_listener_destroy(omapi_object_t *, const char *, int)
isc_result_t omapi_array_set(omapi_array_t *, void *, int, const char *, int)
isc_result_t omapi_typed_data_dereference(omapi_typed_data_t **, const char *, int)
int omapi_connection_readfd(omapi_object_t *)
omapi_object_type_t * omapi_type_generic
isc_result_t omapi_wait_for_completion(omapi_object_t *, struct timeval *)
isc_result_t omapi_protocol_get_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_value_t **)
isc_result_t omapi_make_string_value(omapi_value_t **, omapi_data_string_t *, const char *, const char *, int)
isc_result_t omapi_connection_destroy(omapi_object_t *, const char *, int)
isc_result_t omapi_object_reference(omapi_object_t **, omapi_object_t *, const char *, int)
isc_result_t omapi_protocol_lookup_auth(omapi_object_t **, omapi_object_t *, omapi_handle_t)
isc_result_t omapi_protocol_set_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_typed_data_t *)
isc_result_t omapi_connection_signal_handler(omapi_object_t *, const char *, va_list)
omapi_object_type_t * omapi_type_protocol
isc_result_t omapi_listener_accept(omapi_object_t *)
isc_result_t omapi_io_state_foreach(isc_result_t(*func)(omapi_object_t *, void *), void *p)
calls a given function on every object
isc_result_t omapi_array_free(omapi_array_t **, const char *, int)
isc_result_t omapi_data_string_dereference(omapi_data_string_t **, const char *, int)
isc_result_t omapi_protocol_stuff_values(omapi_object_t *, omapi_object_t *, omapi_object_t *)
isc_result_t omapi_array_lookup(char **, omapi_array_t *, int, const char *, int)
isc_result_t omapi_io_stuff_values(omapi_object_t *, omapi_object_t *, omapi_object_t *)
isc_result_t omapi_signal_in(omapi_object_t *, const char *,...)
isc_result_t omapi_io_signal_handler(omapi_object_t *, const char *, va_list)
isc_result_t omapi_signal(omapi_object_t *, const char *,...)
isc_result_t omapi_reregister_io_object(omapi_object_t *, int(*)(omapi_object_t *), int(*)(omapi_object_t *), isc_result_t(*)(omapi_object_t *), isc_result_t(*)(omapi_object_t *), isc_result_t(*)(omapi_object_t *))
isc_result_t omapi_connection_write_typed_data(omapi_object_t *, omapi_typed_data_t *)
isc_result_t omapi_handle_lookup(omapi_object_t **, omapi_handle_t)
isc_result_t omapi_object_update(omapi_object_t *, omapi_object_t *, omapi_object_t *, omapi_handle_t)
isc_result_t omapi_listener_stuff_values(omapi_object_t *, omapi_object_t *, omapi_object_t *)
isc_result_t omapi_addr_list_new(omapi_addr_list_t **, unsigned, const char *, int)
unsigned int omapi_handle_t
int omapi_ds_strcmp(omapi_data_string_t *, const char *)
isc_result_t omapi_io_get_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_value_t **)
void omapi_type_relinquish(void)
isc_result_t(* omapi_array_deref_t)(char **, const char *, int)
isc_result_t omapi_listener_configure_security(omapi_object_t *, isc_result_t(*)(omapi_object_t *, omapi_addr_t *))
isc_result_t omapi_make_handle_value(omapi_value_t **, omapi_data_string_t *, omapi_object_t *, const char *, int)
omapi_object_type_t * omapi_type_connection
isc_result_t omapi_set_string_value(omapi_object_t *, omapi_object_t *, const char *, const char *)
isc_result_t omapi_connection_output_auth_length(omapi_object_t *, unsigned *)
isc_result_t omapi_typed_data_new(const char *, int, omapi_typed_data_t **, omapi_datatype_t,...)
isc_result_t omapi_protocol_listener_stuff(omapi_object_t *, omapi_object_t *, omapi_object_t *)
isc_result_t omapi_protocol_signal_handler(omapi_object_t *, const char *, va_list)
isc_result_t omapi_message_set_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_typed_data_t *)
isc_result_t omapi_generic_set_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_typed_data_t *)
isc_result_t omapi_message_unregister(omapi_object_t *)
void * dmalloc(size_t, const char *, int)
isc_result_t omapi_generic_destroy(omapi_object_t *, const char *, int)
isc_result_t omapi_data_string_reference(omapi_data_string_t **, omapi_data_string_t *, const char *, int)
isc_result_t omapi_stuff_values(omapi_object_t *, omapi_object_t *, omapi_object_t *)
omapi_object_type_t * omapi_type_listener
#define OMAPI_ARRAY_TYPE_DECL(name, stype)
isc_result_t omapi_array_allocate(omapi_array_t **, omapi_array_ref_t, omapi_array_deref_t, const char *, int)
isc_result_t omapi_connection_put_named_uint32(omapi_object_t *, const char *, u_int32_t)
isc_result_t omapi_protocol_listener_get_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_value_t **)
void dfree(void *, const char *, int)
isc_result_t omapi_auth_key_get_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_value_t **)
isc_result_t omapi_get_value_str(omapi_object_t *, omapi_object_t *, const char *, omapi_value_t **)
isc_result_t omapi_connection_put_handle(omapi_object_t *c, omapi_object_t *h)
isc_result_t omapi_get_int_value(unsigned long *, omapi_typed_data_t *)
isc_result_t omapi_generic_signal_handler(omapi_object_t *, const char *, va_list)
isc_result_t omapi_auth_key_enter(omapi_auth_key_t *)
struct auth_key omapi_auth_key_t
isc_result_t omapi_accept(omapi_object_t *)
isc_result_t omapi_object_initialize(omapi_object_t *, omapi_object_type_t *, size_t, size_t, const char *, int)
omapi_object_type_t * omapi_type_protocol_listener
isc_result_t omapi_message_signal_handler(omapi_object_t *, const char *, va_list)
isc_result_t omapi_listen(omapi_object_t *, unsigned, int)
isc_result_t omapi_auth_key_destroy(omapi_object_t *, const char *, int)
isc_result_t omapi_connection_put_name(omapi_object_t *, const char *)
isc_result_t omapi_listener_get_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_value_t **)
isc_result_t omapi_protocol_configure_security(omapi_object_t *, isc_result_t(*)(omapi_object_t *, omapi_addr_t *), isc_result_t(*)(omapi_object_t *, omapi_auth_key_t *))
isc_result_t omapi_connection_connect(omapi_object_t *)
isc_result_t omapi_object_allocate(omapi_object_t **, omapi_object_type_t *, size_t, const char *, int)
isc_result_t(* omapi_array_ref_t)(char **, char *, const char *, int)
isc_result_t omapi_protocol_send_update(omapi_object_t *, omapi_object_t *, unsigned, omapi_object_t *)
isc_result_t omapi_message_new(omapi_object_t **, const char *, int)
omapi_object_type_t * omapi_type_message
isc_result_t omapi_waiter_signal_handler(omapi_object_t *, const char *, va_list)
isc_result_t omapi_listener_destroy(omapi_object_t *, const char *, int)
omapi_object_type_t * omapi_object_types
isc_result_t omapi_make_int_value(omapi_value_t **, omapi_data_string_t *, int, const char *, int)
isc_result_t omapi_protocol_listener_signal(omapi_object_t *, const char *, va_list)
isc_result_t omapi_make_const_value(omapi_value_t **, omapi_data_string_t *, const unsigned char *, unsigned, const char *, int)
isc_result_t omapi_value_new(omapi_value_t **, const char *, int)
isc_result_t omapi_set_int_value(omapi_object_t *, omapi_object_t *, const char *, int)
struct __omapi_object_type_t * next
isc_result_t(* allocator)(omapi_object_t **, const char *, int)
isc_result_t(* set_value)(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_typed_data_t *)
isc_result_t(* signal_handler)(omapi_object_t *, const char *, va_list)
isc_result_t(* create)(omapi_object_t **, omapi_object_t *)
isc_result_t(* get_value)(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_value_t **)
isc_result_t(* stuff_values)(omapi_object_t *, omapi_object_t *, omapi_object_t *)
isc_result_t(* freer)(omapi_object_t *, const char *, int)
isc_result_t(* sizer)(size_t)
isc_result_t(* lookup)(omapi_object_t **, omapi_object_t *, omapi_object_t *)
isc_result_t(* destroy)(omapi_object_t *, const char *, int)
isc_result_t(* remove)(omapi_object_t *, omapi_object_t *)
isc_result_t(* initialize)(omapi_object_t *, const char *, int)
omapi_data_string_t * key
unsigned char address[16]
omapi_array_deref_t deref
isc_result_t(* dereference)(void *, const char *, int)
isc_result_t(* reference)(void *, void *, const char *, int)
omapi_data_string_t * name
omapi_typed_data_t * value