You just need to pass the address of the structure and apply it to the corresponding pointer type: const char * for mq_send and char * for mq_receive .
typedef struct Req { pid_t pid; char data[4096]; } Req; Req buf; n = mq_receive(mqdes0, (char *) &buf, sizeof(buf), NULL); mq_send(mqdes1, (const char *) &buf, sizeof(buf), 0);
source share