99 const char *server_name,
int port,
104 log_debug(
"dhcpctl_connect(%s:%d)", server_name, port);
113 (
unsigned)port, authinfo);
125 isc_result_totext (status));
134 log_debug(
"dhcpctl_connect, wait failed:%s",
135 isc_result_totext (status));
162 const char *server_name,
int port,
168 log_debug(
"dhcpctl_timed_connect(%s:%d)", server_name, port);
176 (
unsigned)port, authinfo);
189 status = wait_status;
216 log_debug(
"dhcpctl_wait_for_completion");
252 struct timeval adjusted_t;
256 log_debug (
"dhcpctl_timed_wait_for_completion"
257 "(%u.%u secs.usecs)",
258 (
unsigned int)(t->tv_sec),
259 (
unsigned int)(t->tv_usec));
261 log_debug (
"dhcpctl_timed_wait_for_completion(no timeout)");
267 gettimeofday (&now, (
struct timezone *)0);
268 adjusted_t.tv_sec = now.tv_sec + t->tv_sec;
269 adjusted_t.tv_usec = now.tv_usec + t->tv_usec;
308 log_debug(
"dhcpctl_get_value(%s)", value_name);
315 switch (tv ->
value -> type) {
322 len = tv ->
value -> u.buffer.len;
331 return ISC_R_UNEXPECTED;
340 switch (tv ->
value -> type) {
342 ip = htonl (tv ->
value -> u.integer);
343 memcpy ((*result) ->
value, &
ip,
sizeof ip);
348 memcpy ((*result) ->
value,
349 tv ->
value -> u.buffer.value,
350 tv ->
value -> u.buffer.len);
355 memcpy ((*result) ->
value, &
ip,
sizeof ip);
376 log_debug(
"dhcpctl_get_boolean(%s)", value_name);
382 if (data -> len !=
sizeof rv) {
384 return ISC_R_UNEXPECTED;
386 memcpy (&rv, data ->
value,
sizeof rv);
387 *result = ntohl (rv);
399 const char *value_name)
405 log_debug(
"dhcpctl_set_value(%s)", value_name);
411 memcpy (name ->
value, value_name, strlen (value_name));
435 const char *value_name)
441 log_debug(
"dhcpctl_set_string_value(%s)", value_name);
447 memcpy (name ->
value, value_name, strlen (value_name));
469 const char *
value,
unsigned len,
470 const char *value_name)
477 log_debug(
"dhcpctl_set_data_value(%s)", value_name);
480 ll = strlen (value_name);
484 memcpy (name ->
value, value_name, ll);
505 const char *value_name)
511 log_debug(
"dhcpctl_set_null_value(%s)", value_name);
514 ll = strlen (value_name);
518 memcpy (name ->
value, value_name, ll);
532 const char *value_name)
538 log_debug(
"dhcpctl_set_boolean_value(%s)", value_name);
544 memcpy (name ->
value, value_name, strlen (value_name));
564 const char *value_name)
570 log_debug(
"dhcpctl_set_int_value(%s)", value_name);
576 memcpy (name ->
value, value_name, strlen (value_name));
630 (
int)(ro -> remote_handle));
674 "handle", (
int)(ro -> remote_handle));
731 (
int)(ro -> remote_handle));
756 log_debug(
"dhcpctl_data_string_dereference");
768 if (!connection || !((*connection)->outer) ||
769 !((*connection)->outer->type) ||
771 !((*connection)->outer->outer)) {
772 log_debug(
"dhcpctl_disconnect detected invalid arg");
786 log_debug(
"dhcpctl_disconnect failed:%s",
787 isc_result_totext (status));
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)
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)
dhcpctl_status dhcpctl_wait_for_completion(dhcpctl_handle h, dhcpctl_status *s)
isc_result_t dhcpctl_data_string_dereference(dhcpctl_data_string *vp, const char *file, int line)
dhcpctl_status dhcpctl_object_refresh(dhcpctl_handle connection, dhcpctl_handle h)
dhcpctl_status dhcpctl_connect(dhcpctl_handle *connection, const char *server_name, int port, dhcpctl_handle authinfo)
dhcpctl_status dhcpctl_object_update(dhcpctl_handle connection, dhcpctl_handle h)
dhcpctl_status dhcpctl_timed_connect(dhcpctl_handle *connection, const char *server_name, int port, dhcpctl_handle authinfo, struct timeval *t)
dhcpctl_status dhcpctl_set_int_value(dhcpctl_handle h, int value, const char *value_name)
dhcpctl_status dhcpctl_disconnect(dhcpctl_handle *connection, int force)
dhcpctl_status dhcpctl_object_remove(dhcpctl_handle connection, dhcpctl_handle h)
dhcpctl_status dhcpctl_set_value(dhcpctl_handle h, dhcpctl_data_string value, const char *value_name)
dhcpctl_status dhcpctl_set_null_value(dhcpctl_handle h, const char *value_name)
dhcpctl_status dhcpctl_timed_wait_for_completion(dhcpctl_handle h, dhcpctl_status *s, struct timeval *t)
dhcpctl_status dhcpctl_initialize()
dhcpctl_status dhcpctl_set_string_value(dhcpctl_handle h, const char *value, const char *value_name)
omapi_object_type_t * dhcpctl_remote_type
dhcpctl_status dhcpctl_set_data_value(dhcpctl_handle h, const char *value, unsigned len, const char *value_name)
dhcpctl_status dhcpctl_get_value(dhcpctl_data_string *result, dhcpctl_handle h, const char *value_name)
omapi_object_type_t * dhcpctl_callback_type
dhcpctl_status dhcpctl_set_boolean_value(dhcpctl_handle h, int value, const char *value_name)
dhcpctl_status dhcpctl_get_boolean(int *result, dhcpctl_handle h, const char *value_name)
isc_result_t dhcpctl_remote_stuff_values(omapi_object_t *, omapi_object_t *, omapi_object_t *)
isc_result_t dhcpctl_remote_set_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_typed_data_t *)
omapi_data_string_t * dhcpctl_data_string
isc_result_t dhcpctl_remote_destroy(omapi_object_t *, const char *, int)
isc_result_t dhcpctl_remote_signal_handler(omapi_object_t *, const char *, va_list)
omapi_object_t * dhcpctl_handle
isc_result_t dhcpctl_remote_get_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_value_t **)
isc_result_t dhcpctl_status
isc_result_t dhcp_context_create(int flags, struct in_addr *local4, struct in6_addr *local6)
#define DHCP_CONTEXT_PRE_DB
#define DHCP_CONTEXT_POST_DB
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_protocol_send_message(omapi_object_t *, omapi_object_t *, omapi_object_t *, omapi_object_t *)
isc_result_t omapi_generic_new(omapi_object_t **, const char *, int)
struct __omapi_object_type_t omapi_object_type_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_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 *)
isc_result_t omapi_data_string_new(omapi_data_string_t **, unsigned, const char *, int)
isc_result_t omapi_message_register(omapi_object_t *)
struct __omapi_object omapi_object_t
isc_result_t omapi_disconnect(omapi_object_t *, int)
isc_result_t omapi_init(void)
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_typed_data_dereference(omapi_typed_data_t **, const char *, int)
isc_result_t omapi_wait_for_completion(omapi_object_t *, struct timeval *)
omapi_object_type_t * omapi_type_protocol
isc_result_t omapi_data_string_dereference(omapi_data_string_t **, const char *, int)
unsigned int omapi_handle_t
isc_result_t omapi_typed_data_new(const char *, int, omapi_typed_data_t **, omapi_datatype_t,...)
isc_result_t omapi_get_value_str(omapi_object_t *, omapi_object_t *, const char *, omapi_value_t **)
isc_result_t omapi_message_new(omapi_object_t **, const char *, int)
isc_result_t omapi_set_int_value(omapi_object_t *, omapi_object_t *, const char *, int)
int int int log_debug(const char *,...) __attribute__((__format__(__printf__
#define DHCP_R_INVALIDARG
#define DHCP_R_INCOMPLETE
struct omapi_typed_data_t::@005330231110240362320041053235346164005276246221::@131374275124060200224243254021133345104025056044 buffer