Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
pvrusb2-util.h
Go to the documentation of this file.
1 /*
2  *
3  *
4  * Copyright (C) 2005 Mike Isely <[email protected]>
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18  *
19  */
20 #ifndef __PVRUSB2_UTIL_H
21 #define __PVRUSB2_UTIL_H
22 
23 #define PVR2_DECOMPOSE_LE(t,i,d) \
24  do { \
25  (t)[i] = (d) & 0xff;\
26  (t)[i+1] = ((d) >> 8) & 0xff;\
27  (t)[i+2] = ((d) >> 16) & 0xff;\
28  (t)[i+3] = ((d) >> 24) & 0xff;\
29  } while(0)
30 
31 #define PVR2_DECOMPOSE_BE(t,i,d) \
32  do { \
33  (t)[i+3] = (d) & 0xff;\
34  (t)[i+2] = ((d) >> 8) & 0xff;\
35  (t)[i+1] = ((d) >> 16) & 0xff;\
36  (t)[i] = ((d) >> 24) & 0xff;\
37  } while(0)
38 
39 #define PVR2_COMPOSE_LE(t,i) \
40  ((((u32)((t)[i+3])) << 24) | \
41  (((u32)((t)[i+2])) << 16) | \
42  (((u32)((t)[i+1])) << 8) | \
43  ((u32)((t)[i])))
44 
45 #define PVR2_COMPOSE_BE(t,i) \
46  ((((u32)((t)[i])) << 24) | \
47  (((u32)((t)[i+1])) << 16) | \
48  (((u32)((t)[i+2])) << 8) | \
49  ((u32)((t)[i+3])))
50 
51 
52 #endif /* __PVRUSB2_UTIL_H */
53 
54 /*
55  Stuff for Emacs to see, in order to encourage consistent editing style:
56  *** Local Variables: ***
57  *** mode: c ***
58  *** fill-column: 75 ***
59  *** tab-width: 8 ***
60  *** c-basic-offset: 8 ***
61  *** End: ***
62  */