]> rtime.felk.cvut.cz Git - mirosot.git/blob - bluetooth/inline_fce.h
Comments translated to english
[mirosot.git] / bluetooth / inline_fce.h
1 /*******************************************************************\r
2   bluetooth library\r
3 \r
4   l2cap.c - any inline fce for bth library and list of fce calling\r
5             from event complete\r
6 \r
7   Copyright (C) 2006 by Petr Kovacik petr_kovacik@gmail.com\r
8 \r
9  *******************************************************************/\r
10 \r
11 #ifndef INLINE_FCE_H\r
12 #define INLINE_FCE_H\r
13  #include <string.h>\r
14 \r
15 /**/\r
16 /*Search the list ba1 of the size num for bdadres ba2, if it is found, it's index is returned*/\r
17 \r
18 static inline int bth_seach_bdaddr(bdaddr_t *ba1, const bdaddr_t *ba2, int num)\r
19 {\r
20   int i;\r
21   for(i=0; i<num; i++)\r
22   {  if(memcmp(ba1,ba2+i,sizeof(bdaddr_t))==0){\r
23        return(i);\r
24      };\r
25   };\r
26   return(-1);\r
27 };\r
28 \r
29 \r
30 \r
31 \r
32 #ifdef BTH_LX\r
33 \r
34 \r
35 static inline uint16_t __cpu_to_le16(uint16_t value)\r
36 {\r
37   uint16_t pomoc=0;\r
38   pomoc=(value<<8)&0xff00;\r
39   value=(value>>8)&0x00ff;\r
40   return(value|pomoc);\r
41 };\r
42 \r
43 static inline uint16_t __cpu_to_be16(uint16_t value)\r
44 {\r
45   uint16_t pomoc=0;\r
46   pomoc=(value<<8)&0xff00;\r
47   value=(value>>8)&0x00ff;\r
48   return(value|pomoc);\r
49 };\r
50 \r
51 static inline void store_le16(void *address, uint16_t value) //for u16 big endian\r
52 {\r
53   uint16_t be;\r
54   be = __cpu_to_le16(value);\r
55 //  be = htobs(value);\r
56   memcpy(address, &be, sizeof(uint16_t));\r
57 }\r
58 \r
59 static inline void store_be16(void *address, uint16_t value) //for u16 big endian\r
60  {\r
61    uint16_t be;\r
62    be = __cpu_to_be16(value);\r
63    memcpy(address, &be, sizeof(uint16_t));\r
64  }\r
65 \r
66  \r
67  static inline void __bthtomc16(void *address, void *value)\r
68  {\r
69    memcpy(address, value+1, 1);\r
70    memcpy((uint8_t*)address+1, (uint8_t*)value, 1);\r
71  };\r
72 \r
73 \r
74 #else\r
75 static inline uint16_t __cpu_to_le16(uint16_t value)\r
76 {\r
77   uint16_t pomoc=0;\r
78   return(value|pomoc);\r
79 };\r
80 \r
81 \r
82 static inline uint16_t __cpu_to_be16(uint16_t value)\r
83 {\r
84   uint16_t pomoc=0;\r
85   pomoc=(value<<8)&0xff00;\r
86   value=(value>>8)&0x00ff;\r
87   return(value|pomoc);\r
88 };\r
89 \r
90 static inline void store_le16(void *address, uint16_t value) //pro u16 s vyuzitim bigindianu\r
91 {\r
92   uint16_t be;\r
93   be = __cpu_to_le16(value);\r
94 //  be = htobs(value);\r
95   memcpy(address, &be, sizeof(uint16_t));\r
96 }\r
97 \r
98 static inline void store_be16(void *address, uint16_t value) //pro u16 s vyuzitim bigindianu\r
99  {\r
100    uint16_t be;\r
101    be = __cpu_to_le16(value);\r
102    memcpy(address, &be, sizeof(uint16_t));\r
103  }\r
104 \r
105  static inline void __bthtomc16(void *address, void *value)\r
106  {\r
107 //   (uint16_t*)address=(uint16_t)*(uint16_t*)value;\r
108    memcpy(address, value, 2);\r
109 //   memcpy((uint8_t*)address+1, (uint8_t*)value, 1);\r
110  };\r
111 \r
112 \r
113 #endif\r
114 \r
115 /********************************************************************/\r
116 /********************************************************************/\r
117 /********************************************************************/\r
118 /********************************************************************/\r
119 /********************************************************************/\r
120 /********************************************************************/\r
121 /********************************************************************/\r
122 // ------------- COMMAND COMPLETE EVENT ---------------------------/\r
123 \r
124 int cmd_ev_none(uint8_t *bth_p, uint8_t size);\r
125 /********************************************************************/\r
126 /***********************   OGF = 0x01    ****************************/\r
127 /*-------------------LINK CONTROL COMMANDS--------------------------*/\r
128 /********************************************************************/\r
129 int cmd_ev_01x000b(uint8_t *bth_p, uint8_t size);\r
130 int cmd_ev_01x000d(uint8_t *bth_p, uint8_t size);\r
131 int cmd_ev_01x000e(uint8_t *bth_p, uint8_t size);\r
132 \r
133 /********************************************************************/\r
134 /***********************   OGF = 0x02    ****************************/\r
135 /*-------------------LINK POLICY COMMANDS--------------------------*/\r
136 /********************************************************************/\r
137 int cmd_ev_02x0009(uint8_t *bth_p, uint8_t size);\r
138 int cmd_ev_02x000C(uint8_t *bth_p, uint8_t size);\r
139 int cmd_ev_02x000D(uint8_t *bth_p, uint8_t size);\r
140 \r
141 /********************************************************************/\r
142 /***********************   OGF = 0x03    ****************************/\r
143 /*--------------HOST CONTROLLER & BASEBAND COMMANDS-----------------*/\r
144 /********************************************************************/\r
145 int cmd_ev_03x0008(uint8_t *bth_p, uint8_t size);\r
146 int cmd_ev_03x0009(uint8_t *bth_p, uint8_t size);\r
147 int cmd_ev_03x000d(uint8_t *bth_p, uint8_t size);\r
148 int cmd_ev_03x0011(uint8_t *bth_p, uint8_t size);\r
149 int cmd_ev_03x0012(uint8_t *bth_p, uint8_t size);\r
150 int cmd_ev_03x0014(uint8_t *bth_p, uint8_t size);\r
151 int cmd_ev_03x0015(uint8_t *bth_p, uint8_t size);\r
152 int cmd_ev_03x0017(uint8_t *bth_p, uint8_t size);\r
153 int cmd_ev_03x0019(uint8_t *bth_p, uint8_t size);\r
154 int cmd_ev_03x001b(uint8_t *bth_p, uint8_t size);\r
155 int cmd_ev_03x001d(uint8_t *bth_p, uint8_t size);\r
156 int cmd_ev_03x001f(uint8_t *bth_p, uint8_t size);\r
157 int cmd_ev_03x0021(uint8_t *bth_p, uint8_t size);\r
158 int cmd_ev_03x0023(uint8_t *bth_p, uint8_t size);\r
159 int cmd_ev_03x0025(uint8_t *bth_p, uint8_t size);\r
160 int cmd_ev_03x0027(uint8_t *bth_p, uint8_t size);\r
161 int cmd_ev_03x0028(uint8_t *bth_p, uint8_t size);\r
162 int cmd_ev_03x0029(uint8_t *bth_p, uint8_t size);\r
163 int cmd_ev_03x002b(uint8_t *bth_p, uint8_t size);\r
164 int cmd_ev_03x002d(uint8_t *bth_p, uint8_t size);\r
165 int cmd_ev_03x002e(uint8_t *bth_p, uint8_t size);\r
166 int cmd_ev_03x0036(uint8_t *bth_p, uint8_t size);\r
167 int cmd_ev_03x0037(uint8_t *bth_p, uint8_t size);\r
168 int cmd_ev_03x0038(uint8_t *bth_p, uint8_t size);\r
169 int cmd_ev_03x0039(uint8_t *bth_p, uint8_t size);\r
170 int cmd_ev_03x003b(uint8_t *bth_p, uint8_t size);\r
171 int cmd_ev_03x003d(uint8_t *bth_p, uint8_t size);\r
172 \r
173 /********************************************************************/\r
174 /***********************   OGF = 0x04    ****************************/\r
175 /*-------------------INFORMATIONAL PARAMETERS-----------------------*/\r
176 /********************************************************************/\r
177 int cmd_ev_04x0001(uint8_t *bth_p, uint8_t size);\r
178 int cmd_ev_04x0003(uint8_t *bth_p, uint8_t size);\r
179 int cmd_ev_04x0005(uint8_t *bth_p, uint8_t size);\r
180 int cmd_ev_04x0007(uint8_t *bth_p, uint8_t size);\r
181 int cmd_ev_04x0009(uint8_t *bth_p, uint8_t size);\r
182 \r
183 \r
184 #endif\r