diff options
Diffstat (limited to 'code/core/msgq.h')
-rw-r--r-- | code/core/msgq.h | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/code/core/msgq.h b/code/core/msgq.h index 54319e0..75c795e 100644 --- a/code/core/msgq.h +++ b/code/core/msgq.h @@ -1,23 +1,26 @@ -#ifdef ECP_WITH_PTHREAD +#ifdef ECP_WITH_MSGQ #include <pthread.h> #include <string.h> -#define ECP_MAX_CONN_MSG 32 -#define ECP_ERR_MAX_CONN_MSG -100 +#define ECP_MSGQ_MAX_MSG 32 +#define ECP_MSGQ_ERR_MAX_MSG -110 typedef struct ECPConnMsgQ { unsigned short idx_w[ECP_MAX_MTYPE]; unsigned short idx_r[ECP_MAX_MTYPE]; - ecp_seq_t seq_msg[ECP_MAX_MTYPE][ECP_MAX_CONN_MSG]; + ecp_seq_t seq_start; + ecp_seq_t seq_max; + ecp_seq_t seq_msg[ECP_MAX_MTYPE][ECP_MSGQ_MAX_MSG]; pthread_cond_t cond[ECP_MAX_MTYPE]; pthread_mutex_t mutex; } ECPConnMsgQ; int ecp_conn_msgq_create(struct ECPConnection *conn); void ecp_conn_msgq_destroy(struct ECPConnection *conn); +int ecp_conn_msgq_start(struct ECPConnection *conn, ecp_seq_t seq); int ecp_conn_msgq_push(struct ECPConnection *conn, ecp_seq_t seq, unsigned char mtype); ssize_t ecp_conn_msgq_pop(struct ECPConnection *conn, unsigned char mtype, unsigned char *msg, size_t msg_size, unsigned int timeout); -#endif /* ECP_WITH_PTHREAD */
\ No newline at end of file +#endif /* ECP_WITH_MSGQ */
\ No newline at end of file |