3 Subroutines providing general support for objects. */
6 * Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC")
7 * Copyright (c) 1999-2003 by Internet Software Consortium
9 * Permission to use, copy, modify, and distribute this software for any
10 * purpose with or without fee is hereby granted, provided that the above
11 * copyright notice and this permission notice appear in all copies.
13 * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES
14 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
15 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR
16 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
17 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
18 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
19 * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
21 * Internet Systems Consortium, Inc.
23 * Redwood City, CA 94063
27 * This software has been written for Internet Systems Consortium
28 * by Ted Lemon in cooperation with Vixie Enterprises and Nominum, Inc.
29 * To learn more about Internet Systems Consortium, see
30 * ``http://www.isc.org/''. To learn more about Vixie Enterprises,
31 * see ``http://www.vix.com''. To learn more about Nominum, Inc., see
32 * ``http://www.nominum.com''.
38 #include <omapip/omapip.h>
40 typedef isc_result_t dhcpctl_status
;
41 typedef omapi_object_t
*dhcpctl_handle
;
42 typedef omapi_data_string_t
*dhcpctl_data_string
;
44 #define dhcpctl_null_handle ((dhcpctl_handle) 0)
46 #define DHCPCTL_CREATE OMAPI_CREATE
47 #define DHCPCTL_UPDATE OMAPI_UPDATE
48 #define DHCPCTL_EXCL OMAPI_EXCL
51 OMAPI_OBJECT_PREAMBLE
;
52 omapi_object_t
*object
;
54 void (*callback
) (dhcpctl_handle
, dhcpctl_status
, void *);
55 } dhcpctl_callback_object_t
;
58 OMAPI_OBJECT_PREAMBLE
;
59 omapi_typed_data_t
*rtype
;
60 isc_result_t waitstatus
;
61 omapi_typed_data_t
*message
;
62 omapi_handle_t remote_handle
;
63 } dhcpctl_remote_object_t
;
65 extern omapi_object_type_t
*dhcpctl_callback_type
;
66 extern omapi_object_type_t
*dhcpctl_remote_type
;
68 dhcpctl_status
dhcpctl_initialize (void);
69 dhcpctl_status
dhcpctl_connect (dhcpctl_handle
*,
70 const char *, int, dhcpctl_handle
);
71 dhcpctl_status
dhcpctl_wait_for_completion (dhcpctl_handle
, dhcpctl_status
*);
72 dhcpctl_status
dhcpctl_get_value (dhcpctl_data_string
*,
73 dhcpctl_handle
, const char *);
74 dhcpctl_status
dhcpctl_get_boolean (int *, dhcpctl_handle
, const char *);
75 dhcpctl_status
dhcpctl_set_value (dhcpctl_handle
,
76 dhcpctl_data_string
, const char *);
77 dhcpctl_status
dhcpctl_set_string_value (dhcpctl_handle
, const char *,
79 dhcpctl_status
dhcpctl_set_data_value (dhcpctl_handle
,
80 const char *, unsigned, const char *);
81 dhcpctl_status
dhcpctl_set_null_value (dhcpctl_handle
, const char *);
82 dhcpctl_status
dhcpctl_set_boolean_value (dhcpctl_handle
, int, const char *);
83 dhcpctl_status
dhcpctl_set_int_value (dhcpctl_handle
, int, const char *);
84 dhcpctl_status
dhcpctl_object_update (dhcpctl_handle
, dhcpctl_handle
);
85 dhcpctl_status
dhcpctl_object_refresh (dhcpctl_handle
, dhcpctl_handle
);
86 dhcpctl_status
dhcpctl_object_remove (dhcpctl_handle
, dhcpctl_handle
);
88 dhcpctl_status
dhcpctl_set_callback (dhcpctl_handle
, void *,
89 void (*) (dhcpctl_handle
,
90 dhcpctl_status
, void *));
91 isc_result_t
dhcpctl_callback_set_value (omapi_object_t
*, omapi_object_t
*,
92 omapi_data_string_t
*,
93 omapi_typed_data_t
*);
94 isc_result_t
dhcpctl_callback_get_value (omapi_object_t
*, omapi_object_t
*,
95 omapi_data_string_t
*,
97 isc_result_t
dhcpctl_callback_destroy (omapi_object_t
*, const char *, int);
98 isc_result_t
dhcpctl_callback_signal_handler (omapi_object_t
*,
99 const char *, va_list);
100 isc_result_t
dhcpctl_callback_stuff_values (omapi_object_t
*,
104 dhcpctl_status
dhcpctl_new_authenticator (dhcpctl_handle
*,
105 const char *, const char *,
106 const unsigned char *, unsigned);
108 dhcpctl_status
dhcpctl_open_object (dhcpctl_handle
, dhcpctl_handle
, int);
109 dhcpctl_status
dhcpctl_new_object (dhcpctl_handle
*,
110 dhcpctl_handle
, const char *);
111 isc_result_t
dhcpctl_remote_set_value (omapi_object_t
*, omapi_object_t
*,
112 omapi_data_string_t
*,
113 omapi_typed_data_t
*);
114 isc_result_t
dhcpctl_remote_get_value (omapi_object_t
*, omapi_object_t
*,
115 omapi_data_string_t
*,
117 isc_result_t
dhcpctl_remote_destroy (omapi_object_t
*, const char *, int);
118 isc_result_t
dhcpctl_remote_signal_handler (omapi_object_t
*,
119 const char *, va_list);
120 isc_result_t
dhcpctl_remote_stuff_values (omapi_object_t
*,
123 isc_result_t
dhcpctl_data_string_dereference (dhcpctl_data_string
*,
125 #endif /* _DHCPCTL_H_ */