diff options
author | cinap_lenrek <cinap_lenrek@gmx.de> | 2013-02-09 03:19:50 +0100 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@gmx.de> | 2013-02-09 03:19:50 +0100 |
commit | 09a58258328d34edd14b8c361909635b9d2a1390 (patch) | |
tree | 076871e34cd238e6319dda09c0191691d0c7d03b /sys/src/9/pc/wifi.h | |
parent | f1727a674232f1a91dda8f18d7d7e4a1b486e5cf (diff) |
etheriwl: experimental intel wifi link driver
Diffstat (limited to 'sys/src/9/pc/wifi.h')
-rw-r--r-- | sys/src/9/pc/wifi.h | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/sys/src/9/pc/wifi.h b/sys/src/9/pc/wifi.h new file mode 100644 index 000000000..363722a8f --- /dev/null +++ b/sys/src/9/pc/wifi.h @@ -0,0 +1,52 @@ +typedef struct Wnode Wnode; +typedef struct Wifi Wifi; + +typedef struct Wifipkt Wifipkt; + +struct Wifipkt +{ + uchar fc[2]; + uchar dur[2]; + uchar a1[Eaddrlen]; + uchar a2[Eaddrlen]; + uchar a3[Eaddrlen]; + uchar seq[2]; +}; + +enum { + WIFIHDRSIZE = 2+2+3*6+2, +}; + +struct Wnode +{ + uchar bssid[Eaddrlen]; + char ssid[32+2]; + int ival; + int cap; + + long lastseen; + + int aid; +}; + +struct Wifi +{ + Ether *ether; + + Queue *iq; + char *status; + void (*transmit)(Wifi*, Wnode*, Block*); + + Wnode node[16]; + Wnode *bss; + + uint txseq; + char essid[32+2]; +}; + +Wifi *wifiattach(Ether *ether, void (*transmit)(Wifi*, Wnode*, Block*)); +void wifiiq(Wifi*, Block*); + +long wifistat(Wifi*, void*, long, ulong); +long wifictl(Wifi*, void*, long); + |