78 lines
2.5 KiB
C
78 lines
2.5 KiB
C
|
#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
|