The Pubnub C-core library. It's home is on https://github.com/pubnub/c_core, this is a copy
Dependents: Pubnub_c_core_mbed2_pal Pubnub_c_core_mbed2_pal Pubnub_c_core_mbed2_pal2
pubnub_memory_block.h@2:d85e42c1125d, 2016-11-22 (annotated)
- Committer:
- sveljko
- Date:
- Tue Nov 22 22:21:39 2016 +0000
- Revision:
- 2:d85e42c1125d
- Parent:
- 0:d13755cfb705
Added `pubnub_helper` module
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
sveljko | 0:d13755cfb705 | 1 | /* -*- c-file-style:"stroustrup"; indent-tabs-mode: nil -*- */ |
sveljko | 0:d13755cfb705 | 2 | #if !defined INC_PUBNUB_MEMORY_BLOCK |
sveljko | 0:d13755cfb705 | 3 | #define INC_PUBNUB_MEMORY_BLOCK |
sveljko | 0:d13755cfb705 | 4 | |
sveljko | 0:d13755cfb705 | 5 | #include <stdint.h> |
sveljko | 0:d13755cfb705 | 6 | #include <stdlib.h> |
sveljko | 0:d13755cfb705 | 7 | |
sveljko | 0:d13755cfb705 | 8 | |
sveljko | 0:d13755cfb705 | 9 | /** @file pubnub_memory_block.h |
sveljko | 0:d13755cfb705 | 10 | |
sveljko | 0:d13755cfb705 | 11 | Memory block module. |
sveljko | 0:d13755cfb705 | 12 | |
sveljko | 0:d13755cfb705 | 13 | Support module for having a standard way to represent a |
sveljko | 0:d13755cfb705 | 14 | "block" of memory - that is, a pointer and the size of |
sveljko | 0:d13755cfb705 | 15 | memory allocated (in whatever way) to said pointer. |
sveljko | 0:d13755cfb705 | 16 | */ |
sveljko | 0:d13755cfb705 | 17 | |
sveljko | 0:d13755cfb705 | 18 | |
sveljko | 0:d13755cfb705 | 19 | /** A block of memory whose pointer is pointing to a |
sveljko | 0:d13755cfb705 | 20 | bytes. This is most often the preferred one to use. |
sveljko | 0:d13755cfb705 | 21 | */ |
sveljko | 0:d13755cfb705 | 22 | struct pubnub_byte_mem_block { |
sveljko | 0:d13755cfb705 | 23 | uint8_t *ptr; |
sveljko | 0:d13755cfb705 | 24 | size_t size; |
sveljko | 0:d13755cfb705 | 25 | }; |
sveljko | 0:d13755cfb705 | 26 | |
sveljko | 0:d13755cfb705 | 27 | /** A block of memory whose pointer is void pointer. |
sveljko | 0:d13755cfb705 | 28 | Not nice, but useful at times. |
sveljko | 0:d13755cfb705 | 29 | */ |
sveljko | 0:d13755cfb705 | 30 | struct pubnub_mem_block { |
sveljko | 0:d13755cfb705 | 31 | void *ptr; |
sveljko | 0:d13755cfb705 | 32 | size_t size; |
sveljko | 0:d13755cfb705 | 33 | }; |
sveljko | 0:d13755cfb705 | 34 | |
sveljko | 0:d13755cfb705 | 35 | /** Helper typedef for a general (void) memory block */ |
sveljko | 0:d13755cfb705 | 36 | typedef struct pubnub_mem_block pubnub_mebl_t; |
sveljko | 0:d13755cfb705 | 37 | |
sveljko | 0:d13755cfb705 | 38 | /** Helper typedef for a byte memory block */ |
sveljko | 0:d13755cfb705 | 39 | typedef struct pubnub_byte_mem_block pubnub_bymebl_t; |
sveljko | 0:d13755cfb705 | 40 | |
sveljko | 0:d13755cfb705 | 41 | |
sveljko | 0:d13755cfb705 | 42 | #endif /* !defined INC_PUBNUB_MEMORY_BLOCK */ |