I sort of solved the problem with:
extern (C) int msgget ( key_t key, int msgflg );extern (C) int msgsnd ( int msqid, msgbuf *msgp, int msgsz, int msgflg );
struct msgbuf { long mtype; /* type of message */ int a; int b; };though this is ugly and I don't have useful constants located in C headers. I'm wondering is there a better way to utilize Linux message queue IPC in D?