#ifndef UI_IPC_H #define UI_IPC_H 1 #include "status.h" #include "config.h" #define IPC_MQSIZ 128 enum UI_IPC_SEM { SEM_RD = 0, /* UI Init done? */ SEM_UI, /* TUI active? */ SEM_IN, /* Textfield has input avail */ SEM_BS, /* Master process busy */ SEM_NUM }; enum UI_IPC_MSQ { MQ_PW = 0, MQ_IF, MSQ_NUM }; int ui_ipc_init(int is_master); void ui_ipc_free(int is_master); int ui_ipc_sempost(enum UI_IPC_SEM e_sp); int ui_ipc_semwait(enum UI_IPC_SEM e_sp); int ui_ipc_semtrywait(enum UI_IPC_SEM e_sp); int ui_ipc_getvalue(enum UI_IPC_SEM e_sp); #ifdef SEM_TIMEDWAIT int ui_ipc_semtimedwait(enum UI_IPC_MSQ e_sp, int timeout); #endif int ui_ipc_msgsend(enum UI_IPC_MSQ e_mq, const char *msg_ptr); ssize_t ui_ipc_msgrecv(enum UI_IPC_MSQ e_mq, char *msg_ptr); long ui_ipc_msgcount(enum UI_IPC_MSQ e_mq); #endif