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

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers appnearme_ndef_tlv.h Source File

appnearme_ndef_tlv.h

00001 /*
00002     appnearme_ndef_tlv.h 
00003   Copyright (c) Donatien Garnier 2012
00004   donatien.garnier@appnearme.com
00005   http://www.appnearme.com/
00006 */
00007 
00008 #ifndef APPNEARME_NDEF_TLV_H_
00009 #define APPNEARME_NDEF_TLV_H_
00010 
00011 #ifdef __cplusplus
00012 extern "C" {
00013 #endif
00014 
00015 #include "core/fwk.h"
00016 #include "core/buffer.h"
00017 
00018 typedef enum __tlv_type
00019 {
00020   UINT8,
00021   UINT32,
00022   UINT8_ARRAY,
00023   STRING,
00024   NONE, //End of packet
00025   UNKNOWN
00026 } tlv_type;
00027 
00028 typedef struct __tlv_list
00029 {
00030   buffer* buf;
00031   size_t pos;
00032   //bool writer_nreader;
00033 } tlv_list;
00034 
00035 void appnearme_ndef_tlv_byref(tlv_list* pList, buffer* pBuf/*, bool writer_nreader*/);
00036 
00037 tlv_type appnearme_ndef_tlv_next_type(tlv_list* pList);
00038 
00039 uint8_t appnearme_ndef_tlv_get_uint8(tlv_list* pList);
00040 
00041 uint32_t appnearme_ndef_tlv_get_uint32(tlv_list* pList);
00042 
00043 size_t appnearme_ndef_tlv_get_array_length(tlv_list* pList);
00044 
00045 uint8_t* appnearme_ndef_tlv_get_array(tlv_list* pList);
00046 
00047 size_t appnearme_ndef_tlv_get_string_length(tlv_list* pList);
00048 
00049 char* appnearme_ndef_tlv_get_string(tlv_list* pList);
00050 
00051 int appnearme_ndef_tlv_put_uint8(tlv_list* pList, uint8_t b); //-1 if no space left
00052 
00053 int appnearme_ndef_tlv_put_uint32(tlv_list* pList, uint32_t b);
00054 
00055 int appnearme_ndef_tlv_put_array(tlv_list* pList, uint8_t* data, size_t len);
00056 
00057 int appnearme_ndef_tlv_put_string(tlv_list* pList, char* str);
00058 
00059 #ifdef __cplusplus
00060 }
00061 #endif
00062 
00063 #endif /* APPNEARME_NDEF_TLV_H_ */