pub enum Entry {
Origin(Dname),
Include {
path: PathBuf,
origin: Option<Dname>,
},
Ttl(u32),
Control {
name: String,
start: Pos,
},
Record(MasterRecord),
Blank,
}Expand description
A master file entry.
Master files consist of a sequence of entries. An entry contains data for a resource record or instructions on how to build resource records from the data.
This enum has variants for each type of master file entries currently
defined. It also knows how to scan itself from a scanner via the
scan() function.
The variants are defined in seciton 5 of RFC 1035 except where otherwise stated below.
Variants§
Origin(Dname)
An $ORIGIN control entry.
This entry contains the origin for relative domain names encountered in subsequent entries.
Include
An $INCLUDE control entry.
This entry instructs the parser to insert the content of the given
file at this position. The path attribute specifies the path to
the file. The interpretation of the contents of this attribute is
system dependent. The optional origin attribute contains the
initial value of the origin of relative domain names when including
the file.
Ttl(u32)
A $TTL control entry.
This entry specifies the value of the TTL field for all subsequent records that do not have it explicitely stated.
This entry is defined in section 4 of RFC 2308.
Control
Some other control entry.
Any other entry starting with a dollar sign is a control entry we
do not understand. This variant contains the name of the entry in
the name attribute and its starting position in start. This can
be used to produce a meaningful warning or error message.
Record(MasterRecord)
A resource record.
Blank
A blank entry.
Implementations§
Source§impl Entry
impl Entry
Sourcepub fn scan<C: CharSource>(
scanner: &mut Scanner<C>,
last_owner: Option<&Dname>,
last_class: Option<Class>,
default_ttl: Option<u32>,
) -> Result<Option<Self>, ScanError>
pub fn scan<C: CharSource>( scanner: &mut Scanner<C>, last_owner: Option<&Dname>, last_class: Option<Class>, default_ttl: Option<u32>, ) -> Result<Option<Self>, ScanError>
Scans an entry from a scanner.
The four additional arguments contain the state of scanning for entries.
The last_owner contains the domain name of the last
record entry unless this is the first entry. This is used for the
owner field if a record entry starts with blanks.
The last_class is the class of the last resource record and is
used if a class value is missing from a record entry.
The origin
argument is used for any relative names given in a record entry.
The default_ttl value is used if a TTL value is missing from a
record entry.
If successful, the function returns some entry or None if it
encountered an end of file before an entry even started.