-#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)