3 connections to the isc and dns libraries */
6 * Copyright (c) 2009 by Internet Systems Consortium, Inc. ("ISC")
8 * Permission to use, copy, modify, and distribute this software for any
9 * purpose with or without fee is hereby granted, provided that the above
10 * copyright notice and this permission notice appear in all copies.
12 * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES
13 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
14 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR
15 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
16 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
17 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
18 * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
20 * Internet Systems Consortium, Inc.
22 * Redwood City, CA 94063
37 #include <sys/types.h>
38 #include <sys/socket.h>
40 #include <netinet/in.h>
42 #include <arpa/inet.h>
51 #include <isc/buffer.h>
56 #include <isc/parseint.h>
57 #include <isc/socket.h>
58 #include <isc/sockaddr.h>
60 #include <isc/timer.h>
62 #include <isc/random.h>
64 #include <dns/client.h>
65 #include <dns/fixedname.h>
66 #include <dns/keyvalues.h>
69 #include <dns/rdata.h>
70 #include <dns/rdataclass.h>
71 #include <dns/rdatalist.h>
72 #include <dns/rdataset.h>
73 #include <dns/rdatastruct.h>
74 #include <dns/rdatatype.h>
75 #include <dns/result.h>
76 #include <dns/secalg.h>
85 * DHCP context structure
86 * This holds the libisc information for a dhcp entity
89 typedef struct dhcp_context {
93 isc_taskmgr_t *taskmgr;
95 isc_socketmgr_t *socketmgr;
96 isc_timermgr_t *timermgr;
97 #if defined (NSUPDATE)
98 dns_client_t *dnsclient;
102 extern dhcp_context_t dhcp_gbl_ctx;
104 #define DHCP_MAXDNS_WIRE 256
106 #define DHCP_HMAC_MD5_NAME "HMAC-MD5.SIG-ALG.REG.INT."
108 isc_result_t dhcp_isc_name(unsigned char *namestr,
109 dns_fixedname_t *namefix,
113 isclib_make_dst_key(char *inname,
115 unsigned char *secret,
119 isc_result_t dhcp_context_create(void);
120 void isclib_cleanup(void);
122 #endif /* ISCLIB_H */