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!
PN532/munfc/ndef/appnearme_ndef_tlv.h@11:5be631376e5b, 2012-11-07 (annotated)
- Committer:
- AppNearMe
- Date:
- Wed Nov 07 18:19:09 2012 +0000
- Revision:
- 11:5be631376e5b
Updated library
Who changed what in which revision?
User | Revision | Line number | New 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_ */ |