6 memcached_st
*memcached_init(memcached_st
*ptr
)
10 ptr
= (memcached_st
*)malloc(sizeof(memcached_st
));
13 return NULL
; /* MEMCACHED_MEMORY_ALLOCATION_FAILURE */
15 memset(ptr
, 0, sizeof(memcached_st
));
16 ptr
->is_allocated
= MEMCACHED_ALLOCATED
;
20 memset(ptr
, 0, sizeof(memcached_st
));
26 memcached_return
memcached_increment(memcached_st
*ptr
, char *key
, size_t key_length
,
29 return MEMCACHED_SUCCESS
;
32 memcached_return
memcached_decrement(memcached_st
*ptr
, char *key
, size_t key_length
,
35 return MEMCACHED_SUCCESS
;
38 memcached_return
memcached_flush(memcached_st
*ptr
, time_t expiration
)
42 char buffer
[MEMCACHED_DEFAULT_COMMAND_SIZE
];
44 rc
= memcached_connect(ptr
);
47 send_length
= snprintf(buffer
, MEMCACHED_DEFAULT_COMMAND_SIZE
,
48 "flush_all %u\r\n", expiration
);
50 send_length
= snprintf(buffer
, MEMCACHED_DEFAULT_COMMAND_SIZE
,
52 if ((send(ptr
->hosts
[0].fd
, buffer
, send_length
, 0) == -1))
54 fprintf(stderr
, "failed flush_all TCP\n");
56 return MEMCACHED_WRITE_FAILURE
;
59 return memcached_response(ptr
, buffer
, MEMCACHED_DEFAULT_COMMAND_SIZE
);
62 memcached_return
memcached_verbosity(memcached_st
*ptr
, unsigned int verbosity
)
66 char buffer
[MEMCACHED_DEFAULT_COMMAND_SIZE
];
68 rc
= memcached_connect(ptr
);
70 send_length
= snprintf(buffer
, MEMCACHED_DEFAULT_COMMAND_SIZE
,
71 "verbosity %u\r\n", verbosity
);
73 if ((send(ptr
->hosts
[0].fd
, buffer
, send_length
, 0) == -1))
75 fprintf(stderr
, "failed verbosity\n");
77 return MEMCACHED_WRITE_FAILURE
;
80 return memcached_response(ptr
, buffer
, MEMCACHED_DEFAULT_COMMAND_SIZE
);
84 When this is implemented you will be able to remove single hosts
85 from your current pool of hosts.
87 memcached_return
memcached_quit(memcached_st
*ptr
, char *hostname
, unsigned port
)
89 return MEMCACHED_SUCCESS
;
92 void memcached_deinit(memcached_st
*ptr
)
95 memcached_host_st
*host_ptr
;
99 for (x
= 0; x
< ptr
->number_of_hosts
; x
++)
101 if (ptr
->hosts
[x
].fd
> 0)
102 close(ptr
->hosts
[x
].fd
);
104 if (ptr
->hosts
[x
].hostname
)
105 free(ptr
->hosts
[x
].hostname
);
111 if (ptr
->is_allocated
== MEMCACHED_ALLOCATED
)
114 memset(ptr
, 0, sizeof(memcached_st
));
117 char *memcached_strerror(memcached_st
*ptr
, memcached_return rc
)
121 case MEMCACHED_SUCCESS
:
123 case MEMCACHED_FAILURE
:
125 case MEMCACHED_HOST_LOCKUP_FAILURE
:
126 return "HOSTNAME LOOKUP FAILURE";
127 case MEMCACHED_CONNECTION_FAILURE
:
128 return "CONNECTION FAILURE";
129 case MEMCACHED_CONNECTION_BIND_FAILURE
:
130 return "CONNECTION BIND FAILURE";
131 case MEMCACHED_READ_FAILURE
:
132 return "READ FAILURE";
133 case MEMCACHED_UNKNOWN_READ_FAILURE
:
134 return "UNKNOWN READ FAILURE";
135 case MEMCACHED_PROTOCOL_ERROR
:
136 return "PROTOCOL ERROR";
137 case MEMCACHED_CLIENT_ERROR
:
138 return "CLIENT ERROR";
139 case MEMCACHED_SERVER_ERROR
:
140 return "SERVER ERROR";
141 case MEMCACHED_WRITE_FAILURE
:
142 return "WRITE FAILURE";
143 case MEMCACHED_CONNECTION_SOCKET_CREATE_FAILURE
:
144 return "CONNECTION SOCKET CREATE FAILURE";
145 case MEMCACHED_DATA_EXISTS
:
146 return "CONNECTION DATA EXISTS";
147 case MEMCACHED_DATA_DOES_NOT_EXIST
:
148 return "CONNECTION DATA DOES NOT EXIST";
149 case MEMCACHED_NOTSTORED
:
151 case MEMCACHED_NOTFOUND
:
153 case MEMCACHED_MEMORY_ALLOCATION_FAILURE
:
154 return "MEMORY ALLOCATION FAILURE";
155 case MEMCACHED_PARTIAL_READ
:
156 return "PARTIAL READ";