1 /* $Id: dhcpctl.h,v 1.18 2009/11/24 02:06:56 sar Exp $
3 Subroutines providing general support for objects. */
6 * Copyright (C) 2004-2022 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 * Newmarket, NH 03857 USA
25 * https://www.isc.org/
32 #include <omapip/omapip.h>
34 typedef isc_result_t dhcpctl_status
;
35 typedef omapi_object_t
*dhcpctl_handle
;
36 typedef omapi_data_string_t
*dhcpctl_data_string
;
38 #define dhcpctl_null_handle ((dhcpctl_handle) 0)
40 #define DHCPCTL_CREATE OMAPI_CREATE
41 #define DHCPCTL_UPDATE OMAPI_UPDATE
42 #define DHCPCTL_EXCL OMAPI_EXCL
45 OMAPI_OBJECT_PREAMBLE
;
46 omapi_object_t
*object
;
48 void (*callback
) (dhcpctl_handle
, dhcpctl_status
, void *);
49 } dhcpctl_callback_object_t
;
52 OMAPI_OBJECT_PREAMBLE
;
53 omapi_typed_data_t
*rtype
;
54 isc_result_t waitstatus
;
55 omapi_typed_data_t
*message
;
56 omapi_handle_t remote_handle
;
57 } dhcpctl_remote_object_t
;
59 extern omapi_object_type_t
*dhcpctl_callback_type
;
60 extern omapi_object_type_t
*dhcpctl_remote_type
;
62 dhcpctl_status
dhcpctl_initialize (void);
63 dhcpctl_status
dhcpctl_connect (dhcpctl_handle
*,
64 const char *, int, dhcpctl_handle
);
66 dhcpctl_status
dhcpctl_timed_connect (dhcpctl_handle
*, const char *,
67 int, dhcpctl_handle
, struct timeval
*);
69 dhcpctl_status
dhcpctl_wait_for_completion (dhcpctl_handle
, dhcpctl_status
*);
71 dhcpctl_status
dhcpctl_timed_wait_for_completion (dhcpctl_handle h
,
75 dhcpctl_status
dhcpctl_get_value (dhcpctl_data_string
*,
76 dhcpctl_handle
, const char *);
77 dhcpctl_status
dhcpctl_get_boolean (int *, dhcpctl_handle
, const char *);
78 dhcpctl_status
dhcpctl_set_value (dhcpctl_handle
,
79 dhcpctl_data_string
, const char *);
80 dhcpctl_status
dhcpctl_set_string_value (dhcpctl_handle
, const char *,
82 dhcpctl_status
dhcpctl_set_data_value (dhcpctl_handle
,
83 const char *, unsigned, const char *);
84 dhcpctl_status
dhcpctl_set_null_value (dhcpctl_handle
, const char *);
85 dhcpctl_status
dhcpctl_set_boolean_value (dhcpctl_handle
, int, const char *);
86 dhcpctl_status
dhcpctl_set_int_value (dhcpctl_handle
, int, const char *);
87 dhcpctl_status
dhcpctl_object_update (dhcpctl_handle
, dhcpctl_handle
);
88 dhcpctl_status
dhcpctl_object_refresh (dhcpctl_handle
, dhcpctl_handle
);
89 dhcpctl_status
dhcpctl_object_remove (dhcpctl_handle
, dhcpctl_handle
);
91 dhcpctl_status
dhcpctl_set_callback (dhcpctl_handle
, void *,
92 void (*) (dhcpctl_handle
,
93 dhcpctl_status
, void *));
94 isc_result_t
dhcpctl_callback_set_value (omapi_object_t
*, omapi_object_t
*,
95 omapi_data_string_t
*,
96 omapi_typed_data_t
*);
97 isc_result_t
dhcpctl_callback_get_value (omapi_object_t
*, omapi_object_t
*,
98 omapi_data_string_t
*,
100 isc_result_t
dhcpctl_callback_destroy (omapi_object_t
*, const char *, int);
101 isc_result_t
dhcpctl_callback_signal_handler (omapi_object_t
*,
102 const char *, va_list);
103 isc_result_t
dhcpctl_callback_stuff_values (omapi_object_t
*,
107 dhcpctl_status
dhcpctl_new_authenticator (dhcpctl_handle
*,
108 const char *, const char *,
109 const unsigned char *, unsigned);
111 dhcpctl_status
dhcpctl_open_object (dhcpctl_handle
, dhcpctl_handle
, int);
112 dhcpctl_status
dhcpctl_new_object (dhcpctl_handle
*,
113 dhcpctl_handle
, const char *);
114 isc_result_t
dhcpctl_remote_set_value (omapi_object_t
*, omapi_object_t
*,
115 omapi_data_string_t
*,
116 omapi_typed_data_t
*);
117 isc_result_t
dhcpctl_remote_get_value (omapi_object_t
*, omapi_object_t
*,
118 omapi_data_string_t
*,
120 isc_result_t
dhcpctl_remote_destroy (omapi_object_t
*, const char *, int);
121 isc_result_t
dhcpctl_remote_signal_handler (omapi_object_t
*,
122 const char *, va_list);
123 isc_result_t
dhcpctl_remote_stuff_values (omapi_object_t
*,
126 isc_result_t
dhcpctl_data_string_dereference (dhcpctl_data_string
*,
129 dhcpctl_status
dhcpctl_disconnect (dhcpctl_handle
*, int);
131 #endif /* _DHCPCTL_H_ */