oi_modules.h 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. /******************************************************************************
  2. *
  3. * Copyright (C) 2014 The Android Open Source Project
  4. * Copyright 2002 - 2004 Open Interface North America, Inc. All rights reserved.
  5. *
  6. * Licensed under the Apache License, Version 2.0 (the "License");
  7. * you may not use this file except in compliance with the License.
  8. * You may obtain a copy of the License at:
  9. *
  10. * http://www.apache.org/licenses/LICENSE-2.0
  11. *
  12. * Unless required by applicable law or agreed to in writing, software
  13. * distributed under the License is distributed on an "AS IS" BASIS,
  14. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  15. * See the License for the specific language governing permissions and
  16. * limitations under the License.
  17. *
  18. ******************************************************************************/
  19. #ifndef _OI_MODULES_H
  20. #define _OI_MODULES_H
  21. /**
  22. * @file
  23. *
  24. * Enumeration type defining the inidivual stack components.
  25. *
  26. */
  27. /**********************************************************************************
  28. $Revision: #1 $
  29. ***********************************************************************************/
  30. /** \addtogroup Misc Miscellaneous APIs */
  31. /**@{*/
  32. #ifdef __cplusplus
  33. extern "C" {
  34. #endif
  35. /**
  36. * This enumeration lists constants for referencing the components of
  37. * the BLUEmagic 3.0 protocol stack, profiles, and other functionalities.
  38. *
  39. * In order to distinguish types of modules, items are grouped with markers to
  40. * delineate start and end of the groups
  41. *
  42. * The module type is used for various purposes:
  43. * identification in debug print statements
  44. * access to initialization flags
  45. * access to the configuration table
  46. */
  47. typedef enum {
  48. /* profiles and protocols --> Updates to oi_debug.c and oi_config_table.c */
  49. /* XX --> Keep Enum values up-to-date! */
  50. OI_MODULE_AT, /**< 00 AT command processing */
  51. OI_MODULE_A2DP, /**< 01 Advanced Audio Distribution Profile */
  52. OI_MODULE_AVCTP, /**< 02 Audio-Visual Control Transport Profile */
  53. OI_MODULE_AVDTP, /**< 03 Audio-Visual Distribution Protocol */
  54. OI_MODULE_AVRCP, /**< 04 Audio-Visual Remote Control Profile */
  55. OI_MODULE_BIP_CLI, /**< 05 Basic Imaging Profile protocol client */
  56. OI_MODULE_BIP_SRV, /**< 06 Basic Imaging Profile protocol server */
  57. OI_MODULE_BNEP, /**< 07 Bluetooth Network Encapsulation Protocol */
  58. OI_MODULE_BPP_SENDER, /**< 08 Basic Printing Profile */
  59. OI_MODULE_BPP_PRINTER, /**< 09 Basic Printing Profile */
  60. OI_MODULE_CTP, /**< 10 Cordless Telephony Profile */
  61. OI_MODULE_DUN, /**< 11 Dial-Up Networking Profile */
  62. OI_MODULE_FAX, /**< 12 Fax Profile */
  63. OI_MODULE_FTP_CLI, /**< 13 File Transfer Profile protocol client */
  64. OI_MODULE_FTP_SRV, /**< 14 File Transfer Profile protocol server */
  65. OI_MODULE_HANDSFREE, /**< 15 Hands-Free Profile */
  66. OI_MODULE_HANDSFREE_AG, /**< 16 Hands-Free Profile */
  67. OI_MODULE_HCRP_CLI, /**< 17 Hardcopy Cable Replacement Profile */
  68. OI_MODULE_HCRP_SRV, /**< 18 Hardcopy Cable Replacement Profile */
  69. OI_MODULE_HEADSET, /**< 19 Headset Profile */
  70. OI_MODULE_HEADSET_AG, /**< 20 Headset Profile */
  71. OI_MODULE_HID, /**< 21 Human Interface Device profile */
  72. OI_MODULE_INTERCOM, /**< 22 Intercom Profile */
  73. OI_MODULE_OBEX_CLI, /**< 23 OBEX protocol client, Generic Object Exchange Profile */
  74. OI_MODULE_OBEX_SRV, /**< 24 OBEX protocol server, Generic Object Exchange Profile */
  75. OI_MODULE_OPP_CLI, /**< 25 Object Push Profile protocol client */
  76. OI_MODULE_OPP_SRV, /**< 26 Object Push Profile protocol server */
  77. OI_MODULE_PAN, /**< 27 PAN profile */
  78. OI_MODULE_PBAP_CLI, /**< 28 Phonebook Access Profile client */
  79. OI_MODULE_PBAP_SRV, /**< 29 Phonebook Access Profile server */
  80. OI_MODULE_SAP_CLI, /**< 30 SIM Access Profile */
  81. OI_MODULE_SAP_SRV, /**< 31 SIM Access Profile */
  82. OI_MODULE_SPP, /**< 32 Serial Port Profile */
  83. OI_MODULE_SYNC_CLI, /**< 33 Synchronization Profile */
  84. OI_MODULE_SYNC_SRV, /**< 34 Synchronization Profile */
  85. OI_MODULE_SYNC_CMD_CLI, /**< 35 Synchronization Profile */
  86. OI_MODULE_SYNC_CMD_SRV, /**< 36 Synchronization Profile */
  87. OI_MODULE_SYNCML, /**< 37 SyncML Profile */
  88. OI_MODULE_TCS, /**< 38 TCS Binary */
  89. OI_MODULE_VDP, /**< 39 Video Distribution Profile */
  90. /* corestack components --> Updates to oi_debug.c and oi_config_table.c */
  91. OI_MODULE_COMMON_CONFIG, /**< 40 Common configuration, module has no meaning other than for config struct */
  92. OI_MODULE_CMDCHAIN, /**< 41 Command chaining utility */
  93. OI_MODULE_DISPATCH, /**< 42 Dispatcher */
  94. OI_MODULE_DATAELEM, /**< 43 Data Elements, marshaller */
  95. OI_MODULE_DEVMGR, /**< 44 Device Manager */
  96. OI_MODULE_DEVMGR_MODES, /**< 45 Device Manager connectability/discoverability modes */
  97. OI_MODULE_HCI, /**< 46 Host Controller Interface command layer */
  98. OI_MODULE_L2CAP, /**< 47 L2CAP */
  99. OI_MODULE_MEMMGR, /**< 48 modules that do memory management */
  100. OI_MODULE_POLICYMGR, /**< 49 Policy Manager */
  101. OI_MODULE_RFCOMM, /**< 50 RFCOMM */
  102. OI_MODULE_RFCOMM_SD, /**< 51 RFCOMM Service discovery */
  103. OI_MODULE_SDP_CLI, /**< 52 Service Discovery Protocol client */
  104. OI_MODULE_SDP_SRV, /**< 53 Service Discovery Protocol server */
  105. OI_MODULE_SDPDB, /**< 54 Service Discovery Protocol database */
  106. OI_MODULE_SECMGR, /**< 55 Security Manager */
  107. OI_MODULE_SNIFFLOG, /**< 56 sniff log */
  108. OI_MODULE_SUPPORT, /**< 57 support functions, including CThru Dispatcher, time functions, and stack initialization */
  109. OI_MODULE_TRANSPORT, /**< 58 transport layer between HCI command layer and driver */
  110. OI_MODULE_TEST, /**< 59 used to debug output from internal test programs */
  111. OI_MODULE_XML, /**< 60 XML/CSS parser */
  112. OI_MODULE_DI, /**< 61 Device Identification Profile */
  113. // bhapi components --> Updates to oi_debug.c
  114. OI_MODULE_BHAPI, /**< 62 BLUEmagic Host API generic */
  115. OI_MODULE_BHCLI, /**< 63 BLUEmagic Host API client side */
  116. OI_MODULE_BHSRV, /**< 64 BLUEmagic Host API server side */
  117. OI_MODULE_MSGQ, /**< 65 module that handles message queuing */
  118. OI_MODULE_BHAPI_TRANSPORT, /**< 66 module that handles message queuing */
  119. OI_MODULE_BLST_SRV, /**< 67 module that provides server side BHAPI Lightweight Serial Transport */
  120. OI_MODULE_BLST_CLI, /**< 68 module that provides client side BHAPI Lightweight Serial Transport */
  121. // OEM files --> Updates to oi_debug.c
  122. OI_MODULE_OEM, /**< 69 Application Memory allocation */
  123. // Application glue --> Updates to oi_debug.c
  124. OI_MODULE_APP, /**< 70 Application Memory allocation */
  125. /* various pieces of code depend on these last 2 elements occuring in a specific order:
  126. OI_MODULE_ALL must be the 2nd to last element
  127. OI_MODULE_UNKNOWN must be the last element
  128. */
  129. OI_MODULE_ALL, /**< 71 special value identifying all modules - used for control of debug print statements */
  130. OI_MODULE_UNKNOWN /**< 72 special value - used for debug print statements */
  131. } OI_MODULE;
  132. /**
  133. * This constant is the number of actual modules in the list. ALL and UNKNOWN are
  134. * special values that are not actually modules.
  135. * Used for debug print and memmgr profiling
  136. */
  137. #define OI_NUM_MODULES OI_MODULE_ALL
  138. /**
  139. * This constant is the number of profile and core components. It is used to size
  140. * the initialization and configuration tables.
  141. */
  142. #define OI_NUM_STACK_MODULES OI_MODULE_BHAPI
  143. #ifdef __cplusplus
  144. }
  145. #endif
  146. /**@}*/
  147. #endif /* _OI_MODULES_H */