From eee1a598543540c5d358976bc7d4701d58688efe Mon Sep 17 00:00:00 2001 From: kn Date: Mon, 23 Sep 2024 20:37:42 +0000 Subject: [PATCH] sync struct defintions from headers; OK jmc --- share/man/man4/netintro.4 | 65 ++++++++++++++++++++++++--------------- 1 file changed, 40 insertions(+), 25 deletions(-) diff --git a/share/man/man4/netintro.4 b/share/man/man4/netintro.4 index c212626f90d..a046782c061 100644 --- a/share/man/man4/netintro.4 +++ b/share/man/man4/netintro.4 @@ -1,4 +1,4 @@ -.\" $OpenBSD: netintro.4,v 1.53 2018/07/09 09:18:52 schwarze Exp $ +.\" $OpenBSD: netintro.4,v 1.54 2024/09/23 20:37:42 kn Exp $ .\" $NetBSD: netintro.4,v 1.4 1995/10/19 08:03:40 jtc Exp $ .\" .\" Copyright (c) 1983, 1990, 1991, 1993 @@ -30,7 +30,7 @@ .\" .\" @(#)netintro.4 8.2 (Berkeley) 11/30/93 .\" -.Dd $Mdocdate: July 9 2018 $ +.Dd $Mdocdate: September 23 2024 $ .Dt NETINTRO 4 .Os .Sh NAME @@ -201,8 +201,7 @@ structure pointer as their parameter. This structure is as follows: .Bd -literal struct ifreq { -#define IFNAMSIZ 16 - char ifr_name[IFNAMSIZ]; /* if name, e.g. "en0" */ + char ifr_name[IFNAMSIZ]; /* if name, e.g. "en0" */ union { struct sockaddr ifru_addr; struct sockaddr ifru_dstaddr; @@ -223,11 +222,14 @@ struct ifreq { #define ifr_hardmtu ifr_ifru.ifru_metric /* hardmtu (overload) */ #define ifr_media ifr_ifru.ifru_media /* media options */ #define ifr_rdomainid ifr_ifru.ifru_metric /* VRF instance (overload) */ -#define ifr_vnetid ifr_ifru.ifru_vnetid /* Virtual Net Id */ -#define ifr_ttl ifr_ifru.ifru_metric /* tunnel TTL (overload) */ +#define ifr_vnetid ifr_ifru.ifru_vnetid /* Virtual Net Id */ +#define ifr_ttl ifr_ifru.ifru_metric /* tunnel TTL (overload) */ +#define ifr_df ifr_ifru.ifru_metric /* tunnel DF (overload) */ #define ifr_data ifr_ifru.ifru_data /* for use by interface */ -#define ifr_index ifr_ifru.ifru_index /* interface index */ -#define ifr_llprio ifr_ifru.ifru_metric /* link layer priority */ +#define ifr_index ifr_ifru.ifru_index /* interface index */ +#define ifr_llprio ifr_ifru.ifru_metric /* link layer priority */ +#define ifr_hdrprio ifr_ifru.ifru_metric /* header prio field config */ +#define ifr_pwe3 ifr_ifru.ifru_metric /* PWE3 type */ }; .Ed .Pp @@ -299,12 +301,12 @@ structure is as follows: .Bd -literal struct ifmediareq { char ifm_name[IFNAMSIZ]; /* if name, e.g. "en0" */ - uint64_t ifm_current; /* current media options */ - uint64_t ifm_mask; /* don't care mask */ - uint64_t ifm_status; /* media status */ - uint64_t ifm_active; /* active options */ - int ifm_count; /* #entries in ifm_ulist array */ - uint64_t *ifm_ulist; /* media words */ + uint64_t ifm_current; /* get/set current media options */ + uint64_t ifm_mask; /* don't care mask */ + uint64_t ifm_status; /* media status */ + uint64_t ifm_active; /* active options */ + int ifm_count; /* # entries in ifm_ulist array */ + uint64_t *ifm_ulist; /* media words */ }; .Ed .Pp @@ -353,10 +355,16 @@ The structure is as follows: .Bd -literal struct ifaliasreq { - char ifra_name[IFNAMSIZ]; /* if name, e.g. "en0" */ - struct sockaddr ifra_addr; + char ifra_name[IFNAMSIZ]; /* if name, e.g. "en0" */ + union { + struct sockaddr ifrau_addr; + int ifrau_align; + } ifra_ifrau; +#ifndef ifra_addr +#define ifra_addr ifra_ifrau.ifrau_addr +#endif struct sockaddr ifra_dstaddr; -#define ifra_broadaddr ifra_dstaddr +#define ifra_broadaddr ifra_dstaddr struct sockaddr ifra_mask; }; .Ed @@ -399,14 +407,14 @@ needs to be in advance. Note, however, that this is an extension that not all operating systems support. .Bd -literal -struct ifconf { - int ifc_len; /* size of associated buffer */ +struct ifconf { + int ifc_len; /* size of associated buffer */ union { caddr_t ifcu_buf; struct ifreq *ifcu_req; } ifc_ifcu; -#define ifc_buf ifc_ifcu.ifcu_buf /* buffer address */ -#define ifc_req ifc_ifcu.ifcu_req /* array of structures ret'd */ +#define ifc_buf ifc_ifcu.ifcu_buf /* buffer address */ +#define ifc_req ifc_ifcu.ifcu_req /* array of structures returned */ }; .Ed .It Dv SIOCIFCREATE Fa "struct ifreq *" @@ -439,7 +447,7 @@ structure is as follows: .Bd -literal struct if_clonereq { int ifcr_total; /* total cloners (out) */ - int ifcr_count; /* room for this many in user buf */ + int ifcr_count; /* room for this many in user buffer */ char *ifcr_buffer; /* buffer for cloner names */ }; .Ed @@ -453,18 +461,25 @@ The structure is as follows: .Bd -literal struct ifg_req { - char ifgrq_group[IFNAMSIZ]; + union { + char ifgrqu_group[IFNAMSIZ]; + char ifgrqu_member[IFNAMSIZ]; + } ifgrq_ifgrqu; +#define ifgrq_group ifgrq_ifgrqu.ifgrqu_group +#define ifgrq_member ifgrq_ifgrqu.ifgrqu_member }; struct ifgroupreq { char ifgr_name[IFNAMSIZ]; u_int ifgr_len; union { - char ifgru_group[IFNAMSIZ]; - struct ifg_req *ifgru_groups; + char ifgru_group[IFNAMSIZ]; + struct ifg_req *ifgru_groups; + struct ifg_attrib ifgru_attrib; } ifgr_ifgru; #define ifgr_group ifgr_ifgru.ifgru_group #define ifgr_groups ifgr_ifgru.ifgru_groups +#define ifgr_attrib ifgr_ifgru.ifgru_attrib }; .Ed .It Dv SIOCGIFGROUP Fa "struct ifgroupreq *" -- 2.20.1