---
name: "zmq_msg_get"
section: "3"
platform: "linux"
package: "zeromq"
version: "4.3.5-3"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/zmq_msg_get"
---

# zmq\_msg\_get(3)

get message property

## NAME

zmq\_msg\_get - get message property

## SYNOPSIS

**int zmq\_msg\_get (zmq\_msg\_t** *\*message***, int** *property***);**

## DESCRIPTION

The *zmq\_msg\_get()* function shall return the value for the property specified by the *property* argument for the message pointed to by the *message* argument.

The following properties can be retrieved with the *zmq\_msg\_get()* function:

**ZMQ\_MORE**

Indicates that there are more message frames to follow after the *message*.

**ZMQ\_SRCFD**

Returns the file descriptor of the socket the *message* was read from. This allows application to retrieve the remote endpoint via *[getpeername(2)](/getpeername/2.md)*. Be aware that the respective socket might be closed already, reused even. Currently only implemented for TCP sockets.

**ZMQ\_SHARED**

Indicates that a message MAY share underlying storage with another copy of this message.

## RETURN VALUE

The *zmq\_msg\_get()* function shall return the value for the property if successful. Otherwise it shall return -1 and set *errno* to one of the values defined below.

## ERRORS

**EINVAL**

The requested *property* is unknown.

## EXAMPLE

**Receiving a multi-frame message**.

```
zmq_msg_t frame;
while (true) {
    //  Create an empty 0MQ message to hold the message frame
    int rc = zmq_msg_init (&frame);
    assert (rc == 0);
    //  Block until a message is available to be received from socket
    rc = zmq_msg_recv (socket, &frame, 0);
    assert (rc != -1);
    if (zmq_msg_get (&frame, ZMQ_MORE))
        fprintf (stderr, "more\n");
    else {
        fprintf (stderr, "end\n");
        break;
    }
    zmq_msg_close (&frame);
}
```

## SEE ALSO

[**zmq\_msg\_set**(3)](/zmq_msg_set/3.md) [**zmq\_msg\_init**(3)](/zmq_msg_init/3.md) [**zmq\_msg\_close**(3)](/zmq_msg_close/3.md) [**zmq**(7)](/zmq/7.md)

## AUTHORS

This page was written by the 0MQ community. To make a change please read the 0MQ Contribution Policy at **http://www.zeromq.org/docs:contributing**.
