2 * Summary: Typpes for libmemcached
4 * Copy: See Copyright for the status of this software.
9 #ifndef LIBMEMCACHED_MEMCACHED_TYPES_H
10 #define LIBMEMCACHED_MEMCACHED_TYPES_H
12 #ifndef LIBMEMCACHED_MEMCACHED_H
13 #error "Please include <libmemcached/memcached.h> instead"
20 typedef struct memcached_st memcached_st
;
21 typedef struct memcached_stat_st memcached_stat_st
;
22 typedef struct memcached_analysis_st memcached_analysis_st
;
23 typedef struct memcached_result_st memcached_result_st
;
24 typedef struct memcached_string_st memcached_string_st
;
25 typedef struct memcached_server_st memcached_server_st
;
26 typedef struct memcached_continuum_item_st memcached_continuum_item_st
;
27 typedef memcached_return (*memcached_clone_func
)(memcached_st
*parent
, memcached_st
*clone
);
28 typedef memcached_return (*memcached_cleanup_func
)(memcached_st
*ptr
);
29 typedef void (*memcached_free_function
)(memcached_st
*ptr
, void *mem
);
30 typedef void *(*memcached_malloc_function
)(memcached_st
*ptr
, const size_t size
);
31 typedef void *(*memcached_realloc_function
)(memcached_st
*ptr
, void *mem
, const size_t size
);
32 typedef void *(*memcached_calloc_function
)(memcached_st
*ptr
, size_t nelem
, const size_t elsize
);
33 typedef memcached_return (*memcached_execute_function
)(memcached_st
*ptr
, memcached_result_st
*result
, void *context
);
34 typedef memcached_return (*memcached_server_function
)(memcached_st
*ptr
, memcached_server_st
*server
, void *context
);
35 typedef memcached_return (*memcached_trigger_key
)(memcached_st
*ptr
,
36 const char *key
, size_t key_length
,
37 memcached_result_st
*result
);
38 typedef memcached_return (*memcached_trigger_delete_key
)(memcached_st
*ptr
,
39 const char *key
, size_t key_length
);
41 typedef memcached_return (*memcached_dump_func
)(memcached_st
*ptr
,
42 const char *key
, size_t key_length
, void *context
);
44 struct memcached_string_st
{
53 struct memcached_result_st
{
60 memcached_string_st value
;
61 char key
[MEMCACHED_MAX_KEY
];
62 /* Add result callback function */
70 uint32_t continuum_points_counter
;
71 memcached_server_st
*hosts
;
74 uint32_t server_failure_limit
;
75 uint32_t io_msg_watermark
;
76 uint32_t io_bytes_watermark
;
77 uint32_t io_key_prefetch
;
78 uint32_t number_of_hosts
;
79 uint32_t cursor_server
;
83 int32_t connect_timeout
;
84 int32_t retry_timeout
;
85 uint32_t continuum_count
;
89 time_t next_distribution_rebuild
;
90 size_t prefix_key_length
;
91 memcached_hash hash_continuum
;
92 memcached_result_st result
;
93 memcached_continuum_item_st
*continuum
;
94 memcached_clone_func on_clone
;
95 memcached_cleanup_func on_cleanup
;
96 memcached_free_function call_free
;
97 memcached_malloc_function call_malloc
;
98 memcached_realloc_function call_realloc
;
99 memcached_calloc_function call_calloc
;
100 memcached_trigger_key get_key_failure
;
101 memcached_trigger_delete_key delete_trigger
;
102 char prefix_key
[MEMCACHED_PREFIX_KEY_MAX_SIZE
];
103 uint32_t number_of_replicas
;
110 #endif /* LIBMEMCACHED_MEMCACHED_TYPES_H */