Ignore *.exe
[awesomized/libmemcached] / libmemcached / sasl.h
1 /* LibMemcached
2 * Copyright (C) 2006-2010 Brian Aker
3 * All rights reserved.
4 *
5 * Use and distribution licensed under the BSD license. See
6 * the COPYING file in the parent directory for full text.
7 *
8 * Summary: interface for memcached server
9 * Description: main include file for libmemcached
10 *
11 */
12 #ifndef LIBMEMCACHED_MEMCACHED_SASL_H
13 #define LIBMEMCACHED_MEMCACHED_SASL_H
14
15 #ifdef LIBMEMCACHED_WITH_SASL_SUPPORT
16 #include <sasl/sasl.h>
17
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21
22 LIBMEMCACHED_API
23 void memcached_set_sasl_callbacks(memcached_st *ptr,
24 const sasl_callback_t *callbacks);
25
26 LIBMEMCACHED_API
27 memcached_return_t memcached_set_sasl_auth_data(memcached_st *ptr,
28 const char *username,
29 const char *password);
30
31 LIBMEMCACHED_API
32 memcached_return_t memcached_destroy_sasl_auth_data(memcached_st *ptr);
33
34
35 LIBMEMCACHED_API
36 const sasl_callback_t *memcached_get_sasl_callbacks(memcached_st *ptr);
37
38 LIBMEMCACHED_LOCAL
39 memcached_return_t memcached_clone_sasl(memcached_st *clone, const memcached_st *source);
40
41 LIBMEMCACHED_LOCAL
42 memcached_return_t memcached_sasl_authenticate_connection(memcached_server_st *server);
43
44 #ifdef __cplusplus
45 }
46 #endif
47
48 #endif /* LIBMEMCACHED_WITH_SASL_SUPPORT */
49
50 struct memcached_sasl_st {
51 #ifdef LIBMEMCACHED_WITH_SASL_SUPPORT
52 const sasl_callback_t *callbacks;
53 #else
54 const void *callbacks;
55 #endif
56 /*
57 ** Did we allocate data inside the callbacks, or did the user
58 ** supply that.
59 */
60 bool is_allocated;
61 };
62
63
64
65 #endif /* LIBMEMCACHED_MEMCACHED_SASL_H */