genode/repos/dde_linux/src/lib/wpa_driver_nl80211/include/lx_user_emul.h

233 lines
4.5 KiB
C

#ifndef _LX_USER_EMUL_H_
#define _LX_USER_EMUL_H_
/**************************
** asm-generic/socket.h **
**************************/
/* enum { */
/* SOL_SOCKET = 1, */
/* }; */
enum {
SO_PRIORITY = 12,
SO_ATTACH_FILTER = 26,
};
/*******************
** bits/ioctls.h **
*******************/
enum {
/* SIOCGIFFLAGS = 0x8913, */
/* SIOCSIFFLAGS = 0x8914, */
/* SIOCGIFADDR = 0x8915, */
SIOCSIFHWADDR = 0x8924,
SIOCGIFHWADDR = 0x8927,
/* SIOCGIFINDEX = 0x8933, */
};
/*******************
** bits/socket.h **
*******************/
enum {
PF_NETLINK = 16,
PF_PACKET = 17,
};
enum {
MSG_ERRQUEUE = 0x2000,
};
enum {
SOL_PACKET = 263,
};
/******************
** bits/types.h **
******************/
typedef char *__caddr_t;
/********************
** linux/socket.h **
********************/
enum {
AF_BRIDGE = 7,
AF_NETLINK = 16,
AF_PACKET = 17,
};
/**********************
** linux/errqueue.h **
**********************/
struct sock_extended_err
{
unsigned int ee_errno;
unsigned char ee_origin;
unsigned char ee_type;
unsigned char ee_code;
unsigned char ee_pad;
unsigned int ee_info;
unsigned int ee_data;
};
/********************
** linux/filter.h **
********************/
enum {
BPF_LD = 0x00,
BPF_ALU = 0x04,
BPF_JMP = 0x05,
BPF_RET = 0x06,
BPF_MISC = 0x07,
BPF_W = 0x00,
BPF_H = 0x08,
BPF_B = 0x10,
BPF_IND = 0x40,
BPF_LEN = 0x80,
BPF_ADD = 0x00,
BPF_OR = 0x40,
BPF_AND = 0x50,
BPF_LSH = 0x60,
BPF_RSH = 0x70,
BPF_JA = 0x00,
BPF_JEQ = 0x10,
BPF_K = 0x00,
BPF_X = 0x08,
BPF_ABS = 0x20,
BPF_TAX = 0x00,
};
#define BPF_CLASS(code) ((code) & 0x07)
#ifndef BPF_STMT
#define BPF_STMT(code, k) { (unsigned short)(code), 0, 0, k }
#endif
#ifndef BPF_JUMP
#define BPF_JUMP(code, k, jt, jf) { (unsigned short)(code), jt, jf, k }
#endif
struct sock_filter
{
unsigned short code;
unsigned char jt;
unsigned char jf;
unsigned int k;
};
struct sock_fprog
{
unsigned short len;
struct sock_filter *filter;
};
/***********************
** linux/if_packet.h **
***********************/
struct sockaddr_ll {
unsigned short sll_family;
unsigned short sll_protocol; /* BE 16b */
int sll_ifindex;
unsigned short sll_hatype;
unsigned char sll_pkttype;
unsigned char sll_halen;
unsigned char sll_addr[8];
};
/**************
** net/if.h **
**************/
enum {
IFF_UP = 0x01,
IFF_RUNNING = 0x40,
};
struct ifmap
{
unsigned long int mem_start;
unsigned long int mem_end;
unsigned short int base_addr;
unsigned char irq;
unsigned char dma;
unsigned char port;
/* 3 bytes spare */
};
struct ifreq
{
#define IFHWADDRLEN 6
#define IF_NAMESIZE 16
#define IFNAMSIZ IF_NAMESIZE
union
{
char ifrn_name[IFNAMSIZ]; /* Interface name, e.g. "en0". */
} ifr_ifrn;
union
{
struct sockaddr ifru_addr;
struct sockaddr ifru_dstaddr;
struct sockaddr ifru_broadaddr;
struct sockaddr ifru_netmask;
struct sockaddr ifru_hwaddr;
short int ifru_flags;
int ifru_ivalue;
int ifru_mtu;
struct ifmap ifru_map;
char ifru_slave[IFNAMSIZ]; /* Just fits the size */
char ifru_newname[IFNAMSIZ];
__caddr_t ifru_data;
} ifr_ifru;
#define ifr_name ifr_ifrn.ifrn_name /* interface name */
#define ifr_hwaddr ifr_ifru.ifru_hwaddr /* MAC address */
#define ifr_addr ifr_ifru.ifru_addr /* address */
#define ifr_dstaddr ifr_ifru.ifru_dstaddr /* other end of p-p lnk */
#define ifr_broadaddr ifr_ifru.ifru_broadaddr /* broadcast address */
#define ifr_netmask ifr_ifru.ifru_netmask /* interface net mask */
#define ifr_flags ifr_ifru.ifru_flags /* flags */
#define ifr_metric ifr_ifru.ifru_ivalue /* metric */
#define ifr_mtu ifr_ifru.ifru_mtu /* mtu */
#define ifr_map ifr_ifru.ifru_map /* device map */
#define ifr_slave ifr_ifru.ifru_slave /* slave device */
#define ifr_data ifr_ifru.ifru_data /* for use by interface */
#define ifr_ifindex ifr_ifru.ifru_ivalue /* interface index */
#define ifr_bandwidth ifr_ifru.ifru_ivalue /* link bandwidth */
#define ifr_qlen ifr_ifru.ifru_ivalue /* Queue length */
#define ifr_newname ifr_ifru.ifru_newname /* New name */
#define ifr_settings ifr_ifru.ifru_settings /* Device/proto settings*/
};
unsigned int if_nametoindex(const char *ifname);
char *if_indextoname(unsigned int ifindex, char *ifname);
/******************
** net/if_arp.h **
******************/
enum {
ARPHRD_ETHER = 1,
};
#endif /* _LX_USER_EMUL_H_ */