---
name: "nng_socket_proto_name"
section: "3"
platform: "linux"
package: "libnng-dev"
version: "1.10.1-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/nng_socket_proto_name"
---

# nng\_socket\_proto\_name(3)

obtain the socket protocol name

## NAME

nng\_socket\_proto\_name - obtain the socket protocol name

## SYNOPSIS

```
#include <nng/nng.h>
int nng_socket_proto_name(nng_socket s, const char **name);
int nng_socket_peer_name(nng_socket s, const char **name);
```

## DESCRIPTION

These functions store the protocol name of either the socket *s*, or its natural peer, in \_name.

**Note**\

The string value obtained by these functions is statically stored as part of the program text, and must not be freed or modified.

**Tip**\

These functions should be used in place of the `NNG_OPT_PROTONAME` and `NNG_OPT_PEERNAME` options in new code.

## RETURN VALUES

These functions return zero on success, or an error if the socket is invalid.

## ERRORS

`NNG_ECLOSED`

Parameter *s* does not refer to an open socket.

## SEE ALSO

[nng\_socket(5)](/nng_socket/5.md), [nng(7)](/nng/7.md)
