X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=include%2Fmemcached.h;h=f5f7c28238b37e65b8547b9a72f249a5839b51b7;hb=174e1d4d3011843e7e909c9b378b888c67d02538;hp=a859b22117d4f2ae4d7484ed5ded2902521aae88;hpb=1207354f3bcebf2bb489ec0e56152918d56be81e;p=m6w6%2Flibmemcached diff --git a/include/memcached.h b/include/memcached.h index a859b221..f5f7c282 100644 --- a/include/memcached.h +++ b/include/memcached.h @@ -20,6 +20,7 @@ extern "C" { typedef struct memcached_st memcached_st; typedef struct memcached_stat_st memcached_stat_st; +typedef struct memcached_result_st memcached_result_st; typedef struct memcached_string_st memcached_string_st; typedef struct memcached_server_st memcached_server_st; @@ -28,7 +29,6 @@ typedef struct memcached_server_st memcached_server_st; #define SMALL_STRING_LEN 1024 #define HUGE_STRING_LEN 8196 #define MEMCACHED_MAX_KEY 251 /* We add one to have it null terminated */ -//#define MEMCACHED_MAX_BUFFER 8196 #define MEMCACHED_MAX_BUFFER HUGE_STRING_LEN typedef enum { @@ -134,12 +134,20 @@ struct memcached_stat_st { }; struct memcached_string_st { + memcached_allocated is_allocated; char *string; char *end; size_t current_size; size_t block_size; }; +struct memcached_result_st { + memcached_string_st key; + memcached_string_st result; + uint16_t flags; + uint64_t cas; +}; + struct memcached_st { memcached_allocated is_allocated; memcached_server_st *hosts; @@ -151,10 +159,11 @@ struct memcached_st { char write_buffer[MEMCACHED_MAX_BUFFER]; size_t write_buffer_offset; char connected; - int my_errno; + int cached_errno; unsigned long long flags; int send_size; int recv_size; + memcached_string_st result_buffer; memcached_hash hash; memcached_return warning; /* Future Use */ }; @@ -174,6 +183,7 @@ memcached_return memcached_decrement(memcached_st *ptr, char *key, size_t key_length, unsigned int offset, unsigned int *value); +void memcached_stat_free(memcached_st *, memcached_stat_st *); memcached_stat_st *memcached_stat(memcached_st *ptr, char *args, memcached_return *error); memcached_return memcached_stat_servername(memcached_stat_st *stat, char *args, char *hostname, unsigned int port); @@ -209,6 +219,7 @@ memcached_return memcached_mget(memcached_st *ptr, char *memcached_fetch(memcached_st *ptr, char *key, size_t *key_length, size_t *value_length, uint16_t *flags, memcached_return *error); +memcached_result_st *memcached_fetch_object(memcached_st *ptr, memcached_return *error); /* Server Public functions */ #define memcached_server_count(A) A->number_of_hosts