IoTivity-Lite
oc_helpers.h File Reference
#include "util/oc_list.h"
#include "util/oc_mmem.h"
#include <stdbool.h>
#include <stdint.h>
#include <stdio.h>
#include <string.h>

Macros

#define oc_alloc_string(ocstring, size)   _oc_alloc_string((ocstring), (size))
 
#define oc_bool_array(ocboolarray)   (oc_cast(ocboolarray, bool))
 
#define oc_bool_array_size(ocboolarray)   ((ocboolarray).size)
 
#define oc_byte_string_array_add_item(ocstringarray, str, str_len)   (_oc_byte_string_array_add_item(&(ocstringarray), str, str_len))
 
#define oc_byte_string_array_get_allocated_size(ocstringarray)   ((ocstringarray).size / STRING_ARRAY_ITEM_MAX_LEN)
 
#define oc_byte_string_array_get_item(ocstringarray, index)   (oc_string(ocstringarray) + index * STRING_ARRAY_ITEM_MAX_LEN + 1)
 
#define oc_byte_string_array_get_item_size(ocstringarray, index)   (*(oc_string(ocstringarray) + index * STRING_ARRAY_ITEM_MAX_LEN))
 
#define oc_byte_string_array_set_item(ocstringarray, str, str_len, index)   (_oc_copy_byte_string_to_array(&(ocstringarray), str, str_len, index))
 
#define oc_cast(block, type)   ((type *)(OC_MMEM_PTR(&(block))))
 
#define oc_double_array(ocdoublearray)   (oc_cast(ocdoublearray, double))
 
#define oc_double_array_size(ocdoublearray)   ((ocdoublearray).size)
 
#define oc_free_bool_array(ocarray)   (_oc_free_array(ocarray, BYTE_POOL))
 
#define oc_free_byte_string_array(ocstringarray)   (_oc_free_string(ocstringarray))
 
#define oc_free_double_array(ocarray)   (_oc_free_array(ocarray, DOUBLE_POOL))
 
#define oc_free_int_array(ocarray)   (_oc_free_array(ocarray, INT_POOL))
 
#define oc_free_string(ocstring)   _oc_free_string(ocstring)
 
#define oc_free_string_array(ocstringarray)   (_oc_free_string(ocstringarray))
 
#define oc_int_array(ocintarray)   (oc_cast(ocintarray, int64_t))
 
#define oc_int_array_size(ocintarray)   ((ocintarray).size)
 
#define oc_new_bool_array(ocarray, size)   (_oc_new_array(ocarray, size, BYTE_POOL))
 
#define oc_new_byte_string_array(ocstringarray, size)   (_oc_alloc_string_array(ocstringarray, size))
 
#define oc_new_double_array(ocarray, size)   (_oc_new_array(ocarray, size, DOUBLE_POOL))
 
#define oc_new_int_array(ocarray, size)   (_oc_new_array(ocarray, size, INT_POOL))
 
#define oc_new_string(ocstring, str, str_len)   _oc_new_string(ocstring, str, str_len)
 
#define oc_new_string_array(ocstringarray, size)   (_oc_alloc_string_array(ocstringarray, size))
 
#define oc_string(ocstring)   (oc_cast(ocstring, char))
 
#define oc_string_array_add_item(ocstringarray, str)   (_oc_string_array_add_item(&(ocstringarray), str))
 
#define oc_string_array_get_allocated_size(ocstringarray)   ((ocstringarray).size / STRING_ARRAY_ITEM_MAX_LEN)
 
#define oc_string_array_get_item(ocstringarray, index)   (oc_string(ocstringarray) + index * STRING_ARRAY_ITEM_MAX_LEN)
 
#define oc_string_array_get_item_size(ocstringarray, index)   (strlen((const char *)oc_string_array_get_item(ocstringarray, index)))
 
#define oc_string_array_set_item(ocstringarray, str, index)   (_oc_copy_string_to_array(&(ocstringarray), str, index))
 
#define oc_string_len(ocstring)   ((ocstring).size ? (ocstring).size - 1 : 0)
 
#define STRING_ARRAY_ITEM_MAX_LEN   128
 

Typedefs

typedef struct oc_mmem oc_array_t
 
typedef struct oc_mmem oc_byte_string_array_t
 
typedef struct oc_mmem oc_handle_t
 
typedef struct oc_mmem oc_string_array_t
 
typedef struct oc_mmem oc_string_t
 

Functions

void _oc_alloc_string (oc_string_t *ocstring, size_t size)
 
void _oc_alloc_string_array (oc_string_array_t *ocstringarray, size_t size)
 
bool _oc_byte_string_array_add_item (oc_string_array_t *ocstringarray, const char str[], size_t str_len)
 
bool _oc_copy_byte_string_to_array (oc_string_array_t *ocstringarray, const char str[], size_t str_len, size_t index)
 
bool _oc_copy_string_to_array (oc_string_array_t *ocstringarray, const char str[], size_t index)
 
void _oc_free_array (oc_array_t *ocarray, pool type)
 
void _oc_free_string (oc_string_t *ocstring)
 
void _oc_new_array (oc_array_t *ocarray, size_t size, pool type)
 
void _oc_new_string (oc_string_t *ocstring, const char *str, size_t str_len)
 
bool _oc_string_array_add_item (oc_string_array_t *ocstringarray, const char str[])
 
void oc_concat_strings (oc_string_t *concat, const char *str1, const char *str2)
 
void oc_join_string_array (oc_string_array_t *ocstringarray, oc_string_t *ocstring)