49 #if defined (DEBUG_MEMORY_LEAKAGE_ON_EXIT) 54 for (t = omapi_object_types; t; t = n) {
78 if (status != ISC_R_SUCCESS)
91 if (status != ISC_R_SUCCESS)
104 if (status != ISC_R_SUCCESS)
117 if (status != ISC_R_SUCCESS)
130 if (status != ISC_R_SUCCESS)
134 (&omapi_type_protocol_listener,
"protocol-listener",
142 if (status != ISC_R_SUCCESS)
155 if (status != ISC_R_SUCCESS)
167 if (status != ISC_R_SUCCESS)
181 if (status != ISC_R_SUCCESS)
184 #if defined (TRACING) 191 return ISC_R_SUCCESS;
196 isc_result_t (*set_value)
201 isc_result_t (*get_value)
206 isc_result_t (*destroy)
209 isc_result_t (*signal_handler)
211 const char *, va_list),
212 isc_result_t (*stuff_values)
216 isc_result_t (*lookup)
220 isc_result_t (*create)
223 isc_result_t (*
remove)
226 isc_result_t (*freer)
229 isc_result_t (*allocator)
232 isc_result_t (*sizer) (
size_t),
234 isc_result_t (*initialize)
243 return ISC_R_NOMEMORY;
244 memset (t, 0,
sizeof *t);
247 t -> set_value = set_value;
248 t -> get_value = get_value;
249 t -> destroy = destroy;
250 t -> signal_handler = signal_handler;
251 t -> stuff_values = stuff_values;
252 t -> lookup = lookup;
253 t -> create = create;
254 t ->
remove =
remove;
259 t -> allocator = allocator;
260 t -> initialize = initialize;
261 t -> rc_flag = rc_flag;
262 omapi_object_types = t;
265 return ISC_R_SUCCESS;
275 for (outer = handle; outer -> outer; outer = outer -> outer)
277 if (outer -> type -> signal_handler)
278 status = (*(outer -> type -> signal_handler)) (outer,
281 status = ISC_R_NOTFOUND;
292 return ISC_R_NOTFOUND;
295 if (handle -> type -> signal_handler)
296 status = (*(handle -> type -> signal_handler)) (handle,
299 status = ISC_R_NOTFOUND;
314 log_info (
"omapi_set_value (%.*s, NULL)",
315 (
int)name -> len, name -> value);
317 log_info (
"omapi_set_value (%.*s, %ld)",
318 (
int)name -> len, name -> value,
321 log_info (
"omapi_set_value (%.*s, %.*s)",
322 (
int)name -> len, name -> value,
325 log_info (
"omapi_set_value (%.*s, %ld %lx)",
326 (
int)name -> len, name -> value,
327 (
long)value -> u.
buffer.len,
328 (
unsigned long)value -> u.
buffer.value);
330 log_info (
"omapi_set_value (%.*s, %s)",
331 (
int)name -> len, name -> value,
333 ? (value -> u.
object -> type
334 ? value -> u.
object -> type -> name
335 :
"(unknown object)")
336 :
"(unknown object)");
340 for (outer = h; outer -> outer; outer = outer -> outer)
342 if (outer -> type -> set_value)
343 status = (*(outer -> type -> set_value)) (outer,
346 status = ISC_R_NOTFOUND;
348 log_info (
" ==> %s", isc_result_totext (status));
363 if (status != ISC_R_SUCCESS)
365 memcpy (nds -> value, name, strlen (name));
373 const char *name,
int value)
380 if (status != ISC_R_SUCCESS)
382 memcpy (n -> value, name, strlen (name));
385 if (status != ISC_R_SUCCESS) {
397 const char *name,
int value)
404 if (status != ISC_R_SUCCESS)
406 memcpy (n -> value, name, strlen (name));
409 if (status != ISC_R_SUCCESS) {
428 if (status != ISC_R_SUCCESS)
430 memcpy (n -> value, name, strlen (name));
433 if (status != ISC_R_SUCCESS) {
445 const char *name,
const char *value)
452 if (status != ISC_R_SUCCESS)
454 memcpy (n -> value, name, strlen (name));
457 if (status != ISC_R_SUCCESS) {
475 for (outer = h; outer -> outer; outer = outer -> outer)
477 if (outer -> type -> get_value)
478 return (*(outer -> type -> get_value)) (outer,
480 return ISC_R_NOTFOUND;
494 if (status != ISC_R_SUCCESS)
496 memcpy (nds -> value, name, strlen (name));
498 for (outer = h; outer -> outer; outer = outer -> outer)
500 if (outer -> type -> get_value)
501 status = (*(outer -> type -> get_value)) (outer,
504 status = ISC_R_NOTFOUND;
515 for (outer = o; outer -> outer; outer = outer -> outer)
517 if (outer -> type -> stuff_values)
518 return (*(outer -> type -> stuff_values)) (c, id, outer);
519 return ISC_R_NOTFOUND;
526 return ISC_R_NOTIMPLEMENTED;
527 return (*(type -> create)) (obj, id);
539 if (src -> type != omapi_type_generic)
540 return ISC_R_NOTIMPLEMENTED;
542 for (i = 0; i < gsrc -> nvalues; i++) {
544 gsrc -> values [i] -> name,
545 gsrc -> values [i] -> value);
558 if (status != ISC_R_NOTFOUND)
560 return ISC_R_SUCCESS;
568 if (s1 -> len > s2 -> len)
572 rv = memcmp (s1 -> value, s2 -> value, len);
575 if (s1 -> len > s2 -> len)
577 else if (s1 -> len < s2 -> len)
588 if (slen > s1 -> len)
592 rv = memcmp (s1 -> value, s2, len);
595 if (s1 -> len > slen)
597 else if (s1 -> len < slen)
613 if (slen > s1 -> u.
buffer.len)
617 rv = memcmp (s1 -> u.
buffer.value, s2, len);
620 if (s1 -> u.
buffer.len > slen)
622 else if (s1 -> u.
buffer.len < slen)
638 if (slen > s1 -> u.
buffer.len)
645 if (s1 -> u.
buffer.len > slen)
647 else if (s1 -> u.
buffer.len < slen)
660 if (status != ISC_R_SUCCESS)
665 if (status != ISC_R_SUCCESS) {
672 if (status != ISC_R_SUCCESS) {
677 return ISC_R_SUCCESS;
682 const unsigned char *value,
689 if (status != ISC_R_SUCCESS)
694 if (status != ISC_R_SUCCESS) {
701 if (status != ISC_R_SUCCESS) {
705 memcpy ((*vp) -> value -> u.buffer.value, value, len);
707 return ISC_R_SUCCESS;
712 int value,
const char *
file,
int line)
717 if (status != ISC_R_SUCCESS)
722 if (status != ISC_R_SUCCESS) {
728 if (status != ISC_R_SUCCESS) {
732 return ISC_R_SUCCESS;
751 if (status != ISC_R_SUCCESS)
756 if (status != ISC_R_SUCCESS) {
764 if (status != ISC_R_SUCCESS) {
770 return ISC_R_SUCCESS;
781 if (status != ISC_R_SUCCESS)
786 if (status != ISC_R_SUCCESS) {
793 if (status != ISC_R_SUCCESS) {
800 if (status != ISC_R_SUCCESS) {
805 return ISC_R_SUCCESS;
816 if (status != ISC_R_SUCCESS)
821 if (status != ISC_R_SUCCESS) {
828 if (status != ISC_R_SUCCESS) {
833 return ISC_R_SUCCESS;
842 return ISC_R_SUCCESS;
845 if (t -> u.
buffer.len != sizeof (rv))
847 memcpy (&rv, t -> u.
buffer.value,
sizeof rv);
849 return ISC_R_SUCCESS;
isc_result_t omapi_set_value(omapi_object_t *h, omapi_object_t *id, omapi_data_string_t *name, omapi_typed_data_t *value)
isc_result_t omapi_typed_data_new(const char *, int, omapi_typed_data_t **, omapi_datatype_t,...)
isc_result_t omapi_signal_in(omapi_object_t *handle, const char *name,...)
isc_result_t omapi_init(void)
isc_result_t omapi_signal(omapi_object_t *handle, const char *name,...)
isc_result_t omapi_make_string_value(omapi_value_t **vp, omapi_data_string_t *name, const char *value, const char *file, int line)
isc_result_t omapi_message_stuff_values(omapi_object_t *, omapi_object_t *, omapi_object_t *)
isc_result_t omapi_protocol_listener_stuff(omapi_object_t *, omapi_object_t *, omapi_object_t *)
isc_result_t omapi_io_signal_handler(omapi_object_t *, const char *, va_list)
isc_result_t omapi_data_string_dereference(omapi_data_string_t **, const char *, int)
isc_result_t omapi_set_int_value(omapi_object_t *h, omapi_object_t *id, const char *name, int value)
void * dmalloc(unsigned, const char *, int)
isc_result_t omapi_protocol_get_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_value_t **)
void omapi_listener_trace_setup(void)
isc_result_t omapi_set_string_value(omapi_object_t *h, omapi_object_t *id, const char *name, const char *value)
omapi_object_type_t * omapi_type_waiter
isc_result_t omapi_connection_destroy(omapi_object_t *, const char *, int)
isc_result_t omapi_auth_key_get_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_value_t **)
#define DHCP_R_INVALIDARG
isc_result_t omapi_message_signal_handler(omapi_object_t *, const char *, va_list)
void omapi_type_relinquish(void)
omapi_object_type_t * omapi_type_listener
isc_result_t omapi_auth_key_stuff_values(omapi_object_t *, omapi_object_t *, omapi_object_t *)
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_protocol_listener_destroy(omapi_object_t *, const char *, int)
omapi_object_type_t * omapi_type_connection
isc_result_t omapi_generic_get_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_value_t **)
int omapi_td_strcasecmp(omapi_typed_data_t *s1, const char *s2)
isc_result_t omapi_data_string_reference(omapi_data_string_t **, omapi_data_string_t *, const char *, int)
isc_result_t omapi_get_value(omapi_object_t *h, omapi_object_t *id, omapi_data_string_t *name, omapi_value_t **value)
isc_result_t omapi_protocol_stuff_values(omapi_object_t *, omapi_object_t *, omapi_object_t *)
isc_result_t omapi_make_object_value(omapi_value_t **vp, omapi_data_string_t *name, omapi_object_t *value, const char *file, int line)
isc_result_t omapi_value_new(omapi_value_t **, const char *, int)
omapi_object_type_t * omapi_type_remote
void omapi_connection_trace_setup(void)
isc_result_t omapi_object_update(omapi_object_t *obj, omapi_object_t *id, omapi_object_t *src, omapi_handle_t handle)
isc_result_t omapi_object_create(omapi_object_t **obj, omapi_object_t *id, omapi_object_type_t *type)
struct omapi_typed_data_t::@3::@4 buffer
isc_result_t omapi_message_get_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_value_t **)
omapi_object_type_t * omapi_type_protocol
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_protocol_listener_signal(omapi_object_t *, const char *, va_list)
isc_result_t omapi_make_handle_value(omapi_value_t **vp, omapi_data_string_t *name, omapi_object_t *value, const char *file, int line)
isc_result_t omapi_make_uint_value(omapi_value_t **vp, omapi_data_string_t *name, unsigned int value, const char *file, int line)
isc_result_t omapi_listener_stuff_values(omapi_object_t *, omapi_object_t *, omapi_object_t *)
omapi_object_type_t * omapi_type_datagram
isc_result_t omapi_listener_destroy(omapi_object_t *, const char *, int)
isc_result_t omapi_connection_signal_handler(omapi_object_t *, const char *, va_list)
isc_result_t omapi_waiter_signal_handler(omapi_object_t *, const char *, va_list)
isc_result_t omapi_listener_get_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_value_t **)
isc_result_t omapi_connection_stuff_values(omapi_object_t *, omapi_object_t *, omapi_object_t *)
isc_result_t omapi_set_object_value(omapi_object_t *h, omapi_object_t *id, const char *name, omapi_object_t *value)
isc_result_t omapi_object_type_register(omapi_object_type_t **type, const char *name, isc_result_t(*set_value)(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_typed_data_t *), isc_result_t(*get_value)(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_value_t **), isc_result_t(*destroy)(omapi_object_t *, const char *, int), isc_result_t(*signal_handler)(omapi_object_t *, const char *, va_list), isc_result_t(*stuff_values)(omapi_object_t *, omapi_object_t *, omapi_object_t *), isc_result_t(*lookup)(omapi_object_t **, omapi_object_t *, omapi_object_t *), isc_result_t(*create)(omapi_object_t **, omapi_object_t *), isc_result_t(*remove)(omapi_object_t *, omapi_object_t *), isc_result_t(*freer)(omapi_object_t *, const char *, int), isc_result_t(*allocator)(omapi_object_t **, const char *, int), isc_result_t(*sizer)(size_t), size_t size, isc_result_t(*initialize)(omapi_object_t *, const char *, int), int rc_flag)
isc_result_t omapi_make_value(omapi_value_t **vp, omapi_data_string_t *name, omapi_typed_data_t *value, const char *file, int line)
isc_result_t omapi_get_value_str(omapi_object_t *h, omapi_object_t *id, const char *name, omapi_value_t **value)
isc_result_t omapi_message_destroy(omapi_object_t *, const char *, int)
isc_result_t omapi_protocol_listener_set_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_typed_data_t *)
void dfree(void *, const char *, int)
isc_result_t omapi_get_int_value(unsigned long *v, omapi_typed_data_t *t)
isc_result_t omapi_protocol_destroy(omapi_object_t *, const char *, int)
isc_result_t omapi_generic_set_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_typed_data_t *)
int int log_info(const char *,...) __attribute__((__format__(__printf__
int omapi_data_string_cmp(omapi_data_string_t *s1, omapi_data_string_t *s2)
isc_result_t omapi_auth_key_lookup(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_signal_handler(omapi_object_t *, const char *, va_list)
isc_result_t omapi_io_stuff_values(omapi_object_t *, omapi_object_t *, omapi_object_t *)
isc_result_t omapi_listener_set_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_typed_data_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_typed_data_reference(omapi_typed_data_t **, omapi_typed_data_t *, const char *, int)
isc_result_t omapi_generic_stuff_values(omapi_object_t *, omapi_object_t *, omapi_object_t *)
unsigned int omapi_handle_t
isc_result_t omapi_value_dereference(omapi_value_t **, const char *, int)
isc_result_t omapi_listener_signal_handler(omapi_object_t *, const char *, va_list)
isc_result_t omapi_protocol_listener_get_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_value_t **)
isc_result_t omapi_stuff_values(omapi_object_t *c, omapi_object_t *id, omapi_object_t *o)
int omapi_ds_strcmp(omapi_data_string_t *s1, const char *s2)
isc_result_t omapi_set_boolean_value(omapi_object_t *h, omapi_object_t *id, const char *name, int value)
int omapi_object_type_count
isc_result_t omapi_set_value_str(omapi_object_t *h, omapi_object_t *id, const char *name, omapi_typed_data_t *value)
isc_result_t omapi_generic_signal_handler(omapi_object_t *, const char *, va_list)
int casecmp(const void *s, const void *t, size_t len)
void omapi_buffer_trace_setup(void)
isc_result_t omapi_data_string_new(omapi_data_string_t **, unsigned, const char *, int)
omapi_object_type_t * omapi_type_message
isc_result_t omapi_auth_key_destroy(omapi_object_t *, const char *, int)
isc_result_t omapi_io_destroy(omapi_object_t *, const char *, int)
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_make_int_value(omapi_value_t **vp, omapi_data_string_t *name, int value, const char *file, int line)
omapi_object_type_t * omapi_type_auth_key
isc_result_t omapi_make_const_value(omapi_value_t **vp, omapi_data_string_t *name, const unsigned char *value, unsigned len, const char *file, int line)
omapi_object_type_t * omapi_type_io_object
omapi_object_type_t * omapi_object_types
omapi_object_type_t * omapi_type_protocol_listener
isc_result_t omapi_io_get_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_value_t **)
isc_result_t omapi_connection_get_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_value_t **)
isc_result_t omapi_typed_data_dereference(omapi_typed_data_t **, const char *, int)
isc_result_t omapi_generic_destroy(omapi_object_t *, const char *, int)
int omapi_td_strcmp(omapi_typed_data_t *s1, const char *s2)
omapi_object_type_t * omapi_type_generic