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/core/buffer.h@11:5be631376e5b, 2012-11-07 (annotated)
- Committer:
- AppNearMe
- Date:
- Wed Nov 07 18:19:09 2012 +0000
- Revision:
- 11:5be631376e5b
- Parent:
- 0:480387549d89
- Child:
- 3:0b949b2d3b55
Updated library
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
AppNearMe | 0:480387549d89 | 1 | /* |
AppNearMe | 0:480387549d89 | 2 | buffer.h |
AppNearMe | 0:480387549d89 | 3 | Copyright (c) Donatien Garnier 2012 |
AppNearMe | 0:480387549d89 | 4 | donatien.garnier@appnearme.com |
AppNearMe | 0:480387549d89 | 5 | http://www.appnearme.com/ |
AppNearMe | 0:480387549d89 | 6 | */ |
AppNearMe | 0:480387549d89 | 7 | |
AppNearMe | 0:480387549d89 | 8 | #ifndef BUFFER_H_ |
AppNearMe | 0:480387549d89 | 9 | #define BUFFER_H_ |
AppNearMe | 0:480387549d89 | 10 | |
AppNearMe | 0:480387549d89 | 11 | #ifdef __cplusplus |
AppNearMe | 0:480387549d89 | 12 | extern "C" { |
AppNearMe | 0:480387549d89 | 13 | #endif |
AppNearMe | 0:480387549d89 | 14 | |
AppNearMe | 0:480387549d89 | 15 | #include "core/fwk.h" |
AppNearMe | 0:480387549d89 | 16 | |
AppNearMe | 0:480387549d89 | 17 | typedef struct __buffer |
AppNearMe | 0:480387549d89 | 18 | { |
AppNearMe | 0:480387549d89 | 19 | uint8_t* bufdata; |
AppNearMe | 0:480387549d89 | 20 | size_t size; |
AppNearMe | 0:480387549d89 | 21 | |
AppNearMe | 0:480387549d89 | 22 | uint8_t* start; |
AppNearMe | 0:480387549d89 | 23 | size_t first_byte_length; //In bits |
AppNearMe | 0:480387549d89 | 24 | |
AppNearMe | 0:480387549d89 | 25 | uint8_t* end; |
AppNearMe | 0:480387549d89 | 26 | size_t last_byte_length; //In bits |
AppNearMe | 0:480387549d89 | 27 | |
AppNearMe | 0:480387549d89 | 28 | struct __buffer* next; |
AppNearMe | 0:480387549d89 | 29 | |
AppNearMe | 0:480387549d89 | 30 | } buffer; |
AppNearMe | 0:480387549d89 | 31 | |
AppNearMe | 0:480387549d89 | 32 | void buffer_init(buffer* pBuf, uint8_t* bufdata, size_t size); |
AppNearMe | 0:480387549d89 | 33 | |
AppNearMe | 0:480387549d89 | 34 | void buffer_byref(buffer* pBuf, uint8_t* bufdata, size_t length); //New buffer by ref on a size_t array, no malloc (useful on PIC for instance) |
AppNearMe | 0:480387549d89 | 35 | |
AppNearMe | 0:480387549d89 | 36 | buffer* buffer_new(size_t size); //malloc |
AppNearMe | 0:480387549d89 | 37 | |
AppNearMe | 0:480387549d89 | 38 | uint8_t* buffer_data(buffer* pBuf); |
AppNearMe | 0:480387549d89 | 39 | |
AppNearMe | 0:480387549d89 | 40 | void buffer_reset(buffer* pBuf); |
AppNearMe | 0:480387549d89 | 41 | |
AppNearMe | 0:480387549d89 | 42 | size_t buffer_size(buffer* pBuf); |
AppNearMe | 0:480387549d89 | 43 | |
AppNearMe | 0:480387549d89 | 44 | size_t buffer_length(buffer* pBuf); |
AppNearMe | 0:480387549d89 | 45 | |
AppNearMe | 0:480387549d89 | 46 | bool buffer_empty(buffer* pBuf); |
AppNearMe | 0:480387549d89 | 47 | |
AppNearMe | 0:480387549d89 | 48 | void buffer_set_length(buffer* pBuf, size_t length); |
AppNearMe | 0:480387549d89 | 49 | |
AppNearMe | 0:480387549d89 | 50 | size_t buffer_last_byte_length(buffer* pBuf); |
AppNearMe | 0:480387549d89 | 51 | |
AppNearMe | 0:480387549d89 | 52 | void buffer_set_last_byte_length(buffer* pBuf, size_t length); |
AppNearMe | 0:480387549d89 | 53 | |
AppNearMe | 0:480387549d89 | 54 | size_t buffer_bits_count(buffer* pBuf); |
AppNearMe | 0:480387549d89 | 55 | |
AppNearMe | 0:480387549d89 | 56 | void buffer_write_byte(buffer* pBuf, uint8_t b); |
AppNearMe | 0:480387549d89 | 57 | |
AppNearMe | 0:480387549d89 | 58 | void buffer_write_bit(buffer* pBuf, uint8_t b); |
AppNearMe | 0:480387549d89 | 59 | |
AppNearMe | 0:480387549d89 | 60 | #if 0 |
AppNearMe | 0:480387549d89 | 61 | size_t buffer_read_byte(buffer* pBuf, uint8_t b); |
AppNearMe | 0:480387549d89 | 62 | |
AppNearMe | 0:480387549d89 | 63 | size_t buffer_read_bit(buffer* pBuf, uint8_t b); |
AppNearMe | 0:480387549d89 | 64 | #endif |
AppNearMe | 0:480387549d89 | 65 | |
AppNearMe | 0:480387549d89 | 66 | buffer* buffer_next(buffer* pBuf); |
AppNearMe | 0:480387549d89 | 67 | |
AppNearMe | 0:480387549d89 | 68 | void buffer_set_next(buffer* pBuf, buffer* pNextBuf); |
AppNearMe | 0:480387549d89 | 69 | |
AppNearMe | 0:480387549d89 | 70 | void buffer_append(buffer* pBuf, buffer* pAppBuf); |
AppNearMe | 0:480387549d89 | 71 | |
AppNearMe | 0:480387549d89 | 72 | void buffer_unlink(buffer* pBuf, buffer* pLinkedBuf); |
AppNearMe | 0:480387549d89 | 73 | |
AppNearMe | 0:480387549d89 | 74 | size_t buffer_total_size(buffer* pBuf); |
AppNearMe | 0:480387549d89 | 75 | |
AppNearMe | 0:480387549d89 | 76 | size_t buffer_total_length(buffer* pBuf); |
AppNearMe | 0:480387549d89 | 77 | |
AppNearMe | 0:480387549d89 | 78 | void buffer_set_total_length(buffer* pBuf, size_t length); |
AppNearMe | 0:480387549d89 | 79 | |
AppNearMe | 0:480387549d89 | 80 | void buffer_free(buffer* pBuf); |
AppNearMe | 0:480387549d89 | 81 | |
AppNearMe | 0:480387549d89 | 82 | #ifdef __cplusplus |
AppNearMe | 0:480387549d89 | 83 | } |
AppNearMe | 0:480387549d89 | 84 | #endif |
AppNearMe | 0:480387549d89 | 85 | |
AppNearMe | 0:480387549d89 | 86 | #endif /* BUFFER_H_ */ |