ISC DHCP  4.4.3-P1
A reference DHCPv4 and DHCPv6 implementation
dhcpctl.h
Go to the documentation of this file.
1 /* $Id: dhcpctl.h,v 1.18 2009/11/24 02:06:56 sar Exp $
2 
3  Subroutines providing general support for objects. */
4 
5 /*
6  * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
7  * Copyright (c) 1999-2003 by Internet Software Consortium
8  *
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.
12  *
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.
20  *
21  * Internet Systems Consortium, Inc.
22  * PO Box 360
23  * Newmarket, NH 03857 USA
24  * <info@isc.org>
25  * https://www.isc.org/
26  *
27  */
28 
29 #ifndef _DHCPCTL_H_
30 #define _DHCPCTL_H_
31 
32 #include <omapip/omapip.h>
33 
34 typedef isc_result_t dhcpctl_status;
37 
38 #define dhcpctl_null_handle ((dhcpctl_handle) 0)
39 
40 #define DHCPCTL_CREATE OMAPI_CREATE
41 #define DHCPCTL_UPDATE OMAPI_UPDATE
42 #define DHCPCTL_EXCL OMAPI_EXCL
43 
44 typedef struct {
47  void *data;
48  void (*callback) (dhcpctl_handle, dhcpctl_status, void *);
50 
51 typedef struct {
54  isc_result_t waitstatus;
58 
61 
64  const char *, int, dhcpctl_handle);
65 
67  int, dhcpctl_handle, struct timeval *);
68 
70 
72  dhcpctl_status *s,
73  struct timeval *t);
74 
76  dhcpctl_handle, const char *);
79  dhcpctl_data_string, const char *);
81  const char *);
83  const char *, unsigned, const char *);
90 
92  void (*) (dhcpctl_handle,
93  dhcpctl_status, void *));
99  omapi_value_t **);
100 isc_result_t dhcpctl_callback_destroy (omapi_object_t *, const char *, int);
102  const char *, va_list);
104  omapi_object_t *,
105  omapi_object_t *);
106 
108  const char *, const char *,
109  const unsigned char *, unsigned);
110 
113  dhcpctl_handle, const char *);
119  omapi_value_t **);
120 isc_result_t dhcpctl_remote_destroy (omapi_object_t *, const char *, int);
122  const char *, va_list);
124  omapi_object_t *,
125  omapi_object_t *);
127  const char *, int);
128 
130 
131 #endif /* _DHCPCTL_H_ */
dhcpctl_status dhcpctl_wait_for_completion(dhcpctl_handle, dhcpctl_status *)
Definition: dhcpctl.c:212
dhcpctl_status dhcpctl_object_update(dhcpctl_handle, dhcpctl_handle)
Definition: dhcpctl.c:596
omapi_object_type_t * dhcpctl_callback_type
Definition: dhcpctl.c:36
omapi_typed_data_t * message
Definition: dhcpctl.h:55
omapi_object_t * object
Definition: dhcpctl.h:46
dhcpctl_status dhcpctl_set_int_value(dhcpctl_handle, int, const char *)
Definition: dhcpctl.c:563
isc_result_t dhcpctl_callback_destroy(omapi_object_t *, const char *, int)
Definition: callback.c:134
isc_result_t dhcpctl_remote_set_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_typed_data_t *)
Definition: remote.c:251
dhcpctl_status dhcpctl_get_value(dhcpctl_data_string *, dhcpctl_handle, const char *)
Definition: dhcpctl.c:300
dhcpctl_status dhcpctl_connect(dhcpctl_handle *, const char *, int, dhcpctl_handle)
Definition: dhcpctl.c:98
omapi_object_type_t * dhcpctl_remote_type
Definition: dhcpctl.c:37
dhcpctl_status dhcpctl_set_value(dhcpctl_handle, dhcpctl_data_string, const char *)
Definition: dhcpctl.c:398
isc_result_t dhcpctl_callback_signal_handler(omapi_object_t *, const char *, va_list)
Definition: callback.c:103
isc_result_t dhcpctl_remote_destroy(omapi_object_t *, const char *, int)
Definition: remote.c:324
dhcpctl_status dhcpctl_timed_wait_for_completion(dhcpctl_handle h, dhcpctl_status *s, struct timeval *t)
Definition: dhcpctl.c:247
dhcpctl_status dhcpctl_timed_connect(dhcpctl_handle *, const char *, int, dhcpctl_handle, struct timeval *)
Definition: dhcpctl.c:161
dhcpctl_status dhcpctl_new_object(dhcpctl_handle *, dhcpctl_handle, const char *)
Definition: remote.c:106
isc_result_t dhcpctl_callback_set_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_typed_data_t *)
Definition: callback.c:75
dhcpctl_status dhcpctl_open_object(dhcpctl_handle, dhcpctl_handle, int)
Definition: remote.c:171
dhcpctl_status dhcpctl_object_refresh(dhcpctl_handle, dhcpctl_handle)
Definition: dhcpctl.c:648
isc_result_t dhcpctl_callback_stuff_values(omapi_object_t *, omapi_object_t *, omapi_object_t *)
Definition: callback.c:150
isc_result_t dhcpctl_status
Definition: dhcpctl.h:34
dhcpctl_status dhcpctl_disconnect(dhcpctl_handle *, int)
Definition: dhcpctl.c:761
dhcpctl_status dhcpctl_set_boolean_value(dhcpctl_handle, int, const char *)
Definition: dhcpctl.c:531
omapi_object_t * dhcpctl_handle
Definition: dhcpctl.h:35
omapi_typed_data_t * rtype
Definition: dhcpctl.h:53
omapi_handle_t remote_handle
Definition: dhcpctl.h:56
isc_result_t dhcpctl_remote_signal_handler(omapi_object_t *, const char *, va_list)
Definition: remote.c:291
unsigned int omapi_handle_t
Definition: omapip.h:36
dhcpctl_status dhcpctl_get_boolean(int *, dhcpctl_handle, const char *)
Definition: dhcpctl.c:368
isc_result_t waitstatus
Definition: dhcpctl.h:54
dhcpctl_status dhcpctl_set_null_value(dhcpctl_handle, const char *)
Definition: dhcpctl.c:504
dhcpctl_status dhcpctl_set_string_value(dhcpctl_handle, const char *, const char *)
Definition: dhcpctl.c:434
dhcpctl_status dhcpctl_set_callback(dhcpctl_handle, void *, void(*)(dhcpctl_handle, dhcpctl_status, void *))
Definition: callback.c:46
dhcpctl_status dhcpctl_set_data_value(dhcpctl_handle, const char *, unsigned, const char *)
Definition: dhcpctl.c:468
isc_result_t dhcpctl_remote_stuff_values(omapi_object_t *, omapi_object_t *, omapi_object_t *)
Definition: remote.c:343
dhcpctl_status dhcpctl_new_authenticator(dhcpctl_handle *, const char *, const char *, const unsigned char *, unsigned)
Definition: remote.c:43
isc_result_t dhcpctl_remote_get_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_value_t **)
Definition: remote.c:277
dhcpctl_status dhcpctl_initialize(void)
Definition: dhcpctl.c:43
omapi_data_string_t * dhcpctl_data_string
Definition: dhcpctl.h:36
isc_result_t dhcpctl_data_string_dereference(dhcpctl_data_string *, const char *, int)
Definition: dhcpctl.c:752
dhcpctl_status dhcpctl_object_remove(dhcpctl_handle, dhcpctl_handle)
Definition: dhcpctl.c:704
isc_result_t dhcpctl_callback_get_value(omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_value_t **)
Definition: callback.c:89