]> rtime.felk.cvut.cz Git - mirosot.git/blobdiff - bth_tests/bluetooth/inline_fce.h
Added bth_test application. Not finished.
[mirosot.git] / bth_tests / bluetooth / inline_fce.h
diff --git a/bth_tests/bluetooth/inline_fce.h b/bth_tests/bluetooth/inline_fce.h
new file mode 100644 (file)
index 0000000..ee08505
--- /dev/null
@@ -0,0 +1,184 @@
+/*******************************************************************\r
+  bluetooth library\r
+\r
+  l2cap.c - any inline fce for bth library and list of fce calling\r
+            from event complete\r
+\r
+  Copyright (C) 2006 by Petr Kovacik petr_kovacik@gmail.com\r
+\r
+ *******************************************************************/\r
+\r
+#ifndef INLINE_FCE_H\r
+#define INLINE_FCE_H\r
+ #include <string.h>\r
+\r
+/**/\r
+/*Search the list ba1 of the size num for bdadres ba2, if it is found, it's index is returned*/\r
+\r
+static inline int bth_seach_bdaddr(bdaddr_t *ba1, const bdaddr_t *ba2, int num)\r
+{\r
+  int i;\r
+  for(i=0; i<num; i++)\r
+  {  if(memcmp(ba1,ba2+i,sizeof(bdaddr_t))==0){\r
+       return(i);\r
+     };\r
+  };\r
+  return(-1);\r
+};\r
+\r
+\r
+\r
+\r
+#ifdef BTH_LX\r
+\r
+\r
+static inline uint16_t __cpu_to_le16(uint16_t value)\r
+{\r
+  uint16_t pomoc=0;\r
+  pomoc=(value<<8)&0xff00;\r
+  value=(value>>8)&0x00ff;\r
+  return(value|pomoc);\r
+};\r
+\r
+static inline uint16_t __cpu_to_be16(uint16_t value)\r
+{\r
+  uint16_t pomoc=0;\r
+  pomoc=(value<<8)&0xff00;\r
+  value=(value>>8)&0x00ff;\r
+  return(value|pomoc);\r
+};\r
+\r
+static inline void store_le16(void *address, uint16_t value) //for u16 big endian\r
+{\r
+  uint16_t be;\r
+  be = __cpu_to_le16(value);\r
+//  be = htobs(value);\r
+  memcpy(address, &be, sizeof(uint16_t));\r
+}\r
+\r
+static inline void store_be16(void *address, uint16_t value) //for u16 big endian\r
+ {\r
+   uint16_t be;\r
+   be = __cpu_to_be16(value);\r
+   memcpy(address, &be, sizeof(uint16_t));\r
+ }\r
+\r
\r
+ static inline void __bthtomc16(void *address, void *value)\r
+ {\r
+   memcpy(address, value+1, 1);\r
+   memcpy((uint8_t*)address+1, (uint8_t*)value, 1);\r
+ };\r
+\r
+\r
+#else\r
+static inline uint16_t __cpu_to_le16(uint16_t value)\r
+{\r
+  uint16_t pomoc=0;\r
+  return(value|pomoc);\r
+};\r
+\r
+\r
+static inline uint16_t __cpu_to_be16(uint16_t value)\r
+{\r
+  uint16_t pomoc=0;\r
+  pomoc=(value<<8)&0xff00;\r
+  value=(value>>8)&0x00ff;\r
+  return(value|pomoc);\r
+};\r
+\r
+static inline void store_le16(void *address, uint16_t value) //pro u16 s vyuzitim bigindianu\r
+{\r
+  uint16_t be;\r
+  be = __cpu_to_le16(value);\r
+//  be = htobs(value);\r
+  memcpy(address, &be, sizeof(uint16_t));\r
+}\r
+\r
+static inline void store_be16(void *address, uint16_t value) //pro u16 s vyuzitim bigindianu\r
+ {\r
+   uint16_t be;\r
+   be = __cpu_to_le16(value);\r
+   memcpy(address, &be, sizeof(uint16_t));\r
+ }\r
+\r
+ static inline void __bthtomc16(void *address, void *value)\r
+ {\r
+//   (uint16_t*)address=(uint16_t)*(uint16_t*)value;\r
+   memcpy(address, value, 2);\r
+//   memcpy((uint8_t*)address+1, (uint8_t*)value, 1);\r
+ };\r
+\r
+\r
+#endif\r
+\r
+/********************************************************************/\r
+/********************************************************************/\r
+/********************************************************************/\r
+/********************************************************************/\r
+/********************************************************************/\r
+/********************************************************************/\r
+/********************************************************************/\r
+// ------------- COMMAND COMPLETE EVENT ---------------------------/\r
+\r
+int cmd_ev_none(uint8_t *bth_p, uint8_t size);\r
+/********************************************************************/\r
+/***********************   OGF = 0x01    ****************************/\r
+/*-------------------LINK CONTROL COMMANDS--------------------------*/\r
+/********************************************************************/\r
+int cmd_ev_01x000b(uint8_t *bth_p, uint8_t size);\r
+int cmd_ev_01x000d(uint8_t *bth_p, uint8_t size);\r
+int cmd_ev_01x000e(uint8_t *bth_p, uint8_t size);\r
+\r
+/********************************************************************/\r
+/***********************   OGF = 0x02    ****************************/\r
+/*-------------------LINK POLICY COMMANDS--------------------------*/\r
+/********************************************************************/\r
+int cmd_ev_02x0009(uint8_t *bth_p, uint8_t size);\r
+int cmd_ev_02x000C(uint8_t *bth_p, uint8_t size);\r
+int cmd_ev_02x000D(uint8_t *bth_p, uint8_t size);\r
+\r
+/********************************************************************/\r
+/***********************   OGF = 0x03    ****************************/\r
+/*--------------HOST CONTROLLER & BASEBAND COMMANDS-----------------*/\r
+/********************************************************************/\r
+int cmd_ev_03x0008(uint8_t *bth_p, uint8_t size);\r
+int cmd_ev_03x0009(uint8_t *bth_p, uint8_t size);\r
+int cmd_ev_03x000d(uint8_t *bth_p, uint8_t size);\r
+int cmd_ev_03x0011(uint8_t *bth_p, uint8_t size);\r
+int cmd_ev_03x0012(uint8_t *bth_p, uint8_t size);\r
+int cmd_ev_03x0014(uint8_t *bth_p, uint8_t size);\r
+int cmd_ev_03x0015(uint8_t *bth_p, uint8_t size);\r
+int cmd_ev_03x0017(uint8_t *bth_p, uint8_t size);\r
+int cmd_ev_03x0019(uint8_t *bth_p, uint8_t size);\r
+int cmd_ev_03x001b(uint8_t *bth_p, uint8_t size);\r
+int cmd_ev_03x001d(uint8_t *bth_p, uint8_t size);\r
+int cmd_ev_03x001f(uint8_t *bth_p, uint8_t size);\r
+int cmd_ev_03x0021(uint8_t *bth_p, uint8_t size);\r
+int cmd_ev_03x0023(uint8_t *bth_p, uint8_t size);\r
+int cmd_ev_03x0025(uint8_t *bth_p, uint8_t size);\r
+int cmd_ev_03x0027(uint8_t *bth_p, uint8_t size);\r
+int cmd_ev_03x0028(uint8_t *bth_p, uint8_t size);\r
+int cmd_ev_03x0029(uint8_t *bth_p, uint8_t size);\r
+int cmd_ev_03x002b(uint8_t *bth_p, uint8_t size);\r
+int cmd_ev_03x002d(uint8_t *bth_p, uint8_t size);\r
+int cmd_ev_03x002e(uint8_t *bth_p, uint8_t size);\r
+int cmd_ev_03x0036(uint8_t *bth_p, uint8_t size);\r
+int cmd_ev_03x0037(uint8_t *bth_p, uint8_t size);\r
+int cmd_ev_03x0038(uint8_t *bth_p, uint8_t size);\r
+int cmd_ev_03x0039(uint8_t *bth_p, uint8_t size);\r
+int cmd_ev_03x003b(uint8_t *bth_p, uint8_t size);\r
+int cmd_ev_03x003d(uint8_t *bth_p, uint8_t size);\r
+\r
+/********************************************************************/\r
+/***********************   OGF = 0x04    ****************************/\r
+/*-------------------INFORMATIONAL PARAMETERS-----------------------*/\r
+/********************************************************************/\r
+int cmd_ev_04x0001(uint8_t *bth_p, uint8_t size);\r
+int cmd_ev_04x0003(uint8_t *bth_p, uint8_t size);\r
+int cmd_ev_04x0005(uint8_t *bth_p, uint8_t size);\r
+int cmd_ev_04x0007(uint8_t *bth_p, uint8_t size);\r
+int cmd_ev_04x0009(uint8_t *bth_p, uint8_t size);\r
+\r
+\r
+#endif\r