error_exit:
if (obj != NULL) {
if (h->outer == (omapi_object_t *)obj) {
- omapi_object_dereference((omapi_object_t **)&h->outer,
+ omapi_object_dereference((omapi_object_t **)&h->outer,
MDL);
}
if (obj->inner == h) {
if (h -> type != omapi_type_listener)
return -1;
l = (omapi_listener_object_t *)h;
-
+
return l -> socket;
}
#ifdef DEBUG_PROTOCOL
log_debug ("omapi_accept()");
#endif
-
+
/* Get the handle. */
status = omapi_connection_allocate (obj, MDL);
if (status != ISC_R_SUCCESS)
{
if (h -> type != omapi_type_listener)
return DHCP_R_INVALIDARG;
-
+
if (h -> inner && h -> inner -> type -> set_value)
return (*(h -> inner -> type -> set_value))
(h -> inner, id, name, value);
{
if (h -> type != omapi_type_listener)
return DHCP_R_INVALIDARG;
-
+
if (h -> inner && h -> inner -> type -> get_value)
return (*(h -> inner -> type -> get_value))
(h -> inner, id, name, value);
#ifdef DEBUG_PROTOCOL
log_debug ("omapi_listener_destroy()");
#endif
-
+
if (l -> socket != -1) {
close (l -> socket);
l -> socket = -1;
{
if (h -> type != omapi_type_listener)
return DHCP_R_INVALIDARG;
-
+
if (h -> inner && h -> inner -> type -> signal_handler)
return (*(h -> inner -> type -> signal_handler)) (h -> inner,
name, ap);
l -> inner);
return ISC_R_SUCCESS;
}
-