-/* String Struct */
-#define memcached_string_length(A) (size_t)((A)->end - (A)->string)
-#define memcached_string_set_length(A, B) (A)->end= (A)->string + B
-#define memcached_string_size(A) (A)->current_size
-#define memcached_string_value(A) (A)->string
-
-memcached_string_st *memcached_string_create(memcached_st *ptr,
- memcached_string_st *string,
- size_t initial_size);
-memcached_return memcached_string_check(memcached_string_st *string, size_t need);
-char *memcached_string_c_copy(memcached_string_st *string);
-memcached_return memcached_string_append_character(memcached_string_st *string,
- char character);
-memcached_return memcached_string_append(memcached_string_st *string,
- char *value, size_t length);
-size_t memcached_string_backspace(memcached_string_st *string, size_t remove);
-memcached_return memcached_string_reset(memcached_string_st *string);
-void memcached_string_free(memcached_string_st *string);
-memcached_return memcached_do(memcached_server_st *ptr, char *commmand,
- size_t command_length, uint8_t with_flush);
-memcached_return memcached_version(memcached_st *ptr);
-memcached_return value_fetch(memcached_server_st *ptr,
- char *buffer,
- memcached_result_st *result);
-void server_list_free(memcached_st *ptr, memcached_server_st *servers);
-
-memcached_return memcachd_key_test(char **keys, size_t *key_length,
- unsigned int number_of_keys);
-
-#endif /* __COMMON_H__ */
+LIBMEMCACHED_LOCAL
+memcached_return_t memcached_do(memcached_server_instance_st *ptr, const void *commmand,
+ size_t command_length, uint8_t with_flush);
+LIBMEMCACHED_LOCAL
+memcached_return_t value_fetch(memcached_server_instance_st *ptr,
+ char *buffer,
+ memcached_result_st *result);
+LIBMEMCACHED_LOCAL
+void server_list_free(memcached_st *ptr, memcached_server_instance_st *servers);
+
+LIBMEMCACHED_LOCAL
+memcached_return_t memcached_key_test(const char * const *keys,
+ const size_t *key_length,
+ size_t number_of_keys);
+
+
+LIBMEMCACHED_LOCAL
+uint32_t generate_hash(memcached_st *ptr, const char *key, size_t key_length);
+
+LIBMEMCACHED_LOCAL
+memcached_return_t memcached_purge(memcached_server_instance_st *ptr);
+
+static inline memcached_return_t memcached_validate_key_length(size_t key_length, bool binary)
+{
+ unlikely (key_length == 0)
+ return MEMCACHED_BAD_KEY_PROVIDED;
+
+ if (binary)
+ {
+ unlikely (key_length > 0xffff)
+ return MEMCACHED_BAD_KEY_PROVIDED;
+ }
+ else
+ {
+ unlikely (key_length >= MEMCACHED_MAX_KEY)
+ return MEMCACHED_BAD_KEY_PROVIDED;
+ }
+
+ return MEMCACHED_SUCCESS;
+}
+
+#endif /* LIBMEMCACHED_COMMON_H */