domain.h File Reference
`#include "config.h"`
`#include <ldns/ldns.h>`
`#include <time.h>`
`#include "status.h"`
`#include "signer/rrset.h"`
`#include "signer/signconf.h"`
`#include "signer/zone.h"`

Go to the source code of this file.

## Data Structures

struct | domain_struct

## Macros

#define | SE_NSEC_RDATA_NXT 0
#define | SE_NSEC_RDATA_BITMAP 1
#define | SE_NSEC3_RDATA_NSEC3PARAMS 4
#define | SE_NSEC3_RDATA_NXT 4
#define | SE_NSEC3_RDATA_BITMAP 5

## Typedefs

typedef struct domain_struct | domain_type

## Functions

void | log_dname (ldns_rdf *rdf, const char *pre, int level)
domain_type * | domain_create (zone_type *zone, ldns_rdf *dname)
size_t | domain_count_rrset_is_added (domain_type *domain)
rrset_type * | domain_lookup_rrset (domain_type *domain, ldns_rr_type rrtype)
void | domain_add_rrset (domain_type *domain, rrset_type *rrset)
void | domain_diff (domain_type *domain, unsigned is_ixfr, unsigned more_coming)
void | domain_rollback (domain_type *domain, int keepsc)
int | domain_ent2unsignedns (domain_type *domain)
ldns_rr_type | domain_is_delegpt (domain_type *domain)
ldns_rr_type | domain_is_occluded (domain_type *domain)
void | domain_print (FILE *fd, domain_type *domain, ods_status *status)
void | domain_cleanup (domain_type *domain)
void | domain_backup2 (FILE *fd, domain_type *domain, int sigs)

## Macro Definition Documentation

## SE_NSEC3_RDATA_BITMAP

#define SE_NSEC3_RDATA_BITMAP 5

Definition at line 46 of file domain.h.

## SE_NSEC3_RDATA_NSEC3PARAMS

#define SE_NSEC3_RDATA_NSEC3PARAMS 4

Definition at line 44 of file domain.h.

## SE_NSEC3_RDATA_NXT

#define SE_NSEC3_RDATA_NXT 4

Definition at line 45 of file domain.h.

## SE_NSEC_RDATA_BITMAP

#define SE_NSEC_RDATA_BITMAP 1

Definition at line 43 of file domain.h.

## SE_NSEC_RDATA_NXT

#define SE_NSEC_RDATA_NXT 0

Definition at line 42 of file domain.h.

## Typedef Documentation

## domain_type

typedef struct domain_struct domain_type

Definition at line 35 of file domain.h.

## Function Documentation

## domain_add_rrset()

void domain_add_rrset | ( | domain_type * | domain,
|  | rrset_type * | rrset
| ) |  |

Add RRset to domain.

Parameters

  [in] | domain | domain
  [in] | rrset | RRset

Add RRset to domain.

Definition at line 160 of file domain.c.

References denial_struct::bitmap_changed, domain_struct::denial, domain_struct::dname, rrset_struct::domain, log_rrset(), rrset_struct::next, domain_struct::rrsets, and rrset_struct::rrtype.

## domain_backup2()

void domain_backup2 | ( | FILE * | fd,
|  | domain_type * | domain,
|  | int | sigs
| ) |  |

Backup domain.

Parameters

  [in] | fd | file descriptor
  [in] | domain | domain
  [in] | sigs | do RRSIGS if true, otherwise do RRset

Backup domain.

Definition at line 481 of file domain.c.

References domain_lookup_rrset(), domain_struct::is_apex, rrset_struct::next, rrset_backup2(), rrset_print(), domain_struct::rrsets, and rrset_struct::rrtype.

Referenced by namedb_backup2().

## domain_cleanup()

void domain_cleanup | ( | domain_type * | domain | ) |

Clean up domain.

Parameters

  [in] | domain | domain to cleanup

Clean up domain.

Definition at line 465 of file domain.c.

References domain_struct::dname, rrset_cleanup(), and domain_struct::rrsets.

## domain_count_rrset_is_added()

size_t domain_count_rrset_is_added | ( | domain_type * | domain | ) |

Count the number of RRsets at this domain with RRs that have is_added.

Parameters

  [in] | domain | domain

Returns
  size_t number of RRsets

Count the number of RRsets at this domain with RRs that have is_added.

Definition at line 118 of file domain.c.

References rrset_struct::next, rrset_count_rr_is_added(), and domain_struct::rrsets.

Referenced by namedb_examine().

## domain_create()

domain_type* domain_create | ( | zone_type * | zone,
|  | ldns_rdf * | dname
| ) |  |

Create domain.

Parameters

  [in] | zoneptr | zone reference
  [in] | dname | owner name

Returns
  domain_type* domain

Create domain.

Definition at line 88 of file domain.c.

References domain_struct::dname.

Referenced by namedb_add_domain().

## domain_diff()

void domain_diff | ( | domain_type * | domain,
|  | unsigned | is_ixfr,
|  | unsigned | more_coming
| ) |  |

Apply differences at domain.

Parameters

  [in] | domain | domain
  [in] | is_ixfr | true if incremental change
  [in] | more_coming | more transactions possible

Apply differences at domain.

Definition at line 190 of file domain.c.

References denial_struct::bitmap_changed, domain_struct::denial, domain_struct::dname, log_rrset(), rrset_struct::next, rrset_struct::rr_count, rrset_cleanup(), rrset_diff(), domain_struct::rrsets, and rrset_struct::rrtype.

Referenced by namedb_diff().

## domain_ent2unsignedns()

int domain_ent2unsignedns | ( | domain_type * | domain | ) |

Check whether a domain is an empty non-terminal to an unsigned delegation.

Parameters

  [in] | domain | domain

Returns
  int yes or no

Check whether a domain is an empty non-terminal to unsigned delegation.

Definition at line 310 of file domain.c.

References domain_struct::dname, domain_is_delegpt(), domain_is_occluded(), domain_struct::node, and domain_struct::rrsets.

## domain_is_delegpt()

ldns_rr_type domain_is_delegpt | ( | domain_type * | domain | ) |

Check whether a domain is a delegation, regardless of parent.

Parameters

  [in] | domain | domain

Returns
  ldns_rr_type RRtype that hints whether the domain is occluded. LDNS_RR_TYPE_NS Unsigned delegation LDNS_RR_TYPE_DS Signed delegation LDNS_RR_TYPE_SOA Authoritative data (or signed delegation)

Check whether the domain is a delegation point.

Definition at line 344 of file domain.c.

References domain_lookup_rrset(), and domain_struct::is_apex.

Referenced by domain_ent2unsignedns(), and rrset_sign().

## domain_is_occluded()

ldns_rr_type domain_is_occluded | ( | domain_type * | domain | ) |

Check whether the domain is occluded.

Parameters

  [in] | domain | domain

Returns
  ldns_rr_type RRtype that hints whether the domain is occluded. LDNS_RR_TYPE_DNAME Occluded LDNS_RR_TYPE_A Glue LDNS_RR_TYPE_SOA Authoritative data or delegation

Check whether the domain is occluded.

Definition at line 369 of file domain.c.

References domain_lookup_rrset(), domain_struct::is_apex, and domain_struct::parent.

Referenced by domain_ent2unsignedns(), and rrset_sign().

## domain_lookup_rrset()

rrset_type* domain_lookup_rrset | ( | domain_type * | domain,
|  | ldns_rr_type | rrtype
| ) |  |

Look up RRset at this domain.

Parameters

  [in] | domain | the domain
  [in] | rrtype | RRtype

Returns
  rrset_type* RRset, if found

Look up RRset at this domain.

Definition at line 141 of file domain.c.

References rrset_struct::next, domain_struct::rrsets, and rrset_struct::rrtype.

Referenced by domain_backup2(), domain_is_delegpt(), domain_is_occluded(), namedb_examine(), and zone_lookup_rrset().

## domain_print()

void domain_print | ( | FILE * | fd,
|  | domain_type * | domain,
|  | ods_status * | status
| ) |  |

Print domain.

Parameters

  [in] | fd | file descriptor
  [in] | domain | domain
  [out] | status | status

Print domain.

Definition at line 398 of file domain.c.

Referenced by namedb_export().

## domain_rollback()

void domain_rollback | ( | domain_type * | domain,
|  | int | keepsc
| ) |  |

Rollback differences at domain.

Parameters

  [in] | domain | domain
  [in] | keepsc | keep RRs that did not came from the adapter

Rollback differences at domain.

Definition at line 241 of file domain.c.

References denial_struct::bitmap_changed, domain_struct::denial, domain_struct::dname, rr_struct::exists, rr_struct::is_added, rr_struct::is_removed, log_rrset(), rrset_struct::next, rrset_struct::rr_count, rrset_struct::rrs, rrset_cleanup(), rrset_del_rr(), domain_struct::rrsets, and rrset_struct::rrtype.

Referenced by namedb_rollback().

## log_dname()

void log_dname | ( | ldns_rdf * | rdf,
|  | const char * | pre,
|  | int | level
| ) |  |

Log domain name.

Parameters

  [in] | rdf | domain name
  [in] | pre | log message
  [in] | level | log level

Log domain name.

Definition at line 48 of file domain.c.

Referenced by namedb_del_denial(), and namedb_del_domain().