| // Copyright 2020 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| // |
| // Code generated by third_party/go/regen-fidl; DO NOT EDIT. |
| |
| // WARNING: This file is machine generated by fidlgen. |
| |
| package net |
| |
| import ( |
| _bindings "syscall/zx/fidl" |
| ) |
| |
| const ( |
| // The maximum length of a hostname, as per |
| // [RFC 1035 section 2.3.4](https://tools.ietf.org/html/rfc1035#section-2.3.4). |
| MaxHostnameSize uint64 = 255 |
| ) |
| |
| type Hostname = string |
| type InterfaceId = uint64 |
| type RouteMetric = uint32 |
| |
| var _ _bindings.Enum = IpVersion(0) |
| |
| // IpVersion is an IP version. |
| type IpVersion uint32 |
| |
| const ( |
| IpVersionV4 IpVersion = 1 |
| IpVersionV6 IpVersion = 2 |
| ) |
| |
| func (_ IpVersion) I_EnumValues() []IpVersion { |
| return []IpVersion{ |
| IpVersionV4, |
| IpVersionV6, |
| } |
| } |
| |
| func (_ IpVersion) I_EnumIsStrict() bool { |
| return true |
| } |
| |
| func (x IpVersion) IsUnknown() bool { |
| switch x { |
| case 1: |
| return false |
| case 2: |
| return false |
| } |
| return true |
| } |
| |
| func (x IpVersion) String() string { |
| switch x { |
| case 1: |
| return "V4" |
| case 2: |
| return "V6" |
| } |
| return "Unknown" |
| } |
| |
| // Ipv4Address is expressed in network byte order, so the most significant byte |
| // ("127" in the address "127.0.0.1") will be at index 0. |
| type Ipv4Address struct { |
| _ struct{} `fidl:"s" fidl_size_v2:"4" fidl_alignment_v2:"1"` |
| Addr [4]uint8 `fidl_offset_v2:"0"` |
| } |
| |
| var _mIpv4Address = _bindings.CreateLazyMarshaler(Ipv4Address{}) |
| |
| func (msg *Ipv4Address) Marshaler() _bindings.Marshaler { |
| return _mIpv4Address |
| } |
| |
| // An IPv4 address with its subnet prefix length. |
| type Ipv4AddressWithPrefix struct { |
| _ struct{} `fidl:"s" fidl_size_v2:"5" fidl_alignment_v2:"1"` |
| // The IPv4 address. |
| Addr Ipv4Address `fidl_offset_v2:"0"` |
| // The prefix length. Must be in the range [0, 32]. |
| PrefixLen uint8 `fidl_offset_v2:"4"` |
| } |
| |
| var _mIpv4AddressWithPrefix = _bindings.CreateLazyMarshaler(Ipv4AddressWithPrefix{}) |
| |
| func (msg *Ipv4AddressWithPrefix) Marshaler() _bindings.Marshaler { |
| return _mIpv4AddressWithPrefix |
| } |
| |
| // An IPv4 socket address, composed of an IPv4 address and a port. |
| // |
| // Inspired by the address definition in the [POSIX specification]. |
| // |
| // [POSIX specification]: https://pubs.opengroup.org/onlinepubs/9699919799/ |
| type Ipv4SocketAddress struct { |
| _ struct{} `fidl:"s" fidl_size_v2:"6" fidl_alignment_v2:"2"` |
| // IPv4 Address. |
| Address Ipv4Address `fidl_offset_v2:"0"` |
| // Transport-layer port. |
| Port uint16 `fidl_offset_v2:"4"` |
| } |
| |
| var _mIpv4SocketAddress = _bindings.CreateLazyMarshaler(Ipv4SocketAddress{}) |
| |
| func (msg *Ipv4SocketAddress) Marshaler() _bindings.Marshaler { |
| return _mIpv4SocketAddress |
| } |
| |
| // Ipv6Address is expressed in network byte order, so the most significant byte |
| // ("ff" in the address "ff02::1") will be at index 0. |
| type Ipv6Address struct { |
| _ struct{} `fidl:"s" fidl_size_v2:"16" fidl_alignment_v2:"1"` |
| Addr [16]uint8 `fidl_offset_v2:"0"` |
| } |
| |
| var _mIpv6Address = _bindings.CreateLazyMarshaler(Ipv6Address{}) |
| |
| func (msg *Ipv6Address) Marshaler() _bindings.Marshaler { |
| return _mIpv6Address |
| } |
| |
| // An IPv6 address with its subnet prefix length. |
| type Ipv6AddressWithPrefix struct { |
| _ struct{} `fidl:"s" fidl_size_v2:"17" fidl_alignment_v2:"1"` |
| // The IPv6 address. |
| Addr Ipv6Address `fidl_offset_v2:"0"` |
| // The prefix length. Must be in the range [0, 128]. |
| PrefixLen uint8 `fidl_offset_v2:"16"` |
| } |
| |
| var _mIpv6AddressWithPrefix = _bindings.CreateLazyMarshaler(Ipv6AddressWithPrefix{}) |
| |
| func (msg *Ipv6AddressWithPrefix) Marshaler() _bindings.Marshaler { |
| return _mIpv6AddressWithPrefix |
| } |
| |
| // An IPV6 socket address, composed of an IPv6 address, a port, and a scope identifier. |
| // |
| // Inspired by the address definition in the [POSIX specification]. |
| // |
| // [POSIX specification]: https://pubs.opengroup.org/onlinepubs/9699919799/ |
| type Ipv6SocketAddress struct { |
| _ struct{} `fidl:"s" fidl_size_v2:"32" fidl_alignment_v2:"8"` |
| // IPv6 Address. |
| Address Ipv6Address `fidl_offset_v2:"0"` |
| // Transport-layer port. |
| Port uint16 `fidl_offset_v2:"16"` |
| // Provides a means to identify to which zone a non-global address belongs. |
| // |
| // A node may have interfaces attached to different zones of the same scope, for example |
| // different link-local zones are disambiguated by the use of a `zone_index` providing the |
| // interface identifier. |
| // |
| // `zone_index` 0 is the default zone. |
| // |
| // See [RFC 4007] for terminology and examples. |
| // |
| // [RFC 4007]: https://tools.ietf.org/html/rfc4007 |
| ZoneIndex uint64 `fidl_offset_v2:"24"` |
| } |
| |
| var _mIpv6SocketAddress = _bindings.CreateLazyMarshaler(Ipv6SocketAddress{}) |
| |
| func (msg *Ipv6SocketAddress) Marshaler() _bindings.Marshaler { |
| return _mIpv6SocketAddress |
| } |
| |
| // A MAC address used to identify a network interface on the data link layer within the network. |
| type MacAddress struct { |
| _ struct{} `fidl:"s" fidl_size_v2:"6" fidl_alignment_v2:"1"` |
| Octets [6]uint8 `fidl_offset_v2:"0"` |
| } |
| |
| var _mMacAddress = _bindings.CreateLazyMarshaler(MacAddress{}) |
| |
| func (msg *MacAddress) Marshaler() _bindings.Marshaler { |
| return _mMacAddress |
| } |
| |
| // An IP address with its subnet prefix length. |
| type Subnet struct { |
| _ struct{} `fidl:"s" fidl_size_v2:"24" fidl_alignment_v2:"8"` |
| // The IPv4 or IPv6 address. |
| Addr IpAddress `fidl_offset_v2:"0"` |
| // The number of bits set to 1 in the subnet mask. |
| // |
| // When [`addr`] is [`IpAddress.ipv4`], must be in the range `[0, 32]`. |
| // When [`addr`] is [`IpAddress.ipv6`], must be in the range `[0, 128]`. |
| PrefixLen uint8 `fidl_offset_v2:"16"` |
| } |
| |
| var _mSubnet = _bindings.CreateLazyMarshaler(Subnet{}) |
| |
| func (msg *Subnet) Marshaler() _bindings.Marshaler { |
| return _mSubnet |
| } |
| |
| type I_ipAddressTag uint64 |
| |
| const ( |
| IpAddressIpv4 = 1 // 0x00000001 |
| IpAddressIpv6 = 2 // 0x00000002 |
| ) |
| |
| // Represents an IP address that may be either v4 or v6. |
| type IpAddress struct { |
| I_ipAddressTag `fidl:"x!" fidl_size_v2:"16" fidl_alignment_v2:"8" fidl_resource:"false"` |
| Ipv4 Ipv4Address `fidl_ordinal:"1"` |
| Ipv6 Ipv6Address `fidl_ordinal:"2"` |
| } |
| |
| var _mIpAddress = _bindings.CreateLazyMarshaler(IpAddress{}) |
| |
| func (msg *IpAddress) Marshaler() _bindings.Marshaler { |
| return _mIpAddress |
| } |
| |
| func (_m *IpAddress) reset() { |
| switch _m.I_ipAddressTag { |
| case 1: |
| var _zeroed Ipv4Address |
| _m.Ipv4 = _zeroed |
| case 2: |
| var _zeroed Ipv6Address |
| _m.Ipv6 = _zeroed |
| } |
| } |
| |
| func (_m *IpAddress) Which() I_ipAddressTag { |
| return _m.I_ipAddressTag |
| } |
| |
| func (_m *IpAddress) Ordinal() uint64 { |
| return uint64(_m.I_ipAddressTag) |
| } |
| |
| func (_m *IpAddress) SetIpv4(ipv4 Ipv4Address) { |
| _m.reset() |
| _m.I_ipAddressTag = IpAddressIpv4 |
| _m.Ipv4 = ipv4 |
| } |
| |
| func IpAddressWithIpv4(ipv4 Ipv4Address) IpAddress { |
| var _u IpAddress |
| _u.SetIpv4(ipv4) |
| return _u |
| } |
| |
| func (_m *IpAddress) SetIpv6(ipv6 Ipv6Address) { |
| _m.reset() |
| _m.I_ipAddressTag = IpAddressIpv6 |
| _m.Ipv6 = ipv6 |
| } |
| |
| func IpAddressWithIpv6(ipv6 Ipv6Address) IpAddress { |
| var _u IpAddress |
| _u.SetIpv6(ipv6) |
| return _u |
| } |
| |
| type I_socketAddressTag uint64 |
| |
| const ( |
| SocketAddressIpv4 = 1 // 0x00000001 |
| SocketAddressIpv6 = 2 // 0x00000002 |
| ) |
| |
| // Represents an IP socket address that may be either v4 or v6. |
| type SocketAddress struct { |
| I_socketAddressTag `fidl:"x!" fidl_size_v2:"16" fidl_alignment_v2:"8" fidl_resource:"false"` |
| Ipv4 Ipv4SocketAddress `fidl_ordinal:"1"` |
| Ipv6 Ipv6SocketAddress `fidl_ordinal:"2"` |
| } |
| |
| var _mSocketAddress = _bindings.CreateLazyMarshaler(SocketAddress{}) |
| |
| func (msg *SocketAddress) Marshaler() _bindings.Marshaler { |
| return _mSocketAddress |
| } |
| |
| func (_m *SocketAddress) reset() { |
| switch _m.I_socketAddressTag { |
| case 1: |
| var _zeroed Ipv4SocketAddress |
| _m.Ipv4 = _zeroed |
| case 2: |
| var _zeroed Ipv6SocketAddress |
| _m.Ipv6 = _zeroed |
| } |
| } |
| |
| func (_m *SocketAddress) Which() I_socketAddressTag { |
| return _m.I_socketAddressTag |
| } |
| |
| func (_m *SocketAddress) Ordinal() uint64 { |
| return uint64(_m.I_socketAddressTag) |
| } |
| |
| func (_m *SocketAddress) SetIpv4(ipv4 Ipv4SocketAddress) { |
| _m.reset() |
| _m.I_socketAddressTag = SocketAddressIpv4 |
| _m.Ipv4 = ipv4 |
| } |
| |
| func SocketAddressWithIpv4(ipv4 Ipv4SocketAddress) SocketAddress { |
| var _u SocketAddress |
| _u.SetIpv4(ipv4) |
| return _u |
| } |
| |
| func (_m *SocketAddress) SetIpv6(ipv6 Ipv6SocketAddress) { |
| _m.reset() |
| _m.I_socketAddressTag = SocketAddressIpv6 |
| _m.Ipv6 = ipv6 |
| } |
| |
| func SocketAddressWithIpv6(ipv6 Ipv6SocketAddress) SocketAddress { |
| var _u SocketAddress |
| _u.SetIpv6(ipv6) |
| return _u |
| } |