dnsinfo.h — netty Source File
Architecture documentation for dnsinfo.h, a c file in the netty codebase. 5 imports, 1 dependents.
Entity Profile
Dependency Diagram
graph LR 7a3e29bf_b4be_5bbd_7fb6_92ca019f2b13["dnsinfo.h"] 8d14a655_3973_91db_e421_11b3e4b8eb41["cdefs.h"] 7a3e29bf_b4be_5bbd_7fb6_92ca019f2b13 --> 8d14a655_3973_91db_e421_11b3e4b8eb41 617ed4cf_d595_a5c7_1593_810f21ce0712["stdint.h"] 7a3e29bf_b4be_5bbd_7fb6_92ca019f2b13 --> 617ed4cf_d595_a5c7_1593_810f21ce0712 1cd991d2_f70c_b50c_8f2d_ba89cd654ec5["types.h"] 7a3e29bf_b4be_5bbd_7fb6_92ca019f2b13 --> 1cd991d2_f70c_b50c_8f2d_ba89cd654ec5 505c78e3_5429_a273_f5c4_148e73de1d1f["socket.h"] 7a3e29bf_b4be_5bbd_7fb6_92ca019f2b13 --> 505c78e3_5429_a273_f5c4_148e73de1d1f 87777250_5cc3_52ea_1645_b2af04d91714["in.h"] 7a3e29bf_b4be_5bbd_7fb6_92ca019f2b13 --> 87777250_5cc3_52ea_1645_b2af04d91714 1bcde9d3_ef88_154c_dabd_8d3c3d7d8b2d["netty_resolver_dns_macos.c"] 1bcde9d3_ef88_154c_dabd_8d3c3d7d8b2d --> 7a3e29bf_b4be_5bbd_7fb6_92ca019f2b13 style 7a3e29bf_b4be_5bbd_7fb6_92ca019f2b13 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
/*
* Copyright 2019 The Netty Project
*
* The Netty Project licenses this file to you under the Apache License,
* version 2.0 (the "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at:
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*/
/*
* Copyright (c) 2004-2006, 2008, 2009, 2011 Apple Inc. All rights reserved.
*
* @APPLE_LICENSE_HEADER_START@
*
* This file contains Original Code and/or Modifications of Original Code
* as defined in and that are subject to the Apple Public Source License
* Version 2.0 (the 'License'). You may not use this file except in
* compliance with the License. Please obtain a copy of the License at
* https://www.opensource.apple.com/apsl/ and read it before using this
* file.
*
* The Original Code and all software distributed under the License are
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
* EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
* INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
* Please see the License for the specific language governing rights and
* limitations under the License.
*
* @APPLE_LICENSE_HEADER_END@
*/
#ifndef __DNSINFO_H__
#define __DNSINFO_H__
/*
* These routines provide access to the systems DNS configuration
*/
#include <sys/cdefs.h>
#include <stdint.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#define DNSINFO_VERSION 20111104
#define DEFAULT_SEARCH_ORDER 200000 /* search order for the "default" resolver domain name */
#define DNS_PTR(type, name) \
union { \
type name; \
uint64_t _ ## name ## _p; \
}
#define DNS_VAR(type, name) \
type name
#pragma pack(4)
typedef struct {
struct in_addr address;
struct in_addr mask;
} dns_sortaddr_t;
#pragma pack()
#pragma pack(4)
typedef struct {
DNS_PTR(char *, domain); /* domain */
DNS_VAR(int32_t, n_nameserver); /* # nameserver */
DNS_PTR(struct sockaddr **, nameserver);
DNS_VAR(uint16_t, port); /* port (in host byte order) */
DNS_VAR(int32_t, n_search); /* # search */
DNS_PTR(char **, search);
DNS_VAR(int32_t, n_sortaddr); /* # sortaddr */
DNS_PTR(dns_sortaddr_t **, sortaddr);
DNS_PTR(char *, options); /* options */
DNS_VAR(uint32_t, timeout); /* timeout */
DNS_VAR(uint32_t, search_order); /* search_order */
DNS_VAR(uint32_t, if_index);
DNS_VAR(uint32_t, flags);
DNS_VAR(uint32_t, reach_flags); /* SCNetworkReachabilityFlags */
DNS_VAR(uint32_t, reserved[5]);
} dns_resolver_t;
#pragma pack()
#define DNS_RESOLVER_FLAGS_SCOPED 1 /* configuration is for scoped questions */
#pragma pack(4)
typedef struct {
DNS_VAR(int32_t, n_resolver); /* resolver configurations */
DNS_PTR(dns_resolver_t **, resolver);
DNS_VAR(int32_t, n_scoped_resolver); /* "scoped" resolver configurations */
DNS_PTR(dns_resolver_t **, scoped_resolver);
DNS_VAR(uint32_t, reserved[5]);
} dns_config_t;
#pragma pack()
__BEGIN_DECLS
/*
* DNS configuration access APIs
*/
const char *
dns_configuration_notify_key ();
dns_config_t *
dns_configuration_copy ();
void
dns_configuration_free (dns_config_t *config);
void
_dns_configuration_ack (dns_config_t *config,
const char *bundle_id);
__END_DECLS
#endif /* __DNSINFO_H__ */
Domain
Dependencies
- cdefs.h
- in.h
- socket.h
- stdint.h
- types.h
Source
Frequently Asked Questions
What does dnsinfo.h do?
dnsinfo.h is a source file in the netty codebase, written in c. It belongs to the NativeResolver domain.
What does dnsinfo.h depend on?
dnsinfo.h imports 5 module(s): cdefs.h, in.h, socket.h, stdint.h, types.h.
What files import dnsinfo.h?
dnsinfo.h is imported by 1 file(s): netty_resolver_dns_macos.c.
Where is dnsinfo.h in the architecture?
dnsinfo.h is located at resolver-dns-native-macos/src/main/c/dnsinfo.h (domain: NativeResolver, directory: resolver-dns-native-macos/src/main/c).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free