str.h
Go to the documentation of this file.
/*
* str.h -- strings to be used in the CoAP library
*
* Copyright (C) 2010-2011 Olaf Bergmann <bergmann@tzi.org>
*
* This file is part of the CoAP library libcoap. Please see README for terms
* of use.
*/
#ifndef COAP_STR_H_
#define COAP_STR_H_
#include <string.h>
typedef struct coap_string_t {
size_t length;
uint8_t *s;
} coap_string_t;
typedef struct coap_str_const_t {
size_t length;
const uint8_t *s;
} coap_str_const_t;
#define COAP_SET_STR(st,l,v) { (st)->length = (l), (st)->s = (v); }
typedef struct coap_binary_t {
size_t length;
uint8_t *s;
} coap_binary_t;
coap_string_t *coap_new_string(size_t size);
void coap_delete_string(coap_string_t *string);
coap_str_const_t *coap_new_str_const(const uint8_t *data, size_t size);
void coap_delete_str_const(coap_str_const_t *string);
#define COAP_MAX_STR_CONST_FUNC 2
coap_str_const_t *coap_make_str_const(const char *string);
#define coap_string_equal(string1,string2) \
((string1)->length == (string2)->length && ((string1)->length == 0 || \
memcmp((string1)->s, (string2)->s, (string1)->length) == 0))
#endif /* COAP_STR_H_ */
coap_new_string
coap_string_t * coap_new_string(size_t size)
Returns a new string object with at least size+1 bytes storage allocated.
Definition: str.c:13
coap_delete_str_const
void coap_delete_str_const(coap_str_const_t *string)
Deletes the given const string and releases any memory allocated.
Definition: str.c:40
coap_str_const_t
struct coap_str_const_t coap_str_const_t
Coap string data definition with const data.
coap_binary_t
struct coap_binary_t coap_binary_t
Coap binary data definition.
coap_new_str_const
coap_str_const_t * coap_new_str_const(const uint8_t *data, size_t size)
Returns a new const string object with at least size+1 bytes storage allocated, and the provided data...
Definition: str.c:31
coap_string_t
struct coap_string_t coap_string_t
Coap string data definition.
coap_delete_string
void coap_delete_string(coap_string_t *string)
Deletes the given string and releases any memory allocated.
Definition: str.c:27
coap_make_str_const
coap_str_const_t * coap_make_str_const(const char *string)
Take the specified string and create a coap_str_const_t *.
Definition: str.c:44
coap_binary_t
Coap binary data definition.
Definition: str.h:43
coap_binary_t::length
size_t length
length of binary data
Definition: str.h:44
coap_binary_t::s
uint8_t * s
binary data
Definition: str.h:45
coap_str_const_t
Coap string data definition with const data.
Definition: str.h:33
coap_str_const_t::s
const uint8_t * s
string data
Definition: str.h:35
coap_str_const_t::length
size_t length
length of string
Definition: str.h:34
coap_string_t
Coap string data definition.
Definition: str.h:25
coap_string_t::s
uint8_t * s
string data
Definition: str.h:27
coap_string_t::length
size_t length
length of string
Definition: str.h:26
uint8_t
unsigned char uint8_t
Definition: uthash.h:79