Annotation of embedaddon/dhcp/includes/minires/minires.h, revision 1.1
1.1 ! misho 1: /*
! 2: * Copyright (c) 2004,2007-2010 by Internet Systems Consortium, Inc. ("ISC")
! 3: * Copyright (c) 2001-2003 by Internet Software Consortium
! 4: *
! 5: * Permission to use, copy, modify, and distribute this software for any
! 6: * purpose with or without fee is hereby granted, provided that the above
! 7: * copyright notice and this permission notice appear in all copies.
! 8: *
! 9: * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES
! 10: * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
! 11: * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR
! 12: * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
! 13: * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
! 14: * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
! 15: * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
! 16: *
! 17: * Internet Systems Consortium, Inc.
! 18: * 950 Charter Street
! 19: * Redwood City, CA 94063
! 20: * <info@isc.org>
! 21: * https://www.isc.org/
! 22: */
! 23: #ifndef MINIRES_H
! 24: #define MINIRES_H
! 25:
! 26: #include "cdefs.h"
! 27: #include "osdep.h"
! 28:
! 29: #define _ns_flagdata MR_ns_flagdata
! 30:
! 31: #include "minires/resolv.h"
! 32: #include "minires/res_update.h"
! 33: #include "isc-dhcp/result.h"
! 34:
! 35: /*
! 36: * Based on the Dynamic DNS reference implementation by Viraj Bais
! 37: * <viraj_bais@ccm.fm.intel.com>
! 38: */
! 39:
! 40: int minires_mkupdate (ns_updrec *, unsigned char *, unsigned);
! 41: int minires_update (ns_updrec *);
! 42: ns_updrec *minires_mkupdrec (int, const char *, unsigned int,
! 43: unsigned int, unsigned long);
! 44: void minires_freeupdrec (ns_updrec *);
! 45: int minires_nmkupdate (res_state, ns_updrec *, double *, unsigned *);
! 46: isc_result_t minires_nupdate (res_state, ns_updrec *);
! 47: int minires_ninit (res_state);
! 48: ns_rcode isc_rcode_to_ns (isc_result_t);
! 49:
! 50: int MRns_name_compress(const char *, u_char *, size_t, const unsigned char **,
! 51: const unsigned char **);
! 52: int MRns_name_unpack(const unsigned char *, const unsigned char *,
! 53: const unsigned char *, unsigned char *, size_t);
! 54: int MRns_name_ntop(const unsigned char *, char *, size_t);
! 55: int MRns_name_pton(const char *, u_char *, size_t);
! 56:
! 57: #if defined (MINIRES_LIB)
! 58: #define res_update minires_update
! 59: #define res_mkupdate minires_mkupdate
! 60: #define res_mkupdrec minires_mkupdrec
! 61: #define res_freeupdrec minires_freeupdrec
! 62: #define res_nmkupdate minires_nmkupdate
! 63: #define res_nupdate minires_nupdate
! 64: #define __p_type_syms MR__p_type_syms
! 65: #define dn_comp MRdn_comp
! 66: #define loc_aton MRloc_aton
! 67: #define sym_ston MRsym_ston
! 68: #define res_buildservicelist MRres_buildservicelist
! 69: #define res_destroyservicelist MRres_destroyservicelist
! 70: #define res_buildprotolist MRres_buildprotolist
! 71: #define res_destroyprotolist MRres_destroyprotolist
! 72: #define res_servicenumber MRres_servicenumber
! 73: #define res_protocolnumber MRres_protocolnumber
! 74: #define res_protocolname MRres_protocolname
! 75: #define res_servicename MRres_servicename
! 76: #define ns_datetosecs MRns_datetosecs
! 77: #define b64_pton MRb64_pton
! 78: #define res_ninit minires_ninit
! 79: #define res_randomid MRres_randomid
! 80: #define res_findzonecut MRres_findzonecut
! 81: #define res_nsend MRres_nsend
! 82: #define res_nsendsigned MRres_nsendsigned
! 83: #define ns_samename MRns_samename
! 84: #define res_nameinquery MRres_nameinquery
! 85: #define res_queriesmatch MRres_queriesmatch
! 86: #define dn_expand MRdn_expand
! 87: #define ns_get16 MRns_get16
! 88: #define res_close MRres_close
! 89: #define res_nclose MRres_nclose
! 90: #define res_ourserver_p MRres_ourserver_p
! 91: #define ns_sign MRns_sign
! 92: #define p_class MRp_class
! 93: #define p_section MRp_section
! 94: #define ns_makecanon MRns_makecanon
! 95: #define ns_parserr MRns_parserr
! 96: #define ns_samedomain MRns_samedomain
! 97: #define ns_name_uncompress MRns_name_uncompress
! 98: #define res_nmkquery MRres_nmkquery
! 99: #define ns_initparse MRns_initparse
! 100: #define res_nquery MRres_nquery
! 101: #define res_nsearch MRres_nsearch
! 102: #define res_hostalias MRres_hostalias
! 103: #define res_nquerydomain MRres_nquerydomain
! 104: #define ns_skiprr MRns_skiprr
! 105: #define dn_skipname MRdn_skipname
! 106: #define ns_name_ntol MRns_name_ntol
! 107: #define ns_sign_tcp_init MRns_sign_tcp_init
! 108: #define ns_sign_tcp MRns_sign_tcp
! 109: #define ns_name_ntop MRns_name_ntop
! 110: #define ns_name_pton MRns_name_pton
! 111: #define ns_name_unpack MRns_name_unpack
! 112: #define ns_name_pack MRns_name_pack
! 113: #define ns_name_compress MRns_name_compress
! 114: #define ns_name_skip MRns_name_skip
! 115: #define ns_subdomain MRns_subdomain
! 116: #define ns_find_tsig MRns_find_tsig
! 117: #define ns_verify MRns_verify
! 118: #define ns_verify_tcp_init MRns_verify_tcp_init
! 119: #define ns_verify_tcp MRns_verify_tcp
! 120: #define b64_ntop MRb64_ntop
! 121:
! 122: extern const struct res_sym __p_type_syms[];
! 123: extern struct timeval cur_tv;
! 124: #define cur_time cur_tv.tv_sec
! 125:
! 126: int dn_comp (const char *,
! 127: unsigned char *, unsigned, unsigned char **, unsigned char **);
! 128: int loc_aton (const char *, u_char *);
! 129: int sym_ston (const struct res_sym *, const char *, int *);
! 130: void res_buildservicelist (void);
! 131: void res_destroyservicelist (void);
! 132: void res_buildprotolist(void);
! 133: void res_destroyprotolist(void);
! 134: const char *res_protocolname(int);
! 135: const char *res_servicename(u_int16_t, const char *);
! 136: u_int32_t ns_datetosecs (const char *cp, int *errp);
! 137: int b64_pton (char const *, unsigned char *, size_t);
! 138: u_int res_randomid(void);
! 139: isc_result_t res_findzonecut (res_state, const char *, ns_class, int, char *,
! 140: size_t, struct in_addr *, int, int *, void *);
! 141: isc_result_t res_nsend (res_state,
! 142: double *, unsigned, double *, unsigned, unsigned *);
! 143: isc_result_t res_nsendsigned (res_state, double *, unsigned, ns_tsig_key *,
! 144: double *, unsigned, unsigned *);
! 145: int ns_samename (const char *, const char *);
! 146: int res_nameinquery (const char *, int, int,
! 147: const unsigned char *, const unsigned char *);
! 148: int res_queriesmatch (const unsigned char *, const unsigned char *,
! 149: const unsigned char *, const unsigned char *);
! 150: int dn_expand (const unsigned char *,
! 151: const unsigned char *, const unsigned char *, char *, unsigned);
! 152: unsigned int ns_get16 (const unsigned char *);
! 153: void res_close (void);
! 154: void res_nclose (res_state);
! 155: int res_ourserver_p (const res_state, const struct sockaddr_in *);
! 156: isc_result_t ns_sign (unsigned char *, unsigned *,
! 157: unsigned, int, void *, const unsigned char *,
! 158: unsigned, unsigned char *, unsigned *, time_t);
! 159: const char *p_class (int);
! 160: const char *p_section (int section, int opcode);
! 161: isc_result_t ns_makecanon (const char *, char *, size_t);
! 162: isc_result_t ns_parserr (ns_msg *, ns_sect, int, ns_rr *);
! 163: int ns_samedomain (const char *, const char *);
! 164: int ns_name_uncompress (const u_char *, const u_char *,
! 165: const u_char *, char *, size_t);
! 166: isc_result_t res_nmkquery (res_state, int, const char *, ns_class, ns_type,
! 167: const unsigned char *, unsigned,
! 168: const unsigned char *, double *,
! 169: unsigned, unsigned *);
! 170: isc_result_t ns_initparse (const unsigned char *, unsigned, ns_msg *);
! 171: isc_result_t res_nquery(res_state, const char *,
! 172: ns_class, ns_type, double *, unsigned, unsigned *);
! 173: isc_result_t res_nsearch(res_state, const char *,
! 174: ns_class, ns_type, double *, unsigned, unsigned *);
! 175: const char *res_hostalias (const res_state, const char *, char *, size_t);
! 176: isc_result_t res_nquerydomain(res_state, const char *, const char *,
! 177: ns_class class, ns_type type,
! 178: double *, unsigned, unsigned *);
! 179:
! 180: isc_result_t ns_skiprr(const unsigned char *,
! 181: const unsigned char *, ns_sect, int, int *);
! 182: int dn_skipname (const unsigned char *, const unsigned char *);
! 183: u_int32_t getULong (const unsigned char *);
! 184: int32_t getLong (const unsigned char *);
! 185: u_int32_t getUShort (const unsigned char *);
! 186: int32_t getShort (const unsigned char *);
! 187: u_int32_t getUChar (const unsigned char *);
! 188: void putULong (unsigned char *, u_int32_t);
! 189: void putLong (unsigned char *, int32_t);
! 190: void putUShort (unsigned char *, u_int32_t);
! 191: void putShort (unsigned char *, int32_t);
! 192: void putUChar (unsigned char *, u_int32_t);
! 193: int ns_name_ntol (const unsigned char *, unsigned char *, size_t);
! 194: isc_result_t ns_sign_tcp_init (void *, const unsigned char *,
! 195: unsigned, ns_tcp_tsig_state *);
! 196: isc_result_t ns_sign_tcp (unsigned char *,
! 197: unsigned *, unsigned, int, ns_tcp_tsig_state *, int);
! 198: int ns_name_pack (const unsigned char *, unsigned char *,
! 199: unsigned, const unsigned char **, const unsigned char **);
! 200: int ns_name_skip (const unsigned char **, const unsigned char *);
! 201: int ns_subdomain (const char *, const char *);
! 202: unsigned char *ns_find_tsig (unsigned char *, unsigned char *);
! 203: isc_result_t ns_verify (unsigned char *, unsigned *, void *,
! 204: const unsigned char *,
! 205: unsigned, unsigned char *, unsigned *, time_t *, int);
! 206: isc_result_t ns_verify_tcp_init (void *, const unsigned char *, unsigned,
! 207: ns_tcp_tsig_state *);
! 208: isc_result_t ns_verify_tcp (unsigned char *, unsigned *,
! 209: ns_tcp_tsig_state *, int);
! 210: int b64_ntop (unsigned char const *, size_t, char *, size_t);
! 211:
! 212: isc_result_t find_cached_zone (const char *, ns_class, char *,
! 213: size_t, struct in_addr *, int, int *, void *);
! 214: int find_tsig_key (ns_tsig_key **, const char *, void *);
! 215: int forget_zone (void *);
! 216: int repudiate_zone (void *);
! 217: void cache_found_zone (ns_class, char *, struct in_addr *, int);
! 218: isc_result_t uerr2isc (int);
! 219: isc_result_t ns_rcode_to_isc (int);
! 220:
! 221: #define DprintQ(a,b,c,d)
! 222: #define Dprint(a,b)
! 223: #define Perror(a, b, c, d)
! 224: #define Aerror(a, b, c, d, e)
! 225: #define DPRINTF(x)
! 226:
! 227: #define USE_MD5
! 228: #endif
! 229:
! 230: #if defined (TRACING)
! 231: void trace_mr_statp_setup (res_state);
! 232: #endif
! 233:
! 234: #endif /* MINIRES_H */
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>