+/* Attempts to receive a message from 'rpc'.
+ *
+ * If successful, stores the received message in '*msgp' and returns 0. The
+ * caller takes ownership of '*msgp' and must eventually destroy it with
+ * jsonrpc_msg_destroy().
+ *
+ * Otherwise, stores NULL in '*msgp' and returns one of the following:
+ *
+ * - EAGAIN: No message has been received.
+ *
+ * - EOF: The remote end closed the connection gracefully.
+ *
+ * - Otherwise an errno value that represents a JSON-RPC protocol violation
+ * or another error fatal to the connection. 'rpc' will not send or
+ * receive any more messages.
+ */