pub enum Option_ {
Show 66 variants SubnetMask(Ipv4Address), TimeOffset(i32), Router(Vec<Ipv4Address>), TimeServer(Vec<Ipv4Address>), NameServer(Vec<Ipv4Address>), DomainNameServer(Vec<Ipv4Address>), LogServer(Vec<Ipv4Address>), CookieServer(Vec<Ipv4Address>), LprServer(Vec<Ipv4Address>), ImpressServer(Vec<Ipv4Address>), ResourceLocationServer(Vec<Ipv4Address>), HostName(String), BootFileSize(u16), MeritDumpFile(String), DomainName(String), SwapServer(Ipv4Address), RootPath(String), ExtensionsPath(String), IpForwarding(bool), NonLocalSourceRouting(bool), PolicyFilter(Vec<Ipv4Address>), MaxDatagramReassemblySize(u16), DefaultIpTtl(u8), PathMtuAgingTimeout(u32), PathMtuPlateauTable(Vec<u16>), InterfaceMtu(u16), AllSubnetsLocal(bool), BroadcastAddress(Ipv4Address), PerformMaskDiscovery(bool), MaskSupplier(bool), PerformRouterDiscovery(bool), RouterSolicitationAddress(Ipv4Address), StaticRoute(Vec<Ipv4Address>), TrailerEncapsulation(bool), ArpCacheTimeout(u32), EthernetEncapsulation(bool), TcpDefaultTtl(u8), TcpKeepaliveInterval(u32), TcpKeepaliveGarbage(bool), NetworkInformationServiceDomain(String), NetworkInformationServers(Vec<Ipv4Address>), NetworkTimeProtocolServers(Vec<Ipv4Address>), VendorSpecificInformation(Vec<u8>), NetbiosOverTcpipNameServer(Vec<Ipv4Address>), NetbiosOverTcpipDatagramDistributionServer(Vec<Ipv4Address>), NetbiosOverTcpipNodeType(NodeTypes), NetbiosOverTcpipScope(String), XWindowSystemFontServer(Vec<Ipv4Address>), XWindowSystemDisplayManager(Vec<Ipv4Address>), NetworkInformationServicePlusDomain(String), NetworkInformationServicePlusServers(Vec<Ipv4Address>), MobileIpHomeAgent(Vec<Ipv4Address>), SmtpServer(Vec<Ipv4Address>), Pop3Server(Vec<Ipv4Address>), NntpServer(Vec<Ipv4Address>), DefaultWwwServer(Vec<Ipv4Address>), DefaultFingerServer(Vec<Ipv4Address>), DefaultIrcServer(Vec<Ipv4Address>), StreettalkServer(Vec<Ipv4Address>), StreettalkDirectoryAssistanceServer(Vec<Ipv4Address>), OptionOverload(OptionOverloadValue), TftpServerName(String), BootfileName(String), MaxDhcpMessageSize(u16), RenewalTimeValue(u32), RebindingTimeValue(u32), // some variants omitted
}
Expand description

A generic representation of client configuration parameters and DHCP settings. Options are the mechanism by which the DHCP protocol communicates configuration parameters from a repository on a DHCP server to DHCP clients, or by which DHCP clients and servers communicate data relevant to a DHCP transaction. All DHCP option values must have a length which can fit within a single byte, i.e. less than 256. Options for which there is no reasonable administrator-configurable value have been omitted from this xunion. The omitted options are:

  • Pad - never has a value
  • End - never has a value
  • RequestedIpAddress - value always selected by the DHCP client.
  • DhcpMessageType - value always determined by state of transaction between DHCP client and server.
  • ServerIdentifier - value always determined by address to which the server is bound.
  • ParameterRequestList - value always selected by the DHCP client.
  • Message - value determined in response to runtime error.
  • VendorClassIdentifer - value always selected by the DHCP client.
  • ClientIdentifier - value always selected by the DHCP client.

Variants§

§

SubnetMask(Ipv4Address)

A 32-bit IPv4 subnet mask.

§

TimeOffset(i32)

The client’s offset from UTC in seconds. A positive offset is east of the zero meridian, and a negative offset is west of the zero meridian.

§

Router(Vec<Ipv4Address>)

A list of the routers in a client’s subnet, listed in order of preference.

§

TimeServer(Vec<Ipv4Address>)

A list of time servers available to the client, in order of preference.

§

NameServer(Vec<Ipv4Address>)

A list of IEN 116 Name servers available to the client, in order of preference.

§

DomainNameServer(Vec<Ipv4Address>)

A list of Domain Name System servers available to the client, in order of preference;

§

LogServer(Vec<Ipv4Address>)

A list of MIT-LCS UDP Log servers available to the client, in order of preference.

§

CookieServer(Vec<Ipv4Address>)

A list of RFC 865 Cookie servers available to the client, in order of preference.

§

LprServer(Vec<Ipv4Address>)

A list of RFC 1179 Line Printer servers available to the client, in order of preference.

§

ImpressServer(Vec<Ipv4Address>)

A list of Imagen Impress servers available to the client, in order of preference.

§

ResourceLocationServer(Vec<Ipv4Address>)

A list of RFC 887 Resource Location servers available to the client, in order of preference.

§

HostName(String)

The host name of the client, which may or may not be qualified with the local domain name.

§

BootFileSize(u16)

The size of the client’s default boot image in 512-octet blocks.

§

MeritDumpFile(String)

The path name to the client’s core dump in the event the client crashes.

§

DomainName(String)

The client’s domain name for use in resolving hostnames in the DNS.

§

SwapServer(Ipv4Address)

The address of the client’s swap server.

§

RootPath(String)

The path name to the client’s root disk.

§

ExtensionsPath(String)

The path name to a TFTP-retrievable file. This file contains data which can be interpreted as the BOOTP vendor-extension field. Unlike the BOOTP vendor-extension field, this file has an unconstrained length and any references to Tag 18 are ignored.

§

IpForwarding(bool)

A flag which will enabled IP layer packet forwarding when true.

§

NonLocalSourceRouting(bool)

A flag which will enable forwarding of IP packets with non-local source routes.

§

PolicyFilter(Vec<Ipv4Address>)

Policy filters for non-local source routing. A list of IP Address and Subnet Mask pairs. If an incoming source-routed packet has a next-hop that does not match one of these pairs, then the packet will be dropped.

§

MaxDatagramReassemblySize(u16)

The maximum sized datagram that the client should be able to reassemble, in octets. The minimum legal value is 576.

§

DefaultIpTtl(u8)

The default time-to-live to use on outgoing IP datagrams. The value must be between 1 and 255.

§

PathMtuAgingTimeout(u32)

The timeout to be used when aging Path MTU values by the mechanism in RFC 1191.

§

PathMtuPlateauTable(Vec<u16>)

Table of MTU sizes for Path MTU Discovery. A list of MTU sizes, ordered from smallest to largest. The smallest value cannot be smaller than 68.

§

InterfaceMtu(u16)

The MTU for the client’s interface. Minimum value of 68.

§

AllSubnetsLocal(bool)

A flag indicating if all subents of the IP network to which the client is connected have the same MTU.

§

BroadcastAddress(Ipv4Address)

The broadcast address of the client’s subnet. Legal values are defined in RFC 1122.

§

PerformMaskDiscovery(bool)

A flag indicating whether the client should perform subnet mask discovery via ICMP.

§

MaskSupplier(bool)

A flag indicating whether the client should respond to subnet mask discovery requests via ICMP.

§

PerformRouterDiscovery(bool)

A flag indicating whether the client should solicit routers using Router Discovery as defined in RFC 1256.

§

RouterSolicitationAddress(Ipv4Address)

The address to which the client should transmit Router Solicitation requests.

§

StaticRoute(Vec<Ipv4Address>)

Static Routes which the host should put in its routing cache. A list of Destination address/Next-hop address pairs defining static routes for the client’s routing table. The routes should be listed in descending order of priority. It is illegal to use 0.0.0.0 as the destination in a static route.

§

TrailerEncapsulation(bool)

A flag specifying whether the client negotiate the use of trailers when using ARP, per RFC 893.

§

ArpCacheTimeout(u32)

The timeout for ARP cache entries.

§

EthernetEncapsulation(bool)

A flag specifying that the client should use Ethernet v2 encapsulation when false, and IEEE 802.3 encapsulation when true.

§

TcpDefaultTtl(u8)

The default time-to-live that the client should use for outgoing TCP segments. The minimum value is 1.

§

TcpKeepaliveInterval(u32)

The interval the client should wait before sending a TCP keepalive message. A value of 0 indicates that the client should not send keepalive messages unless specifically requested by an application.

§

TcpKeepaliveGarbage(bool)

A flag specifying whether the client should send TCP keepalive messages with an octet of garbage for compatibility with older implementations.

§

NetworkInformationServiceDomain(String)

The name of the client’s Network Information Service domain.

§

NetworkInformationServers(Vec<Ipv4Address>)

A list of Network Information Service server addresses available to the client, listed in order of preference.

§

NetworkTimeProtocolServers(Vec<Ipv4Address>)

A list of Network Time Protocol (NTP) server addresses available to the client, listed in order of preference.

§

VendorSpecificInformation(Vec<u8>)

An opaque object of octets for exchanging vendor-specific information.

§

NetbiosOverTcpipNameServer(Vec<Ipv4Address>)

A list of NetBIOS name server addresses available to the client, listed in order of preference.

§

NetbiosOverTcpipDatagramDistributionServer(Vec<Ipv4Address>)

A list of NetBIOS datagram distribution servers available to the client, listed in order of preference.

§

NetbiosOverTcpipNodeType(NodeTypes)

The NetBIOS node type which should be used by the client.

§

NetbiosOverTcpipScope(String)

The NetBIOS over TCP/IP scope parameter, as defined in RFC 1001, for the client.

§

XWindowSystemFontServer(Vec<Ipv4Address>)

A list of X Window System Font server addresses available to the client, listed in order of preference.

§

XWindowSystemDisplayManager(Vec<Ipv4Address>)

A list of X Window System Display Manager system addresses available to the client, listed in order of preference.

§

NetworkInformationServicePlusDomain(String)

The name of the client’s Network Information System+ domain.

§

NetworkInformationServicePlusServers(Vec<Ipv4Address>)

A list of Network Information System+ server addresses available to the client, listed in order of preference.

§

MobileIpHomeAgent(Vec<Ipv4Address>)

A list of mobile IP home agent addresses available to the client, listed in order of preference.

§

SmtpServer(Vec<Ipv4Address>)

A list of Simple Mail Transport Protocol (SMTP) server address available to the client, listed in order of preference.

§

Pop3Server(Vec<Ipv4Address>)

A list of Post Office Protocol (POP3) server addresses available to the client, listed in order of preference.

§

NntpServer(Vec<Ipv4Address>)

A list Network News Transport Protocol (NNTP) server addresses available to the client, listed in order of preference.

§

DefaultWwwServer(Vec<Ipv4Address>)

A list of default World Wide Web (WWW) server addresses available to the client, listed in order of preference.

§

DefaultFingerServer(Vec<Ipv4Address>)

A list of default Finger server addresses available to the client, listed in order of preference.

§

DefaultIrcServer(Vec<Ipv4Address>)

A list of Internet Relay Chat server addresses available to the client, listed in order of preference.

§

StreettalkServer(Vec<Ipv4Address>)

A list of StreetTalk server addresses available to the client, listed in order of preference.

§

StreettalkDirectoryAssistanceServer(Vec<Ipv4Address>)

A list of StreetTalk Directory Assistance server addresses available to the client, listed in order of preference.

§

OptionOverload(OptionOverloadValue)

An option specifying whether the sname, file, or both fields have been overloaded to carry DHCP options. If this option is present, the client interprets the additional fields after it concludes interpreting standard option fields.

§

TftpServerName(String)

The TFTP server name available to the client. This option should be used when the sname field has been overloaded to carry options.

§

BootfileName(String)

The bootfile name for the client. This option should be used when the file field has been overloaded to carry options.

§

MaxDhcpMessageSize(u16)

The maximum length in octets of a DHCP message that the participant is willing to accept. The minimum value is 576.

§

RenewalTimeValue(u32)

The time interval after address assignment at which the client will transition to the Renewing state.

§

RebindingTimeValue(u32)

The time interval after address assignment at which the client will transition to the Rebinding state.

Implementations§

source§

impl Option_

source

pub fn ordinal(&self) -> u64

source

pub fn unknown_variant_for_testing() -> Self

source

pub fn is_unknown(&self) -> bool

Trait Implementations§

source§

impl Clone for Option_

source§

fn clone(&self) -> Option_

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Option_

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Decode<Option_> for Option_

source§

fn new_empty() -> Self

Creates a valid instance of Self. The specific value does not matter, since it will be overwritten by decode.
source§

unsafe fn decode( &mut self, decoder: &mut Decoder<'_>, offset: usize, depth: Depth ) -> Result<()>

Decodes an object of type T from the decoder’s buffers into self. Read more
source§

impl Encode<Option_> for &Option_

source§

unsafe fn encode( self, encoder: &mut Encoder<'_>, offset: usize, _depth: Depth ) -> Result<()>

Encodes the object into the encoder’s buffers. Any handles stored in the object are swapped for Handle::INVALID. Read more
source§

impl PartialEq for Option_

source§

fn eq(&self, other: &Self) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl TypeMarker for Option_

§

type Owned = Option_

The owned Rust type which this FIDL type decodes into.
source§

fn inline_align(_context: Context) -> usize

Returns the minimum required alignment of the inline portion of the encoded object. It must be a (nonzero) power of two.
source§

fn inline_size(_context: Context) -> usize

Returns the size of the inline portion of the encoded object, including padding for alignment. Must be a multiple of inline_align.
§

fn encode_is_copy() -> bool

Returns true if the memory layout of Self::Owned matches the FIDL wire format and encoding requires no validation. When true, we can optimize encoding arrays and vectors of Self::Owned to a single memcpy. Read more
§

fn decode_is_copy() -> bool

Returns true if the memory layout of Self::Owned matches the FIDL wire format and decoding requires no validation. When true, we can optimize decoding arrays and vectors of Self::Owned to a single memcpy.
source§

impl ValueTypeMarker for Option_

§

type Borrowed<'a> = &'a Option_

The Rust type to use for encoding. This is a particular Encode<Self> type cheaply obtainable from &Self::Owned. There are three cases: Read more
source§

fn borrow<'a>(value: &'a <Self as TypeMarker>::Owned) -> Self::Borrowed<'a>

Cheaply converts from &Self::Owned to Self::Borrowed.
source§

impl Persistable for Option_

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Body for T
where T: Persistable,

§

type MarkerAtTopLevel = T

The marker type to use when the body is at the top-level.
§

type MarkerInResultUnion = T

The marker type to use when the body is nested in a result union.
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> Encode<Ambiguous1> for T

§

unsafe fn encode( self, _encoder: &mut Encoder<'_>, _offset: usize, _depth: Depth ) -> Result<(), Error>

Encodes the object into the encoder’s buffers. Any handles stored in the object are swapped for Handle::INVALID. Read more
§

impl<T> Encode<Ambiguous2> for T

§

unsafe fn encode( self, _encoder: &mut Encoder<'_>, _offset: usize, _depth: Depth ) -> Result<(), Error>

Encodes the object into the encoder’s buffers. Any handles stored in the object are swapped for Handle::INVALID. Read more
§

impl<E> ErrorType for E
where E: ValueTypeMarker<Owned = E> + Decode<E>,

§

type Marker = E

The marker type.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more