1#include <sys/msg.h> 2#define T(t) (t*)0; 3#define F(t,n) {t *y = &x.n;} 4#define C(n) switch(n){case n:;} 5static void f() 6{ 7T(msgqnum_t) 8T(msglen_t) 9T(pid_t) 10T(size_t) 11T(ssize_t) 12T(time_t) 13C(MSG_NOERROR) 14{ 15struct msqid_ds x; 16F(struct ipc_perm, msg_perm) 17F(msgqnum_t, msg_qnum) 18F(msglen_t,msg_qbytes) 19F(pid_t, msg_lspid) 20F(pid_t, msg_lrpid) 21F(time_t, msg_stime) 22F(time_t, msg_rtime) 23F(time_t,msg_ctime) 24} 25{int(*p)(int,int,struct msqid_ds*) = msgctl;} 26{int(*p)(key_t,int) = msgget;} 27{ssize_t(*p)(int,void*,size_t,long,int) = msgrcv;} 28{int(*p)(int,const void*,size_t,int) = msgsnd;} 29} 30