Merge lp:~tangent-org/libmemcached/1.0-build/ Build: jenkins-Libmemcached-187
[m6w6/libmemcached] / clients / utilities.h
1 /* LibMemcached
2 * Copyright (C) 2006-2009 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:
9 *
10 */
11
12 #pragma once
13
14 #include <getopt.h>
15 #include <libmemcached-1.0/memcached.h>
16 #include "clients/client_options.h"
17
18 #if defined(HAVE_SYS_TIME_H)
19 # include <sys/time.h>
20 #endif
21
22 #if defined(HAVE_TIME_H)
23 # include <time.h>
24 #endif
25
26
27 #ifdef __sun
28 /* For some odd reason the option struct on solaris defines the argument
29 * as char* and not const char*
30 */
31 #define OPTIONSTRING char*
32 #else
33 #define OPTIONSTRING const char*
34 #endif
35
36 typedef struct memcached_programs_help_st memcached_programs_help_st;
37
38 struct memcached_programs_help_st
39 {
40 char *not_used_yet;
41 };
42
43 #ifdef __cplusplus
44 extern "C" {
45 #endif
46
47 char *strdup_cleanup(const char *str);
48 void cleanup(void);
49 long int timedif(struct timeval a, struct timeval b);
50 void version_command(const char *command_name) __attribute__ ((noreturn));
51 void help_command(const char *command_name, const char *description,
52 const struct option *long_options,
53 memcached_programs_help_st *options) __attribute__ ((noreturn));
54 void process_hash_option(memcached_st *memc, char *opt_hash);
55 bool initialize_sasl(memcached_st *memc, char *user, char *password);
56 void shutdown_sasl(void);
57 void initialize_sockets(void);
58 void close_stdio(void);
59
60 #ifdef __cplusplus
61 } // extern "C"
62 #endif