1 /* 2 * Copyright (c) 2021 Chipsea Technologies (Shenzhen) Corp., Ltd. All rights reserved. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 #ifndef _BLE_IP_TASK_H 17 #define _BLE_IP_TASK_H 18 19 // Link Layer Tasks 20 #define TASK_ID_LLM (0) 21 #define TASK_ID_LLC (1) 22 #define TASK_ID_LLD (2) 23 #define TASK_ID_LLI (3) 24 #define TASK_ID_DBG (4) 25 26 // BT Controller Tasks 27 #define TASK_ID_LM (5) 28 #define TASK_ID_LC (6) 29 #define TASK_ID_LB (7) 30 #define TASK_ID_LD (8) 31 32 #define TASK_ID_L2CC (10) 33 #define TASK_ID_GATTM (11) 34 #define TASK_ID_GATTC (12) 35 #define TASK_ID_GAPM (13) 36 #define TASK_ID_GAPC (14) 37 #define TASK_ID_APP (15) 38 39 #define TASK_ID_AHI (16) 40 #define TASK_ID_HCI (17) 41 #define TASK_ID_DISPLAY (19) 42 43 #define TASK_ID_DISS (20) 44 #define TASK_ID_DISC (21) 45 #define TASK_ID_PROXM (22) 46 #define TASK_ID_PROXR (23) 47 #define TASK_ID_FINDL (24) 48 #define TASK_ID_FINDT (25) 49 #define TASK_ID_HTPC (26) 50 #define TASK_ID_HTPT (27) 51 #define TASK_ID_BLPS (28) 52 #define TASK_ID_BLPC (29) 53 #define TASK_ID_HRPS (30) 54 #define TASK_ID_HRPC (31) 55 #define TASK_ID_TIPS (32) 56 #define TASK_ID_TIPC (33) 57 #define TASK_ID_SCPPS (34) 58 #define TASK_ID_SCPPC (35) 59 #define TASK_ID_BASS (36) 60 #define TASK_ID_BASC (37) 61 #define TASK_ID_HOGPD (38) 62 #define TASK_ID_HOGPBH (39) 63 #define TASK_ID_HOGPRH (40) 64 #define TASK_ID_GLPS (41) 65 #define TASK_ID_GLPC (42) 66 #define TASK_ID_RSCPS (43) 67 #define TASK_ID_RSCPC (44) 68 #define TASK_ID_CSCPS (45) 69 #define TASK_ID_CSCPC (46) 70 #define TASK_ID_ANPS (47) 71 #define TASK_ID_ANPC (48) 72 #define TASK_ID_PASPS (49) 73 #define TASK_ID_PASPC (50) 74 #define TASK_ID_CPPS (51) 75 #define TASK_ID_CPPC (52) 76 #define TASK_ID_LANS (53) 77 #define TASK_ID_LANC (54) 78 #define TASK_ID_IPSS (55) 79 #define TASK_ID_IPSC (56) 80 #define TASK_ID_ENVS (57) 81 #define TASK_ID_ENVC (58) 82 #define TASK_ID_WSCS (59) 83 #define TASK_ID_WSCC (60) 84 #define TASK_ID_UDSS (61) 85 #define TASK_ID_UDSC (62) 86 #define TASK_ID_BCSS (63) 87 #define TASK_ID_BCSC (64) 88 #define TASK_ID_SMARTCONFIG (66) 89 #define TASK_ID_AM0 (240) 90 #define TASK_ID_AM0_HAS (241) 91 #define TASK_ID_INVALID (0xFF) 92 93 /// Build the first message ID of a task. (in fact a ke_msg_id_t) 94 #define TASK_FIRST_MSG(task) ((uint16_t)((task) << 8)) 95 96 /// Builds the task identifier from the type and the index of that task. 97 #define TASK_BUILD(type, index) ((uint16_t)(((index) << 8)|(type)) ) 98 99 /// Retrieves task type from task id. 100 #define TASK_TYPE_GET(ke_task_id) (((uint16_t)ke_task_id) & 0xFF) 101 102 /// Retrieves task index number from task id. 103 #define TASK_IDX_GET(ke_task_id) ((((uint16_t)ke_task_id) >> 8) & 0xFF) 104 105 #endif // _BLE_IP_TASK_H 106