nRF Connect SDK Bare Metal API 2.0.99
Loading...
Searching...
No Matches
le_oob_rec.h
1/*
2 * Copyright (c) 2019 Nordic Semiconductor ASA
3 *
4 * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5 */
6
7#ifndef BM_NFC_NDEF_LE_OOB_REC_H_
8#define BM_NFC_NDEF_LE_OOB_REC_H_
9
18#include <stddef.h>
19#include <errno.h>
20#include <bm/nfc/ndef/record.h>
21#include <bm/nfc/ndef/payload_type_common.h>
22#include <ble_gap.h>
23
24#ifdef __cplusplus
25extern "C" {
26#endif
27
29#define NFC_NDEF_LE_OOB_REC_TK_LEN 16
30
52
57#define NFC_NDEF_LE_OOB_REC_APPEARANCE(value) ((uint16_t[]){value})
58
63#define NFC_NDEF_LE_OOB_REC_FLAGS(value) ((uint8_t[]){value})
64
69#define NFC_NDEF_LE_OOB_REC_LE_ROLE(value) ((enum nfc_ndef_le_oob_rec_le_role[]){value})
70
76 ble_gap_addr_t *addr;
77
83
85 ble_gap_lesc_oob_data_t *le_sc_data;
86
91 uint8_t *tk_value;
92
97 uint16_t *appearance;
98
103 uint8_t *flags;
104
106 const char *local_name;
107};
108
129 const struct nfc_ndef_le_oob_rec_payload_desc *payload_desc, uint8_t *buff, uint32_t *len);
130
146#define NFC_NDEF_LE_OOB_RECORD_DESC_DEF(name, payload_id, payload_desc) \
147 const uint8_t name##_nfc_ndef_le_oob_rec_id = (payload_id); \
148 const uint8_t name##_nfc_ndef_le_oob_rec_id_len = ((payload_id) != 0) ? 1 : 0; \
149 NFC_NDEF_GENERIC_RECORD_DESC_DEF(name, TNF_MEDIA_TYPE, &name##_nfc_ndef_le_oob_rec_id, \
150 name##_nfc_ndef_le_oob_rec_id_len, \
151 (nfc_ndef_le_oob_rec_type_field), \
152 sizeof(nfc_ndef_le_oob_rec_type_field), \
153 nfc_ndef_le_oob_rec_payload_constructor, (payload_desc))
154
160#define NFC_NDEF_LE_OOB_RECORD_DESC(NAME) NFC_NDEF_GENERIC_RECORD_DESC(NAME)
161
162#ifdef __cplusplus
163}
164#endif
165
168#endif /* BM_NFC_NDEF_LE_OOB_REC_H_ */
nfc_ndef_le_oob_rec_le_role
LE role options.
Definition le_oob_rec.h:34
@ NFC_NDEF_LE_OOB_REC_LE_ROLE_PERIPH_PREFFERED
Definition le_oob_rec.h:43
@ NFC_NDEF_LE_OOB_REC_LE_ROLE_PERIPH_ONLY
Definition le_oob_rec.h:36
@ NFC_NDEF_LE_OOB_REC_LE_ROLE_CENTRAL_PREFFERED
Definition le_oob_rec.h:48
@ NFC_NDEF_LE_OOB_REC_LE_ROLE_OPTIONS_NUM
Definition le_oob_rec.h:50
@ NFC_NDEF_LE_OOB_REC_LE_ROLE_CENTRAL_ONLY
Definition le_oob_rec.h:38
int nfc_ndef_le_oob_rec_payload_constructor(const struct nfc_ndef_le_oob_rec_payload_desc *payload_desc, uint8_t *buff, uint32_t *len)
Construct the payload for a Bluetooth Carrier Configuration LE Record.
ble_gap_addr_t * addr
Pointer to a local Bluetooth device address.
Definition le_oob_rec.h:76
const char * local_name
Pointer to a local name string of the Bluetooth device.
Definition le_oob_rec.h:106
ble_gap_lesc_oob_data_t * le_sc_data
Pointer to a local device LE Secure Connections OOB data.
Definition le_oob_rec.h:85
uint8_t * tk_value
Pointer to a Temporary Key value.
Definition le_oob_rec.h:91
enum nfc_ndef_le_oob_rec_le_role * le_role
Role of the Blutetooth device.
Definition le_oob_rec.h:82
uint16_t * appearance
Pointer to a Bluetooth device appearance.
Definition le_oob_rec.h:97
uint8_t * flags
Pointer to Flags value.
Definition le_oob_rec.h:103
LE OOB record payload descriptor.
Definition le_oob_rec.h:74