1 /****************************************************************************** 2 * 3 * Copyright (C) 2009-2013 Broadcom Corporation 4 * 5 * Licensed under the Apache License, Version 2.0 (the "License"); 6 * you may not use this file except in compliance with the License. 7 * You may obtain a copy of the License at: 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 * 17 ******************************************************************************/ 18 19 #ifndef PROFILES_API_H 20 #define PROFILES_API_H 21 22 #include "common/bt_target.h" 23 #include "stack/btm_api.h" 24 25 /***************************************************************************** 26 ** Constants 27 *****************************************************************************/ 28 #define BT_PASS 0 /* Used for general successful function returns */ 29 30 /*** Port entity passes back 8 bit errors; will use upper byte offset ***/ 31 #define PORT_ERR_GRP 0x0000 /* base offset for port entity */ 32 #define GAP_ERR_GRP 0x0100 /* base offset for GAP profile */ 33 #define SPP_ERR_GRP 0x0200 /* base offset for serial port profile */ 34 #define HCRP_ERR_GRP 0x0300 /* base offset for HCRP */ 35 #define HCRPM_ERR_GRP 0x0400 /* base offset for HCRPM */ 36 37 /* #define HSP2_ERR_GRP 0x0F00 */ 38 39 /* security level definitions (tBT_SECURITY) */ 40 #define BT_USE_DEF_SECURITY 0 41 #define BT_SEC_MODE_NONE BTM_SEC_MODE_NONE 42 #define BT_SEC_MODE_SERVICE BTM_SEC_MODE_SERVICE 43 #define BT_SEC_MODE_LINK BTM_SEC_MODE_LINK 44 45 /* security mask definitions (tBT_SECURITY) */ 46 /* The following definitions are OR'd together to form the security requirements */ 47 #define BT_SEC_IN_AUTHORIZE BTM_SEC_IN_AUTHORIZE /* Inbound call requires authorization */ 48 #define BT_SEC_IN_AUTHENTICATE BTM_SEC_IN_AUTHENTICATE /* Inbound call requires authentication */ 49 #define BT_SEC_IN_ENCRYPT BTM_SEC_IN_ENCRYPT /* Inbound call requires encryption */ 50 #define BT_SEC_OUT_AUTHORIZE BTM_SEC_OUT_AUTHORIZE /* Outbound call requires authorization */ 51 #define BT_SEC_OUT_AUTHENTICATE BTM_SEC_OUT_AUTHENTICATE /* Outbound call requires authentication */ 52 #define BT_SEC_OUT_ENCRYPT BTM_SEC_OUT_ENCRYPT /* Outbound call requires encryption */ 53 54 55 /***************************************************************************** 56 ** Type Definitions 57 *****************************************************************************/ 58 59 /* 60 ** Security Definitions 61 ** This following definitions are used to indicate the security 62 ** requirements for a service. 63 */ 64 typedef struct { 65 UINT8 level; 66 UINT8 mask; 67 } tBT_SECURITY; 68 69 #endif /* PROFILES_API_H */ 70