55 return ISC_R_NOMEMORY;
58 for (inner = h; inner -> inner; inner = inner -> inner)
67 callback -> data = data;
68 callback -> callback = func;
83 if (h -> inner && h -> inner -> type -> set_value)
84 return (*(h -> inner -> type -> set_value))
85 (h -> inner, id, name,
value);
86 return ISC_R_NOTFOUND;
97 if (h -> inner && h -> inner -> type -> get_value)
98 return (*(h -> inner -> type -> get_value))
99 (h -> inner, id, name,
value);
100 return ISC_R_NOTFOUND;
104 const char *name, va_list ap)
107 isc_result_t waitstatus;
114 if (strcmp (name,
"ready")) {
115 if (p -> inner && p -> inner -> type -> signal_handler)
116 return (*(p -> inner -> type -> signal_handler))
117 (p -> inner, name, ap);
118 return ISC_R_NOTFOUND;
123 (p ->
object)) -> waitstatus);
129 (*(p -> callback)) (p ->
object, waitstatus, p -> data);
157 if (p -> inner && p -> inner -> type -> stuff_values)
158 return (*(p -> inner -> type -> stuff_values)) (c, id,
isc_result_t dhcpctl_callback_signal_handler(omapi_object_t *o, const char *name, va_list ap)
isc_result_t dhcpctl_callback_get_value(omapi_object_t *h, omapi_object_t *id, omapi_data_string_t *name, omapi_value_t **value)
dhcpctl_status dhcpctl_set_callback(dhcpctl_handle h, void *data, void(*func)(dhcpctl_handle, dhcpctl_status, void *))
isc_result_t dhcpctl_callback_stuff_values(omapi_object_t *c, omapi_object_t *id, omapi_object_t *p)
isc_result_t dhcpctl_callback_destroy(omapi_object_t *h, const char *file, int line)
isc_result_t dhcpctl_callback_set_value(omapi_object_t *h, omapi_object_t *id, omapi_data_string_t *name, omapi_typed_data_t *value)
omapi_object_type_t * dhcpctl_remote_type
omapi_object_type_t * dhcpctl_callback_type
omapi_object_t * dhcpctl_handle
isc_result_t dhcpctl_status
isc_result_t omapi_object_dereference(omapi_object_t **, const char *, int)
struct __omapi_object omapi_object_t
isc_result_t omapi_object_reference(omapi_object_t **, omapi_object_t *, const char *, int)
void * dmalloc(size_t, const char *, int)
#define DHCP_R_INVALIDARG