root/lang/c/libmemcached-win32/libmemcached-latest/libmemcached/memcached_string.h @ 19614

Revision 19614, 1.4 kB (checked in by mattn, 5 years ago)

import clone of http://hg.tangent.org/libmemcached/

Line 
1/*
2 * Summary: String structure used for libmemcached.
3 *
4 * Copy: See Copyright for the status of this software.
5 *
6 * Author: Brian Aker
7 */
8
9#ifndef __MEMCACHED_STRING_H__
10#define __MEMCACHED_STRING_H__
11
12#ifdef __cplusplus
13extern "C" {
14#endif
15
16struct memcached_string_st {
17  memcached_st *root;
18  memcached_allocated is_allocated;
19  char *end;
20  size_t current_size;
21  size_t block_size;
22  char *string;
23};
24
25#define memcached_string_length(A) (size_t)((A)->end - (A)->string)
26#define memcached_string_set_length(A, B) (A)->end= (A)->string + B
27#define memcached_string_size(A) (A)->current_size
28#define memcached_string_value(A) (A)->string
29
30memcached_string_st *memcached_string_create(memcached_st *ptr,
31                                             memcached_string_st *string,
32                                             size_t initial_size);
33memcached_return memcached_string_check(memcached_string_st *string, size_t need);
34char *memcached_string_c_copy(memcached_string_st *string);
35memcached_return memcached_string_append_character(memcached_string_st *string,
36                                                   char character);
37memcached_return memcached_string_append(memcached_string_st *string,
38                                         char *value, size_t length);
39memcached_return memcached_string_reset(memcached_string_st *string);
40void memcached_string_free(memcached_string_st *string);
41
42#ifdef __cplusplus
43}
44#endif
45
46#endif /* __MEMCACHED_STRING_H__ */
Note: See TracBrowser for help on using the browser.