microblaze: Copy ppc asm-compat.h for clean handling of constants in asm and C
[linux-2.6/cjktty.git] / drivers / staging / rt2860 / rtmp_ckipmic.h
blob39955b914de7de4f65ed7b9b08e1e9b96f1929ac
1 /*
2 *************************************************************************
3 * Ralink Tech Inc.
4 * 5F., No.36, Taiyuan St., Jhubei City,
5 * Hsinchu County 302,
6 * Taiwan, R.O.C.
8 * (c) Copyright 2002-2007, Ralink Technology, Inc.
10 * This program is free software; you can redistribute it and/or modify *
11 * it under the terms of the GNU General Public License as published by *
12 * the Free Software Foundation; either version 2 of the License, or *
13 * (at your option) any later version. *
14 * *
15 * This program is distributed in the hope that it will be useful, *
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
18 * GNU General Public License for more details. *
19 * *
20 * You should have received a copy of the GNU General Public License *
21 * along with this program; if not, write to the *
22 * Free Software Foundation, Inc., *
23 * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
24 * *
25 *************************************************************************
27 Module Name:
28 rtmp_ckipmic.h
30 Abstract:
32 Revision History:
33 Who When What
34 -------- ---------- ----------------------------------------------
35 Name Date Modification logs
37 #ifndef __RTMP_CKIPMIC_H__
38 #define __RTMP_CKIPMIC_H__
40 typedef struct _MIC_CONTEXT {
41 /* --- MMH context */
42 UCHAR CK[16]; /* the key */
43 UCHAR coefficient[16]; /* current aes counter mode coefficients */
44 ULONGLONG accum; /* accumulated mic, reduced to u32 in final() */
45 UINT position; /* current position (byte offset) in message */
46 UCHAR part[4]; /* for conversion of message to u32 for mmh */
47 } MIC_CONTEXT, *PMIC_CONTEXT;
49 VOID xor_128(
50 IN PUCHAR a,
51 IN PUCHAR b,
52 OUT PUCHAR out);
54 UCHAR RTMPCkipSbox(
55 IN UCHAR a);
57 VOID xor_32(
58 IN PUCHAR a,
59 IN PUCHAR b,
60 OUT PUCHAR out);
62 VOID next_key(
63 IN PUCHAR key,
64 IN INT round);
66 VOID byte_sub(
67 IN PUCHAR in,
68 OUT PUCHAR out);
70 VOID shift_row(
71 IN PUCHAR in,
72 OUT PUCHAR out);
74 VOID mix_column(
75 IN PUCHAR in,
76 OUT PUCHAR out);
78 #endif //__RTMP_CKIPMIC_H__