diff options
author | Sam Leffler <sam@FreeBSD.org> | 2009-03-01 22:10:07 +0000 |
---|---|---|
committer | Sam Leffler <sam@FreeBSD.org> | 2009-03-01 22:10:07 +0000 |
commit | b2cbddbd4361766d55c5f9dae81f71f44577bb6a (patch) | |
tree | 372b16f9e6ccba7284b53135005cc85cc6545185 /hostapd/priv_netlink.h | |
parent | 514fff2b7c1f2e25e5c0611b598797f32aff1042 (diff) | |
parent | 22188e6ab4f02f981de3b9f228a40b1e8f98e6a1 (diff) |
import wpa_supplicant+hostapd 0.6.8vendor/wpa/0.6.8
Notes
Notes:
svn path=/vendor/wpa/dist/; revision=189251
svn path=/vendor/wpa/0.6.8/; revision=189252; tag=vendor/wpa/0.6.8
Diffstat (limited to 'hostapd/priv_netlink.h')
-rw-r--r-- | hostapd/priv_netlink.h | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/hostapd/priv_netlink.h b/hostapd/priv_netlink.h new file mode 100644 index 000000000000..d1f6f663ebf7 --- /dev/null +++ b/hostapd/priv_netlink.h @@ -0,0 +1,71 @@ +#ifndef PRIV_NETLINK_H +#define PRIV_NETLINK_H + +/* Private copy of needed Linux netlink/rtnetlink definitions. + * + * This should be replaced with user space header once one is available with C + * library, etc.. + */ + +#ifndef IFLA_IFNAME +#define IFLA_IFNAME 3 +#endif +#ifndef IFLA_WIRELESS +#define IFLA_WIRELESS 11 +#endif + +#define NETLINK_ROUTE 0 +#define RTMGRP_LINK 1 +#define RTM_BASE 0x10 +#define RTM_NEWLINK (RTM_BASE + 0) +#define RTM_DELLINK (RTM_BASE + 1) + +#define NLMSG_ALIGNTO 4 +#define NLMSG_ALIGN(len) (((len) + NLMSG_ALIGNTO - 1) & ~(NLMSG_ALIGNTO - 1)) +#define NLMSG_LENGTH(len) ((len) + NLMSG_ALIGN(sizeof(struct nlmsghdr))) +#define NLMSG_DATA(nlh) ((void*) (((char*) nlh) + NLMSG_LENGTH(0))) + +#define RTA_ALIGNTO 4 +#define RTA_ALIGN(len) (((len) + RTA_ALIGNTO - 1) & ~(RTA_ALIGNTO - 1)) +#define RTA_OK(rta,len) \ +((len) > 0 && (rta)->rta_len >= sizeof(struct rtattr) && \ +(rta)->rta_len <= (len)) +#define RTA_NEXT(rta,attrlen) \ +((attrlen) -= RTA_ALIGN((rta)->rta_len), \ +(struct rtattr *) (((char *)(rta)) + RTA_ALIGN((rta)->rta_len))) + + +struct sockaddr_nl +{ + sa_family_t nl_family; + unsigned short nl_pad; + u32 nl_pid; + u32 nl_groups; +}; + +struct nlmsghdr +{ + u32 nlmsg_len; + u16 nlmsg_type; + u16 nlmsg_flags; + u32 nlmsg_seq; + u32 nlmsg_pid; +}; + +struct ifinfomsg +{ + unsigned char ifi_family; + unsigned char __ifi_pad; + unsigned short ifi_type; + int ifi_index; + unsigned ifi_flags; + unsigned ifi_change; +}; + +struct rtattr +{ + unsigned short rta_len; + unsigned short rta_type; +}; + +#endif /* PRIV_NETLINK_H */ |