docs: sanitize
[awesomized/libmemcached] / docs / source / libmemcached / memcached_create.rst
1 Creating and destroying a memcached_st
2 ======================================
3
4 SYNOPSIS
5 --------
6
7 #include <libmemcached/memcached.h>
8
9 .. type:: memcached_st
10
11 .. function:: memcached_st* memcached_create(memcached_st *ptr)
12
13 .. function:: void memcached_free(memcached_st *ptr)
14
15 .. function:: memcached_st* memcached_clone(memcached_st *destination, memcached_st *source)
16
17 .. function:: void memcached_servers_reset(memcached_st)
18
19 Compile and link with -lmemcached
20
21 DESCRIPTION
22 -----------
23
24 :func:`memcached_create` is used to create a :type:`memcached_st`
25 structure that will then be used by other libmemcached(3) functions to
26 communicate with the server. You should either pass a statically declared
27 :type:`memcached_st` to :func:`memcached_create` or
28 a NULL. If a NULL passed in then a structure is allocated for you.
29
30 Please note, when you write new application use
31 :func:`memcached` over :func:`memcached_create`.
32
33 :func:`memcached_clone` is similar to :func:`memcached_create` but
34 it copies the defaults and list of servers from the source
35 :type:`memcached_st`. If you pass a null as the argument for the source
36 to clone, it is the same as a call to :func:`memcached_create`.
37 If the destination argument is NULL a :type:`memcached_st` will be allocated
38 for you.
39
40 :func:`memcached_servers_reset` allows you to zero out the list of
41 servers that the :type:`memcached_st` has.
42
43 To clean up memory associated with a :type:`memcached_st` structure you
44 should pass it to :func:`memcached_free` when you are finished using it.
45 :func:`memcached_free` is the only way to make sure all memory is
46 deallocated when you finish using 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 RETURN
53 ------
54
55 :func:`memcached_create` returns a pointer to the :type:`memcached_st`
56 that was created (or initialized). On an allocation failure, it returns NULL.
57
58 :func:`memcached_clone` returns a pointer to the :type:`memcached_st`
59 that was created (or initialized). On an allocation failure, it returns NULL.
60
61 SEE ALSO
62 --------
63
64 .. only:: man
65
66 :manpage:`memcached(1)` :manpage:`libmemcached(3)` :manpage:`memcached_strerror(3)`