X-Git-Url: https://hackdaworld.org/gitweb/?p=my-code%2Fhdw-sniff.git;a=blobdiff_plain;f=parse.h;h=9278dc35a96409935663291f7d2d986381e28ecb;hp=4c1d770a9054ad082cf37b8e08e6aec73d4d0fd1;hb=HEAD;hpb=0f2d363e4506da5d761c082fd20d450544539bbc diff --git a/parse.h b/parse.h index 4c1d770..9278dc3 100644 --- a/parse.h +++ b/parse.h @@ -70,17 +70,17 @@ typedef struct s_prism_hdr { t_prism_val frame_len; } __attribute__ ((packed)) t_prism_hdr; -#define FCTL_VER(X) ((X&0x0003)) -#define FCTL_TYPE(X) ((X&0x000c)>>2) -#define FCTL_STYPE(X) ((X&0x00f0)>>4) -#define FCTL_TODS(X) ((X&0x0100)>>8) -#define FCTL_FROMDS(X) ((X&0x0200)>>9) -#define FCTL_MOREFRAG(X) ((X&0x0400)>>10) -#define FCTL_RETRY(X) ((X&0x0800)>>11) -#define FCTL_PWRMGT(X) ((X&1000)>>12) -#define FCTL_MOREDATA(X) ((X&0x2000)>>13) -#define FCTL_WEP(X) ((X&0x4000)>>14) -#define FCTL_ORDER(X) ((X&0x800)>>15) +#define FCTL_VER(X) (((*(u16 *)&X)&0x0003)) +#define FCTL_TYPE(X) (((*(u16 *)&X)&0x000c)>>2) +#define FCTL_STYPE(X) (((*(u16 *)&X)&0x00f0)>>4) +#define FCTL_TODS(X) (((*(u16 *)&X)&0x0100)>>8) +#define FCTL_FROMDS(X) (((*(u16 *)&X)&0x0200)>>9) +#define FCTL_MOREFRAG(X) (((*(u16 *)&X)&0x0400)>>10) +#define FCTL_RETRY(X) (((*(u16 *)&X)&0x0800)>>11) +#define FCTL_PWRMGT(X) (((*(u16 *)&X)&1000)>>12) +#define FCTL_MOREDATA(X) (((*(u16 *)&X)&0x2000)>>13) +#define FCTL_WEP(X) (((*(u16 *)&X)&0x4000)>>14) +#define FCTL_ORDER(X) (((*(u16 *)&X)&0x800)>>15) #define FCTL_TYPE_MGMT 0 #define FCTL_TYPE_CTRL 1 @@ -149,7 +149,7 @@ typedef struct s_sta { char active; char key[WEP_MAX_DIGITS]; int sq; - u8 snap[6]; + u8 snap[10]; u8 bssid[ADDR_LEN]; } t_sta;