## CamelMsgPort

CamelMsgPort

## Synopsis

    struct              CamelMsg;
                        CamelMsgPort;
    CamelMsgPort *      camel_msgport_new                   (void);
    void                camel_msgport_destroy               (CamelMsgPort *msgport);
    gint                camel_msgport_fd                    (CamelMsgPort *msgport);
    void                camel_msgport_push                  (CamelMsgPort *msgport,
                                                             CamelMsg *msg);
    CamelMsg *          camel_msgport_pop                   (CamelMsgPort *msgport);
    CamelMsg *          camel_msgport_try_pop               (CamelMsgPort *msgport);
    CamelMsg *          camel_msgport_timeout_pop           (CamelMsgPort *msgport,
                                                             guint64 timeout);
    void                camel_msgport_reply                 (CamelMsg *msg);
    struct PRFileDesc * camel_msgport_prfd                  (CamelMsgPort *msgport);

## Description

## Details

### struct CamelMsg

    struct CamelMsg {
    	CamelMsgPort *reply_port;
    	gint flags;
    };

Since 2.24

### CamelMsgPort

    typedef struct _CamelMsgPort CamelMsgPort;

Since 2.24

### camel_msgport_new ()

    CamelMsgPort *      camel_msgport_new                   (void);

Since 2.24

### camel_msgport_destroy ()

    void                camel_msgport_destroy               (CamelMsgPort *msgport);

Since 2.24

### camel_msgport_fd ()

    gint                camel_msgport_fd                    (CamelMsgPort *msgport);

Since 2.24

### camel_msgport_push ()

    void                camel_msgport_push                  (CamelMsgPort *msgport,
                                                             CamelMsg *msg);

Since 2.24

### camel_msgport_pop ()

    CamelMsg *          camel_msgport_pop                   (CamelMsgPort *msgport);

Since 2.24

### camel_msgport_try_pop ()

    CamelMsg *          camel_msgport_try_pop               (CamelMsgPort *msgport);

Since 2.24

### camel_msgport_timeout_pop ()

    CamelMsg *          camel_msgport_timeout_pop           (CamelMsgPort *msgport,
                                                             guint64 timeout);

`msgport` : | a CamelMsgPort
`timeout` : | number of microseconds to wait

Since 3.8

### camel_msgport_reply ()

    void                camel_msgport_reply                 (CamelMsg *msg);

Since 2.24

### camel_msgport_prfd ()

    struct PRFileDesc * camel_msgport_prfd                  (CamelMsgPort *msgport);

Since 2.24