| Kea 3.0.2-git

isc::dns Namespace Reference

## Namespaces
namespace | master_lexer_internal
namespace | name
namespace | rdata

## Classes
class | AbstractMessageRenderer
| The `AbstractMessageRenderer` class is an abstract base class that provides common interfaces for rendering a DNS message into a buffer in wire format. More...
class | AbstractRRset
| The `AbstractRRset` class is an abstract base class that models a DNS RRset. More...
class | BadEscape
| A standard DNS module exception that is thrown if the name parser fails to decode a back-slash escaped sequence. More...
class | BadLabelType
| A standard DNS module exception that is thrown if the name parser encounters an obsolete or incomplete label type. More...
class | BasicRRset
| The `BasicRRset` class is a concrete derived class of `AbstractRRset` that defines a straightforward RRset implementation. More...
class | BasicRRsetImpl
| This encapsulates the actual implementation of the `BasicRRset` class. More...
class | DNSMessageBADVERS
class | DNSMessageFORMERR
class | DNSProtocolError
class | DNSTextError
| Base class for all sorts of text parse errors. More...
class | EDNS
| The `EDNS` class represents the EDNS OPT RR defined in RFC2671. More...
class | EmptyLabel
| A standard DNS module exception that is thrown if the name parser encounters an empty label in the middle of a name. More...
class | EmptyRRset
| A standard DNS module exception that is thrown if an RRset object does not contain any RDATA where required. More...
class | Exception
class | IncompleteName
| A standard DNS module exception that is thrown if the name parser finds the input (string or wire-format data) is incomplete. More...
class | IncompleteRRClass
| A standard DNS module exception that is thrown if an RRClass object is being constructed from a incomplete (too short) wire-format data. More...
class | IncompleteRRTTL
| A standard DNS module exception that is thrown if an RRTTL object is being constructed from a incomplete (too short) wire-format data. More...
class | IncompleteRRType
| A standard DNS module exception that is thrown if an RRType object is being constructed from a incomplete (too short) wire-format data. More...
class | InvalidMessageOperation
| A standard DNS module exception that is thrown if a `Message` class method is called that is prohibited for the current mode of the message. More...
class | InvalidMessageSection
| A standard DNS module exception that is thrown if a section iterator is being constructed for an incompatible section. More...
class | InvalidMessageUDPSize
| A standard DNS module exception that is thrown if a UDP buffer size smaller than the standard default maximum (DEFAULT_MAX_UDPSIZE) is being specified for the message. More...
class | InvalidRRClass
| A standard DNS module exception that is thrown if an RRClass object is being constructed from an unrecognized string. More...
class | InvalidRRTTL
| A standard DNS module exception that is thrown if an RRTTL object is being constructed from an unrecognized string. More...
class | InvalidRRType
| A standard DNS module exception that is thrown if an RRType object is being constructed from an unrecognized string. More...
class | LabelSequence
| Light-weight Accessor to Name data. More...
class | MasterLexer
| Tokenizer for parsing DNS master files. More...
class | MasterLoader
| A class able to load DNS master files. More...
class | MasterLoaderCallbacks
| Set of issue callbacks for a loader. More...
class | MasterLoaderError
| Error while loading by MasterLoader without specifying the MANY_ERRORS option. More...
class | MasterToken
| Tokens for `MasterLexer`. More...
class | Message
| The `Message` class encapsulates a standard DNS message. More...
class | MessageImpl
class | MessageRenderer
| The `MessageRenderer` is a concrete derived class of `AbstractMessageRenderer` as a general purpose implementation of the renderer interfaces. More...
class | MessageTooShort
| A standard DNS module exception that is thrown if a wire format message parser encounters a short length of data that don't even contain the full header section. More...
class | MissingNameOrigin
| Thrown when origin is null and is needed. More...
class | Name
| The `Name` class encapsulates DNS names. More...
class | NameComparisonResult
| This is a supplemental class used only as a return value of Name::compare() and LabelSequence::compare(). More...
class | NameParserException
| Base class for name parser exceptions. More...
class | Opcode
| The `Opcode` class objects represent standard OPCODEs of the header section of DNS messages as defined in RFC1035. More...
class | Question
| The `Question` class encapsulates the common search key of DNS lookup, consisting of owner name, RR type and RR class. More...
class | Rcode
| DNS Response Codes (RCODEs) class. More...
class | RdataFactory
class | RdataIterator
| The `RdataIterator` class is an abstract base class that provides an interface for accessing RDATA objects stored in an RRset. More...
class | RRClass
| The `RRClass` class encapsulates DNS resource record classes. More...
class | RRClassExists
| A standard DNS module exception that is thrown if a new RR class is being registered with a different type string. More...
class | RRParamRegistry
| The `RRParamRegistry` class represents a registry of parameters to manipulate DNS resource records (RRs). More...
struct | RRParamRegistryImpl
| The `RRParamRegistryImpl` class is the actual implementation of `RRParamRegistry`. More...
class | RRset
| The `RRset` class is a concrete derived class of `BasicRRset` which contains a pointer to an additional RRset containing associated RRSIG records. More...
class | RRTTL
| The `RRTTL` class encapsulates TTLs used in DNS resource records. More...
class | RRType
| The `RRType` class encapsulates DNS resource record types. More...
class | RRTypeExists
| A standard DNS module exception that is thrown if a new RR type is being registered with a different type string. More...
class | SectionIterator
| `SectionIterator` is a templated class to provide standard-compatible iterators for Questions and RRsets for a given DNS message section. More...
struct | SectionIteratorImpl
| Template version of Section Iterator. More...
class | Serial
| This class defines DNS serial numbers and serial arithmetic. More...
class | TooLongLabel
| A standard DNS module exception that is thrown if the name parser encounters too long a label. More...
class | TooLongName
| A standard DNS module exception that is thrown if the name parser encounters too long a name. More...
class | TSIGContext
| TSIG session context. More...
class | TSIGContextError
| An exception that is thrown for logic errors identified in TSIG sign/verify operations. More...
class | TSIGError
| TSIG errors. More...
class | TSIGKey
| TSIG key. More...
class | TSIGKeyRing
| A simple repository of a set of TSIGKey objects. More...
class | TSIGRecord
| TSIG resource record. More...

## Typedefs
typedef std::function< void(const Name &name, const RRClass &rrclass, const RRType &rrtype, const RRTTL &rrttl, const rdata::RdataPtr &rdata)> | AddRRCallback
| Type of callback to add a RR.
typedef boost::shared_ptr< const EDNS > | ConstEDNSPtr
| A pointer-like type pointing to an immutable `EDNS` object.
typedef boost::shared_ptr< const Message > | ConstMessagePtr
typedef boost::shared_ptr< const Question > | ConstQuestionPtr
| A pointer-like type pointing to an (immutable) `Question` object.
typedef boost::shared_ptr< const AbstractRRset > | ConstRRsetPtr
| A pointer-like type pointing to an (immutable) `RRset` object.
typedef boost::shared_ptr< const TSIGRecord > | ConstTSIGRecordPtr
| A pointer-like type pointing to an immutable `TSIGRecord` object.
typedef boost::shared_ptr< EDNS > | EDNSPtr
| A pointer-like type pointing to an `EDNS` object.
typedef map< RRType, RdataFactoryPtr > | GenericRdataFactoryMap
typedef boost::shared_ptr< MessageImpl > | MessageImplPtr
| Pointer to the MessageImpl object.
typedef boost::shared_ptr< Message > | MessagePtr
| Pointer-like type pointing to a `Message`.
typedef uint16_t | qid_t
typedef SectionIterator< QuestionPtr > | QuestionIterator
typedef boost::shared_ptr< Question > | QuestionPtr
| A pointer-like type pointing to an `Question` object.
typedef map< RRTypeClass, RdataFactoryPtr > | RdataFactoryMap
typedef boost::shared_ptr< RdataIterator > | RdataIteratorPtr
| A pointer-like type point to an `RdataIterator` object.
typedef SectionIterator< RRsetPtr > | RRsetIterator
typedef boost::shared_ptr< AbstractRRset > | RRsetPtr
| A pointer-like type pointing to an `RRset` object.
typedef pair< RRType, RRClass > | RRTypeClass
| Note: the element ordering in the type/class pair is intentional.
typedef boost::shared_ptr< TSIGContext > | TSIGContextPtr
typedef boost::shared_ptr< TSIGKey > | TSIGKeyPtr
typedef boost::shared_ptr< TSIGRecord > | TSIGRecordPtr
| A pointer-like type pointing to a `TSIGRecord` object.

## Functions
EDNS * | createEDNSFromRR (const Name &name, const RRClass &rrclass, const RRType &rrtype, const RRTTL &ttl, const rdata::Rdata &rdata, uint8_t &extended_rcode)
| Create a new `EDNS` object from a set of RR parameters, also providing the extended RCODE value.
ostream & | operator<< (std::ostream &os, const AbstractRRset &rrset)
| Insert the `RRset` as a string into stream.
ostream & | operator<< (std::ostream &os, const EDNS &edns)
| Insert the `EDNS` as a string into stream.
std::ostream & | operator<< (std::ostream &os, const LabelSequence &label_sequence)
| Insert the label sequence as a string into stream.
ostream & | operator<< (std::ostream &os, const Message &message)
| Insert the `Message` as a string into stream.
std::ostream & | operator<< (std::ostream &os, const Name &name)
| Insert the name as a string into stream.
ostream & | operator<< (std::ostream &os, const Opcode &opcode)
| Insert the `Opcode` as a string into stream.
ostream & | operator<< (std::ostream &os, const Question &question)
| Insert the `Question` as a string into stream.
ostream & | operator<< (std::ostream &os, const Rcode &rcode)
| Insert the `Rcode` as a string into stream.
ostream & | operator<< (std::ostream &os, const RRClass &rrclass)
| Insert the `RRClass` as a string into stream.
ostream & | operator<< (std::ostream &os, const RRTTL &rrttl)
| Insert the `RRTTL` as a string into stream.
ostream & | operator<< (std::ostream &os, const RRType &rrtype)
| Insert the `RRType` as a string into stream.
std::ostream & | operator<< (std::ostream &os, const Serial &serial)
| Helper operator for output streams, writes the value to the stream.
std::ostream & | operator<< (std::ostream &os, const TSIGError &tsig_error)
| Insert the `TSIGError` as a string into stream.
std::ostream & | operator<< (std::ostream &os, const TSIGRecord &record)
| Insert the `TSIGRecord` as a string into stream.
MasterLexer::Options | operator| (MasterLexer::Options o1, MasterLexer::Options o2)
| Operator to combine `MasterLexer` options.

## Variables
const uint32_t | MAX_SERIAL_INCREMENT = 2147483647
| The maximum difference between two serial numbers.
const uint64_t | MAX_SERIAL_VALUE = 4294967296ull
| Maximum value a serial can have, used in + operator.

## Typedef Documentation

## ◆ AddRRCallback

typedef std::function<void(const Name& name, const RRClass& rrclass, const RRType& rrtype, const RRTTL& rrttl, const rdata::RdataPtr& rdata)> isc::dns::AddRRCallback

Type of callback to add a RR.

This type of callback is used by the loader to report another loaded RR. The Rdata is no longer preserved by the loader and is fully owned by the callback.

Parameters

  name | The domain name where the RR belongs.
  rrclass | The class of the RR.
  rrtype | Type of the RR.
  rrttl | Time to live of the RR.
  rdata | The actual carried data of the RR.

Definition at line 41 of file master_loader_callbacks.h.

## ◆ ConstEDNSPtr

typedef boost::shared_ptr<const EDNS> isc::dns::ConstEDNSPtr

A pointer-like type pointing to an immutable `EDNS` object.

Definition at line 35 of file edns.h.

## ◆ ConstMessagePtr

typedef boost::shared_ptr<const Message> isc::dns::ConstMessagePtr

Definition at line 671 of file message.h.

## ◆ ConstQuestionPtr

typedef boost::shared_ptr<const Question> isc::dns::ConstQuestionPtr

A pointer-like type pointing to an (immutable) `Question` object.

Definition at line 27 of file question.h.

## ◆ ConstRRsetPtr

typedef boost::shared_ptr<const AbstractRRset> isc::dns::ConstRRsetPtr

A pointer-like type pointing to an (immutable) `RRset` object.

This type is commonly used as an argument of various functions defined in this library in order to handle RRsets in a polymorphic manner.

Definition at line 57 of file rrset.h.

## ◆ ConstTSIGRecordPtr

typedef boost::shared_ptr<const TSIGRecord> isc::dns::ConstTSIGRecordPtr

A pointer-like type pointing to an immutable `TSIGRecord` object.

Definition at line 283 of file tsigrecord.h.

## ◆ EDNSPtr

typedef boost::shared_ptr<EDNS> isc::dns::EDNSPtr

A pointer-like type pointing to an `EDNS` object.

Definition at line 32 of file edns.h.

## ◆ GenericRdataFactoryMap

typedef map<RRType, RdataFactoryPtr> isc::dns::GenericRdataFactoryMap

Definition at line 150 of file rrparamregistry.cc.

## ◆ MessageImplPtr

typedef boost::shared_ptr< MessageImpl > isc::dns::MessageImplPtr

Pointer to the MessageImpl object.

Definition at line 139 of file dns/message.cc.

## ◆ MessagePtr

typedef boost::shared_ptr<Message> isc::dns::MessagePtr

Pointer-like type pointing to a `Message`.

This type is expected to be used as an argument in asynchronous callback functions. The internal reference-counting will ensure that that ongoing state information will not be lost if the object that originated the asynchronous call falls out of scope.

Definition at line 670 of file message.h.

## ◆ qid_t

typedef uint16_t isc::dns::qid_t

Definition at line 72 of file message.h.

## ◆ QuestionIterator

typedef SectionIterator<QuestionPtr> isc::dns::QuestionIterator

Definition at line 113 of file message.h.

## ◆ QuestionPtr

typedef boost::shared_ptr<Question> isc::dns::QuestionPtr

A pointer-like type pointing to an `Question` object.

Definition at line 24 of file question.h.

## ◆ RdataFactoryMap

typedef map<RRTypeClass, RdataFactoryPtr> isc::dns::RdataFactoryMap

Definition at line 149 of file rrparamregistry.cc.

## ◆ RdataIteratorPtr

typedef boost::shared_ptr<RdataIterator> isc::dns::RdataIteratorPtr

A pointer-like type point to an `RdataIterator` object.

Definition at line 60 of file rrset.h.

## ◆ RRsetIterator

typedef SectionIterator<RRsetPtr> isc::dns::RRsetIterator

Definition at line 114 of file message.h.

## ◆ RRsetPtr

typedef boost::shared_ptr<AbstractRRset> isc::dns::RRsetPtr

A pointer-like type pointing to an `RRset` object.

This type is commonly used as an argument of various functions defined in this library in order to handle RRsets in a polymorphic manner.

Definition at line 50 of file rrset.h.

## ◆ RRTypeClass

typedef pair<RRType, RRClass> isc::dns::RRTypeClass

Note: the element ordering in the type/class pair is intentional.

The standard library will perform inequality comparison (i.e, '<') in the way that the second elements (RRClass) are compared only when the first elements are equivalent. In practice, when we compare two pairs of RRType and RRClass, RRClass would be the same (and, in particular, be class IN) in the majority of cases. So this comparison ordering should be more efficient in common cases.

Definition at line 148 of file rrparamregistry.cc.

## ◆ TSIGContextPtr

typedef boost::shared_ptr<TSIGContext> isc::dns::TSIGContextPtr

Definition at line 435 of file tsig.h.

## ◆ TSIGKeyPtr

typedef boost::shared_ptr<TSIGKey> isc::dns::TSIGKeyPtr

Definition at line 436 of file tsig.h.

## ◆ TSIGRecordPtr

typedef boost::shared_ptr<TSIGRecord> isc::dns::TSIGRecordPtr

A pointer-like type pointing to a `TSIGRecord` object.

Definition at line 280 of file tsigrecord.h.

## Function Documentation

## ◆ createEDNSFromRR()

EDNS * isc::dns::createEDNSFromRR | ( | const Name & | name,
|  | const RRClass & | rrclass,
|  | const RRType & | rrtype,
|  | const RRTTL & | ttl,
|  | const rdata::Rdata & | rdata,
|  | uint8_t & | extended_rcode )

Create a new `EDNS` object from a set of RR parameters, also providing the extended RCODE value.

This function is similar to the EDNS class constructor `EDNS::EDNS(const Name&, const RRClass&, const RRType&, const RRTTL&, const rdata::Rdata&)` but is different in that

- It dynamically creates a new object
- It returns (via a reference argument) the topmost 8 bits of the extended RCODE encoded in the `ttl`.

On success, `extended_rcode` will be updated with the 8-bit part of the extended RCODE encoded in the TTL of the OPT RR.

The intended usage of this function is to parse an OPT RR of an incoming DNS message, while updating the RCODE of the message. One common usage pattern is as follows:

Message msg;
...
uint8_t extended_rcode;
ConstEDNSPtr edns = ConstEDNSPtr(createEDNSFromRR(..., extended_rcode));
rcode = Rcode(msg.getRcode().getCode(), extended_rcode);
isc::dns::Message
The Message class encapsulates a standard DNS message.
Definition message.h:152
isc::dns::Message::getRcode
const Rcode & getRcode() const
Return the Response Code of the message.
Definition dns/message.cc:435
isc::dns::Rcode
DNS Response Codes (RCODEs) class.
Definition rcode.h:40
isc::dns::Rcode::getCode
uint16_t getCode() const
Returns the Rcode code value.
Definition rcode.h:106
isc::dns::createEDNSFromRR
EDNS * createEDNSFromRR(const Name &name, const RRClass &rrclass, const RRType &rrtype, const RRTTL &ttl, const Rdata &rdata, uint8_t &extended_rcode)
Create a new EDNS object from a set of RR parameters, also providing the extended RCODE value.
Definition edns.cc:149
isc::dns::ConstEDNSPtr
boost::shared_ptr< const EDNS > ConstEDNSPtr
A pointer-like type pointing to an immutable EDNS object.
Definition edns.h:35

(although, like the `EDNS` constructor, normal applications wouldn't have to use this function directly).

This function provides the strong exception guarantee: Unless an exception is thrown `extended_code` won't be modified.

This function validates the given parameters and throws exceptions on failure in the same way as the `EDNS` class constructor. In addition, if memory allocation for the new object fails it throws the corresponding standard exception.

Note that this function returns a bare pointer to the newly allocated object, not a shared pointer object enclosing the pointer. The caller is responsible for deleting the object after the use of it (typically, the caller would immediately encapsulate the returned pointer in a shared pointer object, `EDNSPtr` or `ConstEDNSPtr`). It returns a bare pointer so that it can be used where the use of a shared pointer is impossible or not desirable.

Note to developers: there is no strong technical reason why this function cannot be a constructor of the `EDNS` class or even integrated into the constructor. But we decided to make it a separate free function so that constructors will be free from side effects (which is in itself a matter of preference).

Parameters

  name | The owner name of the OPT RR. This must be the root name.
  rrclass | The RR class of the OPT RR.
  rrtype | This must specify the OPT RR type.
  ttl | The TTL of the OPT RR.
  rdata | The RDATA of the OPT RR.
  extended_rcode | A placeholder to store the topmost 8 bits of the extended Rcode.

Returns
  A pointer to the created `EDNS` object.

Definition at line 149 of file edns.cc.

References isc::dns::RRTTL::getValue().

Referenced by isc::dns::MessageImpl::addEDNS().

Here is the call graph for this function:

## ◆ operator<<() [1/14]

std::ostream & isc::dns::operator<< | ( | std::ostream & | os,
|  | const AbstractRRset & | rrset )

Insert the `RRset` as a string into stream.

This method convert the `rrset` into a string and inserts it into the output stream `os`.

This function overloads the global `operator<<` to behave as described in `ostream::operator<<` but applied to RRset objects.

Parameters

  os | A `std::ostream` object on which the insertion operation is performed.
  rrset | A reference to a (derived class of) `AbstractRRset` object output by the operation.

Returns
  A reference to the same `std::ostream` object referenced by parameter `os` after the insertion operation.

Definition at line 153 of file rrset.cc.

References isc::dns::AbstractRRset::toText().

Here is the call graph for this function:

## ◆ operator<<() [2/14]

std::ostream & isc::dns::operator<< | ( | std::ostream & | os,
|  | const EDNS & | edns )

Insert the `EDNS` as a string into stream.

This method convert `edns` into a string and inserts it into the output stream `os`.

Parameters

  os | A `std::ostream` object on which the insertion operation is performed.
  edns | A reference to an `EDNS` object output by the operation.

Returns
  A reference to the same `std::ostream` object referenced by parameter `os` after the insertion operation.

Definition at line 162 of file edns.cc.

References isc::dns::EDNS::toText().

Here is the call graph for this function:

## ◆ operator<<() [3/14]

std::ostream & isc::dns::operator<< | ( | std::ostream & | os,
|  | const LabelSequence & | label_sequence )

Insert the label sequence as a string into stream.

This method convert the `label_sequence` into a string and inserts it into the output stream `os`.

This function overloads the global operator<< to behave as described in ostream::operator<< but applied to `LabelSequence` objects.

Parameters

  os | A `std::ostream` object on which the insertion operation is performed.
  label_sequence | The `LabelSequence` object output by the operation.

Returns
  A reference to the same `std::ostream` object referenced by parameter `os` after the insertion operation.

Definition at line 462 of file labelsequence.cc.

References isc::dns::LabelSequence::toText().

Here is the call graph for this function:

## ◆ operator<<() [4/14]

std::ostream & isc::dns::operator<< | ( | std::ostream & | os,
|  | const Message & | message )

Insert the `Message` as a string into stream.

This method convert `message` into a string and inserts it into the output stream `os`.

Parameters

  os | A `std::ostream` object on which the insertion operation is performed.
  message | A `Message` object output by the operation.

Returns
  A reference to the same `std::ostream` object referenced by parameter `os` after the insertion operation.

Definition at line 1164 of file dns/message.cc.

References isc::dns::Message::toText().

Here is the call graph for this function:

## ◆ operator<<() [5/14]

std::ostream & isc::dns::operator<< | ( | std::ostream & | os,
|  | const Name & | name )

Insert the name as a string into stream.

This method convert the `name` into a string and inserts it into the output stream `os`.

This function overloads the global operator<< to behave as described in ostream::operator<< but applied to `Name` objects.

Parameters

  os | A `std::ostream` object on which the insertion operation is performed.
  name | The `Name` object output by the operation.

Returns
  A reference to the same `std::ostream` object referenced by parameter `os` after the insertion operation.

Definition at line 714 of file name.cc.

## ◆ operator<<() [6/14]

std::ostream & isc::dns::operator<< | ( | std::ostream & | os,
|  | const Opcode & | opcode )

Insert the `Opcode` as a string into stream.

This method convert `opcode` into a string and inserts it into the output stream `os`.

Parameters

  os | A `std::ostream` object on which the insertion operation is performed.
  opcode | A reference to an `Opcode` object output by the operation.

Returns
  A reference to the same `std::ostream` object referenced by parameter `os` after the insertion operation.

Definition at line 57 of file opcode.cc.

References isc::dns::Opcode::toText().

Here is the call graph for this function:

## ◆ operator<<() [7/14]

std::ostream & isc::dns::operator<< | ( | std::ostream & | os,
|  | const Question & | question )

Insert the `Question` as a string into stream.

This method convert the `question` into a string and inserts it into the output stream `os`.

This function overloads the global `operator<<` to behave as described in `ostream::operator<<` but applied to Question objects.

Parameters

  os | A `std::ostream` object on which the insertion operation is performed.
  question | A reference to a `Question` object output by the operation.

Returns
  A reference to the same `std::ostream` object referenced by parameter `os` after the insertion operation.

Definition at line 75 of file question.cc.

References isc::dns::Question::toText().

Here is the call graph for this function:

## ◆ operator<<() [8/14]

std::ostream & isc::dns::operator<< | ( | std::ostream & | os,
|  | const Rcode & | rcode )

Insert the `Rcode` as a string into stream.

This method convert `rcode` into a string and inserts it into the output stream `os`.

Parameters

  os | A `std::ostream` object on which the insertion operation is performed.
  rcode | A reference to an `Rcode` object output by the operation.

Returns
  A reference to the same `std::ostream` object referenced by parameter `os` after the insertion operation.

Definition at line 90 of file rcode.cc.

References isc::dns::Rcode::toText().

Here is the call graph for this function:

## ◆ operator<<() [9/14]

std::ostream & isc::dns::operator<< | ( | std::ostream & | os,
|  | const RRClass & | rrclass )

Insert the `RRClass` as a string into stream.

This method convert the `rrclass` into a string and inserts it into the output stream `os`.

This function overloads the global operator<< to behave as described in ostream::operator<< but applied to `RRClass` objects.

Parameters

  os | A `std::ostream` object on which the insertion operation is performed.
  rrclass | The `RRClass` object output by the operation.

Returns
  A reference to the same `std::ostream` object referenced by parameter `os` after the insertion operation.

Definition at line 67 of file rrclass.cc.

References isc::dns::RRClass::toText().

Here is the call graph for this function:

## ◆ operator<<() [10/14]

std::ostream & isc::dns::operator<< | ( | std::ostream & | os,
|  | const RRTTL & | rrttl )

Insert the `RRTTL` as a string into stream.

This method convert the `rrttl` into a string and inserts it into the output stream `os`.

This function overloads the global operator<< to behave as described in ostream::operator<< but applied to `RRTTL` objects.

Parameters

  os | A `std::ostream` object on which the insertion operation is performed.
  rrttl | The `RRTTL` object output by the operation.

Returns
  A reference to the same `std::ostream` object referenced by parameter `os` after the insertion operation.

Definition at line 208 of file rrttl.cc.

References isc::dns::RRTTL::toText().

Here is the call graph for this function:

## ◆ operator<<() [11/14]

std::ostream & isc::dns::operator<< | ( | std::ostream & | os,
|  | const RRType & | rrtype )

Insert the `RRType` as a string into stream.

This method convert the `rrtype` into a string and inserts it into the output stream `os`.

This function overloads the global operator<< to behave as described in ostream::operator<< but applied to `RRType` objects.

Parameters

  os | A `std::ostream` object on which the insertion operation is performed.
  rrtype | The `RRType` object output by the operation.

Returns
  A reference to the same `std::ostream` object referenced by parameter `os` after the insertion operation.

Definition at line 58 of file rrtype.cc.

References isc::dns::RRType::toText().

Here is the call graph for this function:

## ◆ operator<<() [12/14]

std::ostream & isc::dns::operator<< | ( | std::ostream & | os,
|  | const Serial & | serial )

Helper operator for output streams, writes the value to the stream.

Parameters

  os | The ostream to write to
  serial | The Serial to write

Returns
  the output stream

Definition at line 63 of file serial.cc.

References isc::dns::Serial::getValue().

Here is the call graph for this function:

## ◆ operator<<() [13/14]

std::ostream & isc::dns::operator<< | ( | std::ostream & | os,
|  | const TSIGError & | tsig_error )

Insert the `TSIGError` as a string into stream.

This method convert `tsig_error` into a string and inserts it into the output stream `os`.

Parameters

  os | A `std::ostream` object on which the insertion operation is performed.
  tsig_error | An `TSIGError` object output by the operation.

Returns
  A reference to the same `std::ostream` object referenced by parameter `os` after the insertion operation.

Definition at line 61 of file tsigerror.cc.

## ◆ operator<<() [14/14]

std::ostream & isc::dns::operator<< | ( | std::ostream & | os,
|  | const TSIGRecord & | record )

Insert the `TSIGRecord` as a string into stream.

This method convert `record` into a string and inserts it into the output stream `os`.

Parameters

  os | A `std::ostream` object on which the insertion operation is performed.
  record | A `TSIGRecord` object output by the operation.

Returns
  A reference to the same `std::ostream` object referenced by parameter `os` after the insertion operation.

Definition at line 135 of file tsigrecord.cc.

References isc::dns::TSIGRecord::toText().

Here is the call graph for this function:

## ◆ operator|()

MasterLexer::Options isc::dns::operator| | ( | MasterLexer::Options | o1,
|  | MasterLexer::Options | o2 )
| inline

Operator to combine `MasterLexer` options.

This is a trivial shortcut so that compound options can be specified in an intuitive way.

Definition at line 669 of file master_lexer.h.

## Variable Documentation

## ◆ MAX_SERIAL_INCREMENT

const uint32_t isc::dns::MAX_SERIAL_INCREMENT = 2147483647

The maximum difference between two serial numbers.

If the (plain uint32_t) difference between two serials is greater than this number, the smaller one is considered greater.

Definition at line 19 of file serial.h.

Referenced by isc::dns::Serial::operator<().

## ◆ MAX_SERIAL_VALUE

const uint64_t isc::dns::MAX_SERIAL_VALUE = 4294967296ull

Maximum value a serial can have, used in + operator.

Definition at line 22 of file serial.h.

Referenced by isc::dns::Serial::operator+().