Update cinttype for older CentOS/RHEL versions.
[m6w6/libmemcached] / libmemcached-1.0 / memcached.h
1 /* vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
2 *
3 * Libmemcached library
4 *
5 * Copyright (C) 2011 Data Differential, http://datadifferential.com/
6 * Copyright (C) 2006-2009 Brian Aker All rights reserved.
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions are
10 * met:
11 *
12 * * Redistributions of source code must retain the above copyright
13 * notice, this list of conditions and the following disclaimer.
14 *
15 * * Redistributions in binary form must reproduce the above
16 * copyright notice, this list of conditions and the following disclaimer
17 * in the documentation and/or other materials provided with the
18 * distribution.
19 *
20 * * The names of its contributors may not be used to endorse or
21 * promote products derived from this software without specific prior
22 * written permission.
23 *
24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
25 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
26 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
27 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
28 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
29 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
30 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
31 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
32 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
33 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
34 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
35 *
36 */
37
38 #pragma once
39
40 /* This seems to be required for older compilers @note http://stackoverflow.com/questions/8132399/how-to-printf-uint64-t */
41 #define __STDC_FORMAT_MACROS
42
43 #ifdef __cplusplus
44 # include <tr1/cinttypes>
45 # include <cstddef>
46 # include <cstdlib>
47 #else
48 # include <inttypes.h>
49 # include <stddef.h>
50 # include <stdlib.h>
51 # include <stdbool.h>
52 #endif
53
54 #include <sys/types.h>
55
56 #include <libmemcached-1.0/visibility.h>
57 #include <libmemcached-1.0/configure.h>
58 #include <libmemcached-1.0/platform.h>
59
60 #include <libmemcached-1.0/limits.h>
61 #include <libmemcached-1.0/defaults.h>
62
63 #include <libmemcached-1.0/types/behavior.h>
64 #include <libmemcached-1.0/types/callback.h>
65 #include <libmemcached-1.0/types/connection.h>
66 #include <libmemcached-1.0/types/hash.h>
67 #include <libmemcached-1.0/types/return.h>
68 #include <libmemcached-1.0/types/server_distribution.h>
69
70 #include <libmemcached-1.0/return.h>
71
72 #include <libmemcached-1.0/types.h>
73 #include <libmemcached-1.0/callbacks.h>
74 #include <libmemcached-1.0/alloc.h>
75 #include <libmemcached-1.0/triggers.h>
76
77 #include <libhashkit-1.0/hashkit.h>
78
79 #include <libmemcached-1.0/struct/callback.h>
80 #include <libmemcached-1.0/struct/string.h>
81 #include <libmemcached-1.0/struct/result.h>
82 #include <libmemcached-1.0/struct/allocator.h>
83 #include <libmemcached-1.0/struct/sasl.h>
84 #include <libmemcached-1.0/struct/memcached.h>
85 #include <libmemcached-1.0/struct/server.h>
86 #include <libmemcached-1.0/struct/stat.h>
87
88 #include <libmemcached-1.0/basic_string.h>
89 #include <libmemcached-1.0/error.h>
90 #include <libmemcached-1.0/stats.h>
91
92 // Everything above this line must be in the order specified.
93 #include <libmemcached-1.0/allocators.h>
94 #include <libmemcached-1.0/analyze.h>
95 #include <libmemcached-1.0/auto.h>
96 #include <libmemcached-1.0/behavior.h>
97 #include <libmemcached-1.0/callback.h>
98 #include <libmemcached-1.0/delete.h>
99 #include <libmemcached-1.0/dump.h>
100 #include <libmemcached-1.0/encoding_key.h>
101 #include <libmemcached-1.0/exist.h>
102 #include <libmemcached-1.0/fetch.h>
103 #include <libmemcached-1.0/flush.h>
104 #include <libmemcached-1.0/flush_buffers.h>
105 #include <libmemcached-1.0/get.h>
106 #include <libmemcached-1.0/hash.h>
107 #include <libmemcached-1.0/options.h>
108 #include <libmemcached-1.0/parse.h>
109 #include <libmemcached-1.0/quit.h>
110 #include <libmemcached-1.0/result.h>
111 #include <libmemcached-1.0/server.h>
112 #include <libmemcached-1.0/server_list.h>
113 #include <libmemcached-1.0/storage.h>
114 #include <libmemcached-1.0/strerror.h>
115 #include <libmemcached-1.0/touch.h>
116 #include <libmemcached-1.0/verbosity.h>
117 #include <libmemcached-1.0/version.h>
118 #include <libmemcached-1.0/sasl.h>
119
120 #include <libmemcached-1.0/deprecated_types.h>
121
122 #ifdef __cplusplus
123 extern "C" {
124 #endif
125
126 LIBMEMCACHED_API
127 void memcached_servers_reset(memcached_st *ptr);
128
129 LIBMEMCACHED_API
130 memcached_st *memcached_create(memcached_st *ptr);
131
132 LIBMEMCACHED_API
133 memcached_st *memcached(const char *string, size_t string_length);
134
135 LIBMEMCACHED_API
136 void memcached_free(memcached_st *ptr);
137
138 LIBMEMCACHED_API
139 memcached_return_t memcached_reset(memcached_st *ptr);
140
141 LIBMEMCACHED_API
142 void memcached_reset_last_disconnected_server(memcached_st *ptr);
143
144 LIBMEMCACHED_API
145 memcached_st *memcached_clone(memcached_st *clone, const memcached_st *ptr);
146
147 LIBMEMCACHED_API
148 void *memcached_get_user_data(const memcached_st *ptr);
149
150 LIBMEMCACHED_API
151 void *memcached_set_user_data(memcached_st *ptr, void *data);
152
153 LIBMEMCACHED_API
154 memcached_return_t memcached_push(memcached_st *destination, const memcached_st *source);
155
156 LIBMEMCACHED_API
157 memcached_server_instance_st memcached_server_instance_by_position(const memcached_st *ptr, uint32_t server_key);
158
159 LIBMEMCACHED_API
160 uint32_t memcached_server_count(const memcached_st *);
161
162 LIBMEMCACHED_API
163 uint64_t memcached_query_id(const memcached_st *);
164
165 #ifdef __cplusplus
166 } // extern "C"
167 #endif