diff options
Diffstat (limited to 'include/linux/if.h')
| -rw-r--r-- | include/linux/if.h | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/include/linux/if.h b/include/linux/if.h index 2bba24a313a4..a46d55dd576d 100644 --- a/include/linux/if.h +++ b/include/linux/if.h @@ -21,6 +21,7 @@ #include <linux/types.h> /* for "__kernel_caddr_t" et al */ #include <linux/socket.h> /* for "struct sockaddr" et al */ +#include <linux/hdlc/ioctl.h> /* Standard interface flags (netdevice->flags). */ #define IFF_UP 0x1 /* interface is up */ @@ -95,10 +96,15 @@ struct ifmap struct if_settings { unsigned int type; /* Type of physical device or protocol */ - unsigned int data_length; /* device/protocol data length */ - void * data; /* pointer to data, ignored if length = 0 */ + union { + /* {atm/eth/dsl}_settings anyone ? */ + union hdlc_settings ifsu_hdlc; + union line_settings ifsu_line; + } ifs_ifsu; }; +#define ifs_hdlc ifs_ifsu.ifsu_hdlc +#define ifs_line ifs_ifsu.ifsu_line /* * Interface request structure used for socket @@ -129,7 +135,7 @@ struct ifreq char ifru_slave[IFNAMSIZ]; /* Just fits the size */ char ifru_newname[IFNAMSIZ]; char * ifru_data; - struct if_settings ifru_settings; + struct if_settings *ifru_settings; } ifr_ifru; }; |
