---
name: "Memcached::libmemcached::memcached_server_st"
section: "3pm"
platform: "linux"
package: "libmemcached-libmemcached-perl"
version: "1.001801+dfsg-5+b2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Memcached::libmemcached::memcached_server_st"
---

# Memcached::libmemcached::memcached\_server\_st(3pm)

Manage server list

## NAME

memcached\_server\_list\_free, memcached\_server\_list\_append, memcached\_server\_list\_count, memcached\_servers\_parse - Manage server list

## LIBRARY

C Client Library for memcached (libmemcached, -lmemcached)

## SYNOPSIS

```
  #include <memcached.h>
  const memcached_server_instance_st
    memcached_server_list (memcached_st *ptr);
  void memcached_server_list_free (memcached_server_list_st list);
  memcached_server_list_st
    memcached_server_list_append (memcached_server_list_st list,
                                  const char *hostname,
                                  unsigned int port,
                                  memcached_return_t *error);
  uint32_t memcached_server_list_count (memcached_server_list_st list);
  memcached_server_list_st memcached_servers_parse (const char *server_strings);
  const char *memcached_server_error (memcached_server_instance_st instance);
  DEPRECATED
  void memcached_server_error_reset (memcached_server_instance_st list);
```

## DESCRIPTION

[**libmemcached**(3)](/libmemcached/3.md) operates on a list of hosts which are stored in memcached\_server\_st structures. You should not modify these structures directly. Functions are provided to modify these structures (and more can be added, just ask!).

**memcached\_server\_list()** is used to provide an array of all defined hosts. This was incorrectly documented as "requiring **free()**" up till version 0.39.

**memcached\_server\_list\_free()** deallocates all memory associated with the array of memcached\_server\_st that you passed to it.

**memcached\_server\_list\_append()** adds a server to the end of a memcached\_server\_st array. On error null will be returned and the memcached\_return\_t pointer you passed into the function will be set with the appropriate error. If the value of port is zero, it is set to the default port of a memcached server.

**memcached\_servers\_parse()** takes a string, the type that is used for the command line applications, and parse it to an array of memcached\_server\_st. The example is "localhost, foo:555, foo, bar". All hosts except foo:555 will be set to the default port, while that host will have a port of 555.

**memcached\_server\_error()** can be used to look at the text of the last error  message sent by the server to to the client.

Before version 0.39 theses functions used a memcache\_server\_st \*. In 0.39 memcached\_server\_st \* was aliased to memcached\_server\_list\_st. This was done for a style reason/to help clean up some concepts in the code.

## RETURN

Varies, see particular functions.

## HOME

To find out more information please check: \<https://launchpad.net/libmemcached\>

## AUTHOR

Brian Aker, \<brian@tangent.org\>

## SEE ALSO

[**memcached**(1)](/memcached/1.md) [**libmemcached**(3)](/libmemcached/3.md) [**memcached\_strerror**(3)](/memcached_strerror/3.md)
