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