extern struct lifreq [src]

Alias for std.c.solaris.lifreq

IP interface request. See if_tcp(7p) for more info.

Fields

ifrn: extern union { /// Interface name, e.g. "lo0", "en0". name: [IFNAMESIZE]u8, }
ru1: extern union { /// For subnet/token etc. addrlen: i32, /// Driver's PPA (physical point of attachment). ppa: u32, }
type: u32One of the IFT types, e.g. IFT_ETHER.
ifru: extern union { /// Address. addr: sockaddr.storage, /// Other end of a peer-to-peer link. dstaddr: sockaddr.storage, /// Broadcast address. broadaddr: sockaddr.storage, /// Address token. token: sockaddr.storage, /// Subnet prefix. subnet: sockaddr.storage, /// Interface index. ivalue: i32, /// Flags for SIOC?LIFFLAGS. flags: u64, /// Hop count metric metric: i32, /// Maximum transmission unit mtu: u32, // Technically [2]i32 muxid: packed struct { ip: i32, arp: i32 }, /// Neighbor reachability determination entries nd_req: lif_nd_req, /// Link info ifinfo_req: lif_ifinfo_req, /// Name of the multipath interface group groupname: [IFNAMESIZE]u8, binding: [IFNAMESIZE]u8, /// Zone id associated with this interface. zoneid: zoneid_t, /// Duplicate address detection state. Either in progress or completed. dadstate: u32, }

Source

pub const lifreq = extern struct { // Not actually in a union, but the stdlib expects one for ifreq ifrn: extern union { /// Interface name, e.g. "lo0", "en0". name: [IFNAMESIZE]u8, }, ru1: extern union { /// For subnet/token etc. addrlen: i32, /// Driver's PPA (physical point of attachment). ppa: u32, }, /// One of the IFT types, e.g. IFT_ETHER. type: u32, ifru: extern union { /// Address. addr: sockaddr.storage, /// Other end of a peer-to-peer link. dstaddr: sockaddr.storage, /// Broadcast address. broadaddr: sockaddr.storage, /// Address token. token: sockaddr.storage, /// Subnet prefix. subnet: sockaddr.storage, /// Interface index. ivalue: i32, /// Flags for SIOC?LIFFLAGS. flags: u64, /// Hop count metric metric: i32, /// Maximum transmission unit mtu: u32, // Technically [2]i32 muxid: packed struct { ip: i32, arp: i32 }, /// Neighbor reachability determination entries nd_req: lif_nd_req, /// Link info ifinfo_req: lif_ifinfo_req, /// Name of the multipath interface group groupname: [IFNAMESIZE]u8, binding: [IFNAMESIZE]u8, /// Zone id associated with this interface. zoneid: zoneid_t, /// Duplicate address detection state. Either in progress or completed. dadstate: u32, }, }