nfc_ndef_record_desc_t * nfc_ep_oob_rec_declare(uint8_t rec_payload_id, ble_advdata_t const * const p_ble_advdata) { static uint8_t payload_id = 0; NFC_NDEF_GENERIC_RECORD_DESC_DEF( nfc_ep_oob_rec, TNF_MEDIA_TYPE, &payload_id, // memory for possible ID value 0, // no ID by default (ep_oob_rec_type_field), sizeof(ep_oob_rec_type_field), nfc_ep_oob_payload_constructor, NULL); nfc_ndef_record_desc_t * nfc_ep_oob_rec = &NFC_NDEF_GENERIC_RECORD_DESC( nfc_ep_oob_rec); /* Update record descriptor */ nfc_ep_oob_rec->p_payload_descriptor = (void *) p_ble_advdata; /* Handle record ID configuration */ payload_id = rec_payload_id; nfc_ep_oob_rec->id_length = (rec_payload_id != 0) ? 1 : 0; return nfc_ep_oob_rec; }
nfc_ndef_record_desc_t * nfc_uri_rec_declare( nfc_uri_id_t uri_id_code, uint8_t const * const p_uri_data, uint8_t uri_data_len) { static uri_payload_desc_t uri_payload_desc; static const uint8_t static_uri_type = 'U'; NFC_NDEF_GENERIC_RECORD_DESC_DEF( uri_rec, TNF_WELL_KNOWN, // tnf <- well-known NULL, 0, // no id &static_uri_type, 1, // type size 1B nfc_uri_payload_constructor, &uri_payload_desc); uri_payload_desc.uri_id_code = uri_id_code; uri_payload_desc.p_uri_data = p_uri_data; uri_payload_desc.uri_data_len = uri_data_len; return &NFC_NDEF_GENERIC_RECORD_DESC( uri_rec); }