MOXA linux-2.6.x / linux-2.6.9-uc0 from sdlinux-moxaart.tgz
[linux-2.6.9-moxart.git] / drivers / usb / net / Zydas / zdtkipseed.h
blob393be8414c0f4c3ec72dd91bd10b86639b90c869
1 #ifndef _ZDTKIPSEED_H_
2 #define _ZDTKIPSEED_H_
5 #define Mk16(A, B) ((A<<8)+B)
7 #define Lo8(v16) ((U8)( (v16) & 0xFF))
8 #define Hi8(v16) ((U8)(((v16)>>8) & 0xFF))
11 //variable.
12 typedef struct _Seedvar
14 U8 TK[16]; // Key
15 U8 TA[6];
16 U16 TTAK[5]; // TTAK
17 U16 ppk[6];
18 U16 IV16, iv16tmp;
19 U32 IV32, iv32tmp;
20 }Seedvar, *PSeedvar;
22 #define Tx 0
23 #define Rx 1
25 #if defined(PHY_1202)
27 void Tkip_Init(U8 *key, U8 *ta, Seedvar *Seed, U8 *initiv);
28 void Tkip_clear(Seedvar *Seed);
30 // set key and TA
31 void Tkip_setkey(U8 *key, U8 *ta, Seedvar *Seed);
33 // phase1 key mixing function
34 char Tkip_phase1_key_mix(U32 IV32, Seedvar *Seed);
36 // phase2 key mixing function
37 char Tkip_phase2_key_mix(U16 IV16, Seedvar *Seed);
39 // get generated seeds
40 void Tkip_getseeds(U16 IV16, U8 *RC4Key, Seedvar *Seed);
42 // update stored IV.
43 void Tkip_updateiv(Seedvar *Seed);
46 /************************************************************/
47 /* tkip_sbox() */
48 /* Returns a 16 bit value from a 64K entry table. The Table */
49 /* is synthesized from two 256 entry byte wide tables. */
50 /************************************************************/
51 unsigned int tkip_sbox(unsigned int index);
53 // rotate right by 1 bit.
54 unsigned int rotr1(unsigned int a);
56 #endif
57 #endif