Update (clarify weighted usage).
[m6w6/libmemcached] / libmemcached-1.0 / types.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
39 #pragma once
40
41 #ifdef __cplusplus
42
43 namespace org { namespace libmemcached { class Instance; } }
44
45 struct memcached_st;
46 struct memcached_stat_st;
47 struct memcached_analysis_st;
48 struct memcached_result_st;
49 struct memcached_array_st;
50 struct memcached_error_t;
51
52 // All of the flavors of memcache_server_st
53 struct memcached_server_st;
54 struct memcached_instance_st;
55 typedef const org::libmemcached::Instance* memcached_server_instance_st;
56 typedef struct memcached_server_st *memcached_server_list_st;
57
58 struct memcached_callback_st;
59
60 // The following two structures are internal, and never exposed to users.
61 struct memcached_string_st;
62 struct memcached_string_t;
63 struct memcached_continuum_item_st;
64
65 #else
66
67 typedef struct memcached_st memcached_st;
68 typedef struct memcached_stat_st memcached_stat_st;
69 typedef struct memcached_analysis_st memcached_analysis_st;
70 typedef struct memcached_result_st memcached_result_st;
71 typedef struct memcached_array_st memcached_array_st;
72 typedef struct memcached_error_t memcached_error_t;
73
74 // All of the flavors of memcache_server_st
75 typedef struct memcached_server_st memcached_server_st;
76 typedef const void *memcached_server_instance_st;
77 typedef struct memcached_server_st *memcached_server_list_st;
78
79 typedef struct memcached_callback_st memcached_callback_st;
80
81 // The following two structures are internal, and never exposed to users.
82 typedef struct memcached_string_st memcached_string_st;
83 typedef struct memcached_string_t memcached_string_t;
84
85 #endif