MXC-A36_2024.04.17/MXC-Screen_display/components/btdm/include/sdp_api.h

78 lines
2.5 KiB
C
Raw Normal View History

2024-02-28 16:45:49 +08:00
#ifndef __SDP_API_H
#define __SDP_API_H
#include "bt_types.h"
#include "me_api.h"
typedef uint16_t SdpAttributeId;
/*---------------------------------------------------------------------------
* SdpAttribute structure
*
* Defines an attribute's ID and value. SdpAttribute structures
* are stored in a SdpRecord prior to calling the SDP_AddRecord
* function.
*/
typedef struct _SdpAttribute
{
SdpAttributeId id; /* Attribute ID. */
uint16_t len; /* Length of the value buffer */
const uint8_t *value; /* An array of bytes that contains the value
* of the attribute. The buffer is in
* Data Element form (see SdpDataElemType
* and SdpDataElemSize).
*/
/* Group: The following field is for internal use only */
uint16_t flags;
} SdpAttribute;
/*---------------------------------------------------------------------------
* SdpRecord structure
*
* Defines the contents of a service record. Service records are
* initialized and provided to SDP_AddRecord.
*/
typedef struct _SdpRecord
{
ListEntry node; /* For internal use only. */
uint8_t num; /* Total number of attributes in "attribs". */
/* Pointer to an array of attributes.
*
* Store the attributes in ascending order by attribute ID, and
* do not add two attributes with the same ID.
*
* Do not include an AID_SERVICE_RECORD_HANDLE attribute. This
* attribute is handled automatically by SDP.
*/
SdpAttribute *attribs;
/* The service class fields of the class of device. Use the values defined
* in me.h. The device class portion is ignored.
*/
BtClassOfDevice classOfDevice;
/* Group: The following fields are for internal use only. */
uint32_t handle; /* Service Record Handle */
uint32_t recordState; /* Service Record State */
uint16_t flags; /* Flag to keep track of marked attributes */
uint16_t handleFlag; /* Flag to keep track of service record handle */
uint16_t stateFlag; /* Flag to keep track of service record state */
} SdpRecord;
typedef struct
{
uint8_t *sdpatt_table;
uint8_t *sdpdeviceId_table;
uint16_t att_table_size;
uint16_t deviceId_size;
}sdp_AttTable_Info_t;
#endif