#ifndef lint
static char copyright[] =
-"$Id: comapi.c,v 1.2 2000/05/17 16:03:59 mellon Exp $ Copyright (c) 1999-2000 The Internet Software Consortium. All rights reserved.\n";
+"$Id: comapi.c,v 1.3 2000/07/06 22:37:38 mellon Exp $ Copyright (c) 1999-2000 The Internet Software Consortium. All rights reserved.\n";
#endif /* not lint */
#include "dhcpd.h"
dhcp_group_stuff_values,
dhcp_group_lookup,
dhcp_group_create,
- dhcp_group_remove, 0, 0,
+ dhcp_group_remove, 0, 0, 0,
sizeof (struct group));
if (status != ISC_R_SUCCESS)
log_fatal ("Can't register group object type: %s",
dhcp_subnet_stuff_values,
dhcp_subnet_lookup,
dhcp_subnet_create,
- dhcp_subnet_remove, 0, 0,
+ dhcp_subnet_remove, 0, 0, 0,
sizeof (struct subnet));
if (status != ISC_R_SUCCESS)
log_fatal ("Can't register subnet object type: %s",
dhcp_shared_network_stuff_values,
dhcp_shared_network_lookup,
dhcp_shared_network_create,
- dhcp_shared_network_remove, 0, 0,
+ dhcp_shared_network_remove, 0, 0, 0,
sizeof (struct shared_network));
if (status != ISC_R_SUCCESS)
log_fatal ("Can't register shared network object type: %s",
dhcp_interface_lookup,
dhcp_interface_create,
dhcp_interface_remove,
- 0, 0,
+ 0, 0, 0,
sizeof (struct interface_info));
if (status != ISC_R_SUCCESS)
log_fatal ("Can't register interface object type: %s",
#ifndef lint
static char copyright[] =
-"$Id: discover.c,v 1.29 2000/06/08 21:14:12 mellon Exp $ Copyright (c) 1995-2000 The Internet Software Consortium. All rights reserved.\n";
+"$Id: discover.c,v 1.30 2000/07/06 22:37:39 mellon Exp $ Copyright (c) 1995-2000 The Internet Software Consortium. All rights reserved.\n";
#endif /* not lint */
#include "dhcpd.h"
(&dhcp_type_interface, "interface",
interface_set_value, interface_get_value,
interface_destroy, interface_signal_handler,
- interface_stuff_values, 0, 0, 0, 0, 0,
+ interface_stuff_values, 0, 0, 0, 0, 0, 0,
sizeof (struct interface_info));
if (status != ISC_R_SUCCESS)
log_fatal ("Can't create interface object type: %s",
#ifndef lint
static char copyright[] =
-"$Id: icmp.c,v 1.23 2000/05/16 23:02:21 mellon Exp $ Copyright (c) 1996-2000 The Internet Software Consortium. All rights reserved.\n";
+"$Id: icmp.c,v 1.24 2000/07/06 22:37:40 mellon Exp $ Copyright (c) 1996-2000 The Internet Software Consortium. All rights reserved.\n";
#endif /* not lint */
#include "dhcpd.h"
log_fatal ("attempted to reinitialize icmp protocol");
result = omapi_object_type_register (&dhcp_type_icmp,
- "icmp", 0, 0, 0, 0, 0, 0, 0, 0,
+ "icmp", 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, sizeof (struct icmp_state));
if (result != ISC_R_SUCCESS)
dhcpctl_callback_destroy,
dhcpctl_callback_signal_handler,
dhcpctl_callback_stuff_values,
- 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,
sizeof (dhcpctl_callback_object_t));
omapi_object_type_register (&dhcpctl_remote_type,
"dhcpctl-remote",
dhcpctl_remote_destroy,
dhcpctl_remote_signal_handler,
dhcpctl_remote_stuff_values,
- 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,
sizeof (dhcpctl_remote_object_t));
return ISC_R_SUCCESS;
}
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;
} omapi_object_type_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_signal (omapi_object_t *, const char *, ...);
isc_result_t omapi_signal_in (omapi_object_t *, const char *, ...);
omapi_connection_destroy,
omapi_connection_signal_handler,
omapi_connection_stuff_values,
- 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,
sizeof
(omapi_connection_object_t));
if (status != ISC_R_SUCCESS)
omapi_listener_destroy,
omapi_listener_signal_handler,
omapi_listener_stuff_values,
- 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,
sizeof (omapi_listener_object_t));
if (status != ISC_R_SUCCESS)
return status;
omapi_io_destroy,
omapi_io_signal_handler,
omapi_io_stuff_values,
- 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,
sizeof (omapi_io_object_t));
if (status != ISC_R_SUCCESS)
return status;
omapi_generic_destroy,
omapi_generic_signal_handler,
omapi_generic_stuff_values,
- 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,
sizeof (omapi_generic_object_t));
if (status != ISC_R_SUCCESS)
return status;
omapi_protocol_destroy,
omapi_protocol_signal_handler,
omapi_protocol_stuff_values,
- 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,
sizeof (omapi_protocol_object_t));
if (status != ISC_R_SUCCESS)
return status;
omapi_protocol_listener_destroy,
omapi_protocol_listener_signal,
omapi_protocol_listener_stuff,
- 0, 0, 0, 0, 0, sizeof (omapi_protocol_listener_object_t)));
+ 0, 0, 0, 0, 0, 0,
+ sizeof (omapi_protocol_listener_object_t)));
if (status != ISC_R_SUCCESS)
return status;
omapi_message_destroy,
omapi_message_signal_handler,
omapi_message_stuff_values,
- 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,
sizeof (omapi_message_object_t));
if (status != ISC_R_SUCCESS)
return status;
0,
0,
omapi_waiter_signal_handler, 0,
- 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,
sizeof (omapi_waiter_object_t));
if (status != ISC_R_SUCCESS)
return status;
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)
{
t -> sizer = sizer;
t -> size = size;
t -> freer = freer;
+ t -> allocator = allocator;
omapi_object_types = t;
if (type)
*type = t;
#ifndef lint
static char copyright[] =
-"$Id: omapi.c,v 1.32 2000/06/24 06:31:51 mellon Exp $ Copyright (c) 1999-2000 The Internet Software Consortium. All rights reserved.\n";
+"$Id: omapi.c,v 1.33 2000/07/06 22:37:53 mellon Exp $ Copyright (c) 1999-2000 The Internet Software Consortium. All rights reserved.\n";
#endif /* not lint */
#include "dhcpd.h"
dhcp_lease_remove,
#if defined (COMPACT_LEASES)
dhcp_lease_free,
+ dhcp_lease_get,
#else
- 0,
+ 0, 0,
#endif
0,
sizeof (struct lease));
dhcp_class_stuff_values,
dhcp_class_lookup,
dhcp_class_create,
- dhcp_class_remove, 0, 0,
+ dhcp_class_remove, 0, 0, 0,
sizeof (struct class));
if (status != ISC_R_SUCCESS)
log_fatal ("Can't register class object type: %s",
dhcp_pool_stuff_values,
dhcp_pool_lookup,
dhcp_pool_create,
- dhcp_pool_remove, 0, 0,
+ dhcp_pool_remove, 0, 0, 0,
sizeof (struct pool));
if (status != ISC_R_SUCCESS)
dhcp_host_stuff_values,
dhcp_host_lookup,
dhcp_host_create,
- dhcp_host_remove, 0, 0,
+ dhcp_host_remove, 0, 0, 0,
sizeof (struct host_decl));
if (status != ISC_R_SUCCESS)
dhcp_failover_state_lookup,
dhcp_failover_state_create,
dhcp_failover_state_remove,
- 0, 0,
+ 0, 0, 0,
sizeof (dhcp_failover_state_t));
if (status != ISC_R_SUCCESS)
dhcp_failover_link_destroy,
dhcp_failover_link_signal,
dhcp_failover_link_stuff_values,
- 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,
sizeof (dhcp_failover_link_t));
if (status != ISC_R_SUCCESS)
dhcp_failover_listener_destroy,
dhcp_failover_listener_signal,
dhcp_failover_listener_stuff,
- 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,
sizeof
(dhcp_failover_listener_t));
executable_statement_dereference (&lease -> on_release,
file, line);
if (lease -> state) {
- data_string_forget (&lease -> state -> parameter_request_list,
- file, line);
free_lease_state (lease -> state, file, line);
lease -> state = (struct lease_state *)0;