2 * Summary: interface for memcached server
3 * Description: main include file for libmemcached
5 * Copy: See Copyright for the status of this software.
10 #ifndef __MEMCACHED_H__
11 #define __MEMCACHED_H__
20 typedef struct memcached_st memcached_st
;
21 typedef struct memcached_stat_st memcached_stat_st
;
23 #define MEMCACHED_DEFAULT_PORT 11211
24 #define MEMCACHED_DEFAULT_COMMAND_SIZE 350
29 MEMCACHED_HOST_LOCKUP_FAILURE
,
30 MEMCACHED_CONNECTION_FAILURE
,
31 MEMCACHED_CONNECTION_BIND_FAILURE
,
32 MEMCACHED_WRITE_FAILURE
,
33 MEMCACHED_READ_FAILURE
,
34 MEMCACHED_UNKNOWN_READ_FAILURE
,
35 MEMCACHED_PROTOCOL_ERROR
,
36 MEMCACHED_CLIENT_ERROR
,
37 MEMCACHED_SERVER_ERROR
,
38 MEMCACHED_CONNECTION_SOCKET_CREATE_FAILURE
,
39 MEMCACHED_DATA_EXISTS
,
40 MEMCACHED_DATA_DOES_NOT_EXIST
,
43 MEMCACHED_MEMORY_ALLOCATION_FAILURE
,
44 MEMCACHED_PARTIAL_READ
,
48 MEMCACHED_NOT_ALLOCATED
= 0,
49 MEMCACHED_ALLOCATED
= 1,
50 } memcached_allocated
;
52 struct memcached_stat_st
{
57 unsigned rusage_user_seconds
;
58 unsigned int rusage_user_microseconds
;
59 unsigned rusage_system_seconds
;
60 unsigned int rusage_system_microseconds
;
61 unsigned int curr_items
;
62 unsigned int total_items
;
63 unsigned long long bytes
;
64 unsigned int curr_connections
;
65 unsigned int total_connections
;
66 unsigned int connection_structures
;
67 unsigned long long cmd_get
;
68 unsigned long long cmd_set
;
69 unsigned long long get_hits
;
70 unsigned long long get_misses
;
71 unsigned long long evictions
;
72 unsigned long long bytes_read
;
73 unsigned long long bytes_written
;
74 unsigned int limit_maxbytes
;
78 memcached_allocated is_allocated
;
84 memcached_st
*memcached_init(memcached_st
*ptr
);
85 void memcached_deinit(memcached_st
*ptr
);
87 memcached_return
memcached_set(memcached_st
*ptr
, char *key
, size_t key_length
,
88 char *value
, size_t value_length
,
91 memcached_return
memcached_add(memcached_st
*ptr
, char *key
, size_t key_length
,
92 char *value
, size_t value_length
,
95 memcached_return
memcached_replace(memcached_st
*ptr
, char *key
, size_t key_length
,
96 char *value
, size_t value_length
,
99 memcached_return
memcached_delete(memcached_st
*ptr
, char *key
, size_t key_length
,
101 memcached_return
memcached_increment(memcached_st
*ptr
, char *key
, size_t key_length
,
103 memcached_return
memcached_decrement(memcached_st
*ptr
, char *key
, size_t key_length
,
105 memcached_return
memcached_stat(memcached_st
*ptr
, memcached_stat_st
*stat
);
106 memcached_return
memcached_flush(memcached_st
*ptr
, time_t expiration
);
107 char *memcached_version(memcached_st
*ptr
, memcached_return
*error
);
108 memcached_return
memcached_verbosity(memcached_st
*ptr
, unsigned int verbosity
);
109 memcached_return
memcached_quit(memcached_st
*ptr
);
110 char *memcached_get(memcached_st
*ptr
, char *key
, size_t key_length
,
111 size_t *value_length
,
113 memcached_return
*error
);
114 void memcached_server_add(memcached_st
*ptr
, char *server_name
, unsigned int port
);
115 static memcached_return
memcached_response(memcached_st
*ptr
,
116 char *buffer
, size_t buffer_length
);
117 char *memcached_strerror(memcached_st
*ptr
, memcached_return rc
);
123 #endif /* __MEMCACHED_H__ */