2 * Summary: String structure used for libmemcached.
4 * Copy: See Copyright for the status of this software.
9 #ifndef __MEMCACHED_STRING_H__
10 #define __MEMCACHED_STRING_H__
16 struct memcached_string_st
{
24 bool is_initialized
:1;
28 #define memcached_string_length(A) (size_t)((A)->end - (A)->string)
29 #define memcached_string_set_length(A, B) (A)->end= (A)->string + B
30 #define memcached_string_size(A) (A)->current_size
31 #define memcached_string_value(A) (A)->string
34 memcached_string_st
*memcached_string_create(memcached_st
*ptr
,
35 memcached_string_st
*string
,
38 memcached_return
memcached_string_check(memcached_string_st
*string
, size_t need
);
41 char *memcached_string_c_copy(memcached_string_st
*string
);
44 memcached_return
memcached_string_append_character(memcached_string_st
*string
,
47 memcached_return
memcached_string_append(memcached_string_st
*string
,
48 const char *value
, size_t length
);
50 memcached_return
memcached_string_reset(memcached_string_st
*string
);
53 void memcached_string_free(memcached_string_st
*string
);
59 #endif /* __MEMCACHED_STRING_H__ */