AppNearMe µNFC stack for the NXP PN532 chip License: You can use the stack free of charge to prototype with mbed; if you want to use the stack with your commercial product, get in touch!

Dependents:   IOT_sensor_nfc AppNearMe_MuNFC_PN532_Test p2p_nfc_test NFCMoodLamp ... more

License

You can use the stack free of charge to prototype with mbed; if you want to use the stack with your commercial product, get in touch!

Committer:
AppNearMe
Date:
Wed Nov 07 18:19:09 2012 +0000
Revision:
11:5be631376e5b
Updated library

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AppNearMe 11:5be631376e5b 1 /*
AppNearMe 11:5be631376e5b 2 appnearme_ndef_tlv.h
AppNearMe 11:5be631376e5b 3 Copyright (c) Donatien Garnier 2012
AppNearMe 11:5be631376e5b 4 donatien.garnier@appnearme.com
AppNearMe 11:5be631376e5b 5 http://www.appnearme.com/
AppNearMe 11:5be631376e5b 6 */
AppNearMe 11:5be631376e5b 7
AppNearMe 11:5be631376e5b 8 #ifndef APPNEARME_NDEF_TLV_H_
AppNearMe 11:5be631376e5b 9 #define APPNEARME_NDEF_TLV_H_
AppNearMe 11:5be631376e5b 10
AppNearMe 11:5be631376e5b 11 #ifdef __cplusplus
AppNearMe 11:5be631376e5b 12 extern "C" {
AppNearMe 11:5be631376e5b 13 #endif
AppNearMe 11:5be631376e5b 14
AppNearMe 11:5be631376e5b 15 #include "core/fwk.h"
AppNearMe 11:5be631376e5b 16 #include "core/buffer.h"
AppNearMe 11:5be631376e5b 17
AppNearMe 11:5be631376e5b 18 typedef enum __tlv_type
AppNearMe 11:5be631376e5b 19 {
AppNearMe 11:5be631376e5b 20 UINT8,
AppNearMe 11:5be631376e5b 21 UINT32,
AppNearMe 11:5be631376e5b 22 UINT8_ARRAY,
AppNearMe 11:5be631376e5b 23 STRING,
AppNearMe 11:5be631376e5b 24 NONE, //End of packet
AppNearMe 11:5be631376e5b 25 UNKNOWN
AppNearMe 11:5be631376e5b 26 } tlv_type;
AppNearMe 11:5be631376e5b 27
AppNearMe 11:5be631376e5b 28 typedef struct __tlv_list
AppNearMe 11:5be631376e5b 29 {
AppNearMe 11:5be631376e5b 30 buffer* buf;
AppNearMe 11:5be631376e5b 31 size_t pos;
AppNearMe 11:5be631376e5b 32 //bool writer_nreader;
AppNearMe 11:5be631376e5b 33 } tlv_list;
AppNearMe 11:5be631376e5b 34
AppNearMe 11:5be631376e5b 35 void appnearme_ndef_tlv_byref(tlv_list* pList, buffer* pBuf/*, bool writer_nreader*/);
AppNearMe 11:5be631376e5b 36
AppNearMe 11:5be631376e5b 37 tlv_type appnearme_ndef_tlv_next_type(tlv_list* pList);
AppNearMe 11:5be631376e5b 38
AppNearMe 11:5be631376e5b 39 uint8_t appnearme_ndef_tlv_get_uint8(tlv_list* pList);
AppNearMe 11:5be631376e5b 40
AppNearMe 11:5be631376e5b 41 uint32_t appnearme_ndef_tlv_get_uint32(tlv_list* pList);
AppNearMe 11:5be631376e5b 42
AppNearMe 11:5be631376e5b 43 size_t appnearme_ndef_tlv_get_array_length(tlv_list* pList);
AppNearMe 11:5be631376e5b 44
AppNearMe 11:5be631376e5b 45 uint8_t* appnearme_ndef_tlv_get_array(tlv_list* pList);
AppNearMe 11:5be631376e5b 46
AppNearMe 11:5be631376e5b 47 size_t appnearme_ndef_tlv_get_string_length(tlv_list* pList);
AppNearMe 11:5be631376e5b 48
AppNearMe 11:5be631376e5b 49 char* appnearme_ndef_tlv_get_string(tlv_list* pList);
AppNearMe 11:5be631376e5b 50
AppNearMe 11:5be631376e5b 51 int appnearme_ndef_tlv_put_uint8(tlv_list* pList, uint8_t b); //-1 if no space left
AppNearMe 11:5be631376e5b 52
AppNearMe 11:5be631376e5b 53 int appnearme_ndef_tlv_put_uint32(tlv_list* pList, uint32_t b);
AppNearMe 11:5be631376e5b 54
AppNearMe 11:5be631376e5b 55 int appnearme_ndef_tlv_put_array(tlv_list* pList, uint8_t* data, size_t len);
AppNearMe 11:5be631376e5b 56
AppNearMe 11:5be631376e5b 57 int appnearme_ndef_tlv_put_string(tlv_list* pList, char* str);
AppNearMe 11:5be631376e5b 58
AppNearMe 11:5be631376e5b 59 #ifdef __cplusplus
AppNearMe 11:5be631376e5b 60 }
AppNearMe 11:5be631376e5b 61 #endif
AppNearMe 11:5be631376e5b 62
AppNearMe 11:5be631376e5b 63 #endif /* APPNEARME_NDEF_TLV_H_ */