Merge in local trunk
[m6w6/libmemcached] / docs / memcached_create.rst
1 ======================================
2 Creating and destroying a memcached_st
3 ======================================
4
5 .. index:: object: memcached_st
6
7 --------
8 SYNOPSIS
9 --------
10
11 #include <libmemcached/memcached.h>
12
13 .. c:function:: memcached_st *memcached_create (memcached_st *ptr);
14
15 .. c:function:: void memcached_free (memcached_st *ptr);
16
17 .. c:function:: memcached_st *memcached_clone (memcached_st *destination, memcached_st *source);
18
19 .. c:function:: void memcached_servers_reset(memcached_st);
20
21 Compile and link with -lmemcached
22
23
24 -----------
25 DESCRIPTION
26 -----------
27
28 memcached_create() is used to create a \ ``memcached_st``\ structure that will then
29 be used by other libmemcached(3) functions to communicate with the server. You
30 should either pass a statically declared \ ``memcached_st``\ to memcached_create() or
31 a NULL. If a NULL passed in then a structure is allocated for you.
32
33 Please note, when you write new application use memcached_create_with_options() over memcached_create().
34
35 memcached_clone() is similar to memcached_create(3) but it copies the
36 defaults and list of servers from the source \ ``memcached_st``\ . If you pass a null as
37 the argument for the source to clone, it is the same as a call to memcached_create().
38 If the destination argument is NULL a \ ``memcached_st``\ will be allocated for you.
39
40 memcached_servers_reset() allows you to zero out the list of servers that
41 the memcached_st has.
42
43 To clean up memory associated with a \ ``memcached_st``\ structure you should pass
44 it to memcached_free() when you are finished using it. memcached_free() is
45 the only way to make sure all memory is deallocated when you finish using
46 the structure.
47
48 You may wish to avoid using memcached_create(3) or memcached_clone(3) with a
49 stack based allocation. The most common issues related to ABI safety involve
50 heap allocated structures.
51
52
53 ------
54 RETURN
55 ------
56
57
58 memcached_create() returns a pointer to the memcached_st that was created
59 (or initialized). On an allocation failure, it returns NULL.
60
61 memcached_clone() returns a pointer to the memcached_st that was created
62 (or initialized). On an allocation failure, it returns NULL.
63
64
65 ----
66 HOME
67 ----
68
69
70 To find out more information please check:
71 `http://libmemcached.org/ <http://libmemcached.org/>`_
72
73
74 --------
75 SEE ALSO
76 --------
77
78
79 :manpage:`memcached(1)` :manpage:`libmemcached(3)` :manpage:`memcached_strerror(3)`