Open Ethernet Networking (OpEN) API Guide and Reference Manual  3.12.0.1
openapi_dns.h
Go to the documentation of this file.
1 
9 /*********************************************************************
10 *
11 * Copyright 2016-2023 Broadcom.
12 *
13 * Licensed under the Apache License, Version 2.0 (the "License");
14 * you may not use this file except in compliance with the License.
15 * You may obtain a copy of the License at
16 *
17 * http://www.apache.org/licenses/LICENSE-2.0
18 *
19 * Unless required by applicable law or agreed to in writing, software
20 * distributed under the License is distributed on an "AS IS" BASIS,
21 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
22 * See the License for the specific language governing permissions and
23 * limitations under the License.
24 *
25 **********************************************************************
26 *
27 * @filename openapi_dns.h
28 *
29 * @purpose DNS Configuration and Status
30 *
31 * @component OpEN
32 *
33 * @create 01/30/2013
34 *
35 * @end
36 *
37 **********************************************************************/
38 #ifndef OPENAPI_DNS_H_INCLUDED
39 #define OPENAPI_DNS_H_INCLUDED
40 
41 #include "openapi_common.h"
42 
47 #define OPEN_DNS_NAME_LABELS_SIZE_MAX 255
48 #define OPEN_DNS_NAME_CASE_BITS_SIZE_MAX 32
49 
50 #define OPEN_DNS_DOMAIN_NAME_SIZE_MAX 255
51 
52 typedef struct openDnsDomainName_s
53 {
54  uint8_t labels[OPEN_DNS_NAME_LABELS_SIZE_MAX+1];
55  uint8_t uppercase[OPEN_DNS_NAME_CASE_BITS_SIZE_MAX];
56 
58 
59 typedef enum openDnsDomainNameType_s
60 {
61  OPEN_DNS_RR_TYPE_INVALID = 0,
62  OPEN_DNS_RR_TYPE_ADDRESS = 1,
63  OPEN_DNS_RR_TYPE_CNAME = 5,
64  OPEN_DNS_RR_TYPE_PTR = 12,
65  OPEN_DNS_RR_TYPE_IPV6_ADDRESS = 28
66 
67 } openDnsDomainNameType_t;
68 
70 {
72  uint8_t hostName[OPEN_DNS_DOMAIN_NAME_SIZE_MAX];
73 
74  /* Below ones are the Keys that the user expected to return */
75  uint8_t rrName[OPEN_DNS_DOMAIN_NAME_SIZE_MAX + 1];
76  uint32_t rrType;
77  uint32_t rrIndex;
78  uint32_t rrClass;
79 
81  uint32_t ttl;
82 
84  uint32_t ttlElapsed;
85 
87  openDnsDomainNameType_t entryType;
88 
91 
93 
94 /*****************************************************************/
120  open_buffdesc *defaultDomainName);
121 
122 /*****************************************************************/
141  open_buffdesc *defaultDomainName);
142 
143 /*****************************************************************/
159  uint32_t *domainNameMaxSize);
160 
161 /*****************************************************************/
178 
179 /*****************************************************************/
202  open_inet_addr_t *ipAddr);
203 
204 /*****************************************************************/
225  open_inet_addr_t *ipAddr);
226 
227 /*****************************************************************/
244  open_inet_addr_t *ipAddr);
245 
246 /*****************************************************************/
264  open_inet_addr_t *ipAddr,
265  uint32_t *preference);
266 
267 /*****************************************************************/
286  openDnsDynamicHostEntry_t *domainNameEntry);
287 
288 /*****************************************************************/
305  uint32_t *maxNameServers);
306 
307 /*****************************************************************/
340  open_buffdesc *hostname,
341  open_inet_addr_t *ipAddr);
342 
343 /*****************************************************************/
370  open_buffdesc *hostname);
371 
372 /*****************************************************************/
392  open_buffdesc *hostname);
393 
394 /*****************************************************************/
416  open_buffdesc *hostname,
417  open_inet_addr_t *ipAddr);
418 
419 /*****************************************************************/
435  uint32_t *domainLabelMaxSize);
436 
437 /*****************************************************************/
458  open_buffdesc *hostname,
459  open_buffdesc *ipAddr);
460 
461 /*****************************************************************/
477  OPEN_CONTROL_t * adminMode);
478 
479 /*****************************************************************/
495  OPEN_CONTROL_t adminMode);
496 
497 /*****************************************************************/
527  open_buffdesc *vrfName,
528  open_buffdesc *hostname,
529  OPEN_AF_t family);
530 
531 /*****************************************************************/
555  open_buffdesc *vrfName,
556  open_buffdesc *hostname,
557  open_inet_addr_t *ipAddr);
558 #endif
559 
open_error_t openapiDNSDomainNameMaxSizeGet(openapiClientHandle_t *client_handle, uint32_t *domainNameMaxSize)
Get the maximum size of domain name.
open_error_t openapiDNSAdminModeGet(openapiClientHandle_t *client_handle, OPEN_CONTROL_t *adminMode)
Get the global admin mode for the DNS client.
open_error_t openapiDNSIpNameServerDelete(openapiClientHandle_t *client_handle, open_inet_addr_t *ipAddr)
Delete DNS IP name server.
open_error_t openapiDNSStaticHostAddressMappingSet(openapiClientHandle_t *client_handle, open_buffdesc *hostname, open_inet_addr_t *ipAddr)
Set the static hostname to IP address mapping.
uint32_t ttl
TTL value.
Definition: openapi_dns.h:81
open_error_t openapiDNSIpNameServersNextGet(openapiClientHandle_t *client_handle, open_inet_addr_t *ipAddr)
Get next name server.
open_error_t openapiDNSIpNameServersMaxSupportedGet(openapiClientHandle_t *client_handle, uint32_t *maxNameServers)
Get the maximum number of DNS name servers supported.
uint8_t hostName[OPEN_DNS_DOMAIN_NAME_SIZE_MAX]
DNS Hostname.
Definition: openapi_dns.h:72
open_error_t openapiDNSStaticHostAddressMappingRemove(openapiClientHandle_t *client_handle, open_buffdesc *hostname)
Remove static hostname to address mapping.
#define OPEN_DNS_NAME_LABELS_SIZE_MAX
Message structures for DNS Dynamic Host entries.
Definition: openapi_dns.h:47
open_error_t
OPEN uses these enumerators to indicate the error codes.
open_error_t openapiDNSStaticHostIpAddrGet(openapiClientHandle_t *client_handle, open_buffdesc *hostname, open_inet_addr_t *ipAddr)
Get the IP address associated with the static host name.
open_error_t openapiDNSDomainLabelMaximumSizeGet(openapiClientHandle_t *client_handle, uint32_t *domainLabelMaxSize)
Get the maximum size of the DNS domain label that is separated by dot.
open_error_t openapiDNSStaticHostAddressMappingDelete(openapiClientHandle_t *client_handle, open_buffdesc *vrfName, open_buffdesc *hostname, OPEN_AF_t family)
Remove IPv4/IPv6 static hostname to address mapping.
open_error_t openapiDNSDefaultDomainNameDelete(openapiClientHandle_t *client_handle)
Clear the DNS default domain name.
open_error_t openapiDnsDomainNameEntryNextGet(openapiClientHandle_t *client_handle, openDnsDynamicHostEntry_t *domainNameEntry)
Get the next domain name host entry.
open_error_t openapiDNSDefaultDomainNameGet(openapiClientHandle_t *client_handle, open_buffdesc *defaultDomainName)
Get the DNS default domain name.
open_inet_addr_t hostAddr
Address.
Definition: openapi_dns.h:90
open_error_t openapiDNSIpNameServersWithPrefNextGet(openapiClientHandle_t *client_handle, open_inet_addr_t *ipAddr, uint32_t *preference)
Get next name server along with preference.
OPEN_AF_t
OPEN uses these enumerators to indicate address family, IPV4 or IPV6.
uint32_t ttlElapsed
Elapsed TTL.
Definition: openapi_dns.h:84
open_error_t openapiDNSStaticHostAddressMappingNextGet(openapiClientHandle_t *client_handle, open_buffdesc *vrfName, open_buffdesc *hostname, open_inet_addr_t *ipAddr)
Get the next static hostname and the IPv6/IPv6 address associated with the static host name...
OPEN_CONTROL_t
OPEN uses these enumerators to indicate enable or disable for a given config or status parameter...
open_error_t openapiDNSClientInetNameLookup(openapiClientHandle_t *client_handle, open_buffdesc *hostname, open_buffdesc *ipAddr)
Given a DNS hostname, resolve and return IPv4 or IPv6 address associated with it. ...
open_error_t openapiDNSStaticHostNextGet(openapiClientHandle_t *client_handle, open_buffdesc *hostname)
Get next static hostname.
open_error_t openapiDNSAdminModeSet(openapiClientHandle_t *client_handle, OPEN_CONTROL_t adminMode)
Set the global admin mode for the DNS client.
open_error_t openapiDNSDefaultDomainNameSet(openapiClientHandle_t *client_handle, open_buffdesc *defaultDomainName)
Set the DNS default domain name.
open_error_t openapiDNSIpNameServerAdd(openapiClientHandle_t *client_handle, open_inet_addr_t *ipAddr)
Add DNS IP name server.
openDnsDomainNameType_t entryType
DNS entry type.
Definition: openapi_dns.h:87