@@ -3,7 +3,7 @@ use std::{
33 os:: fd:: AsRawFd ,
44} ;
55
6- use libc:: { c_char, kld_load} ;
6+ use libc:: { c_char, kld_load, IF_NAMESIZE } ;
77use nix:: { ioctl_readwrite, ioctl_write_ptr, sys:: socket:: AddressFamily } ;
88
99use super :: {
@@ -31,17 +31,17 @@ ioctl_write_ptr!(del_addr_if_in6, b'i', 25, IfReq6);
3131/// Represent `struct ifreq` as defined in `net/if.h`.
3232#[ repr( C ) ]
3333pub struct IfReq {
34- ifr_name : [ u8 ; 16 ] ,
34+ ifr_name : [ u8 ; IF_NAMESIZE ] ,
3535 ifr_ifru : SockAddrIn ,
3636}
3737
3838impl IfReq {
3939 #[ must_use]
4040 pub ( super ) fn new ( if_name : & str ) -> Self {
41- let mut ifr_name = [ 0u8 ; 16 ] ;
41+ let mut ifr_name = [ 0u8 ; IF_NAMESIZE ] ;
4242 if_name
4343 . bytes ( )
44- . take ( 15 )
44+ . take ( IF_NAMESIZE - 1 )
4545 . enumerate ( )
4646 . for_each ( |( i, b) | ifr_name[ i] = b) ;
4747
@@ -94,17 +94,17 @@ impl IfReq {
9494/// Represent `struct in6_ifreq` as defined in `netinet6/in6_var.h`.
9595#[ repr( C ) ]
9696pub struct IfReq6 {
97- ifr_name : [ u8 ; 16 ] ,
97+ ifr_name : [ u8 ; IF_NAMESIZE ] ,
9898 ifr_ifru : SockAddrIn6 ,
9999}
100100
101101impl IfReq6 {
102102 #[ must_use]
103103 pub ( super ) fn new ( if_name : & str ) -> Self {
104- let mut ifr_name = [ 0u8 ; 16 ] ;
104+ let mut ifr_name = [ 0u8 ; IF_NAMESIZE ] ;
105105 if_name
106106 . bytes ( )
107- . take ( 15 )
107+ . take ( IF_NAMESIZE - 1 )
108108 . enumerate ( )
109109 . for_each ( |( i, b) | ifr_name[ i] = b) ;
110110
@@ -129,7 +129,7 @@ impl IfReq6 {
129129/// Respresent `in_aliasreq` as defined in <netinet/in_var.h>.
130130#[ repr( C ) ]
131131pub struct InAliasReq {
132- ifr_name : [ u8 ; 16 ] ,
132+ ifr_name : [ u8 ; IF_NAMESIZE ] ,
133133 ifra_addr : SockAddrIn ,
134134 ifra_broadaddr : SockAddrIn ,
135135 ifra_mask : SockAddrIn ,
@@ -144,10 +144,10 @@ impl InAliasReq {
144144 broadcast : & Ipv4Addr ,
145145 mask : & Ipv4Addr ,
146146 ) -> Self {
147- let mut ifr_name = [ 0u8 ; 16 ] ;
147+ let mut ifr_name = [ 0u8 ; IF_NAMESIZE ] ;
148148 if_name
149149 . bytes ( )
150- . take ( 15 )
150+ . take ( IF_NAMESIZE - 1 )
151151 . enumerate ( )
152152 . for_each ( |( i, b) | ifr_name[ i] = b) ;
153153
@@ -174,7 +174,7 @@ impl InAliasReq {
174174/// Respresent `in6_aliasreq` as defined in <netinet/in6_var.h>.
175175#[ repr( C ) ]
176176pub struct In6AliasReq {
177- ifr_name : [ u8 ; 16 ] ,
177+ ifr_name : [ u8 ; IF_NAMESIZE ] ,
178178 ifra_addr : SockAddrIn6 ,
179179 ifra_dstaddr : SockAddrIn6 ,
180180 ifra_prefixmask : SockAddrIn6 ,
@@ -195,10 +195,10 @@ impl In6AliasReq {
195195 dstaddr : & Ipv6Addr ,
196196 prefixmask : & Ipv6Addr ,
197197 ) -> Self {
198- let mut ifr_name = [ 0u8 ; 16 ] ;
198+ let mut ifr_name = [ 0u8 ; IF_NAMESIZE ] ;
199199 if_name
200200 . bytes ( )
201- . take ( 15 )
201+ . take ( IF_NAMESIZE - 1 )
202202 . enumerate ( )
203203 . for_each ( |( i, b) | ifr_name[ i] = b) ;
204204
0 commit comments