|
nsz |
f81126 |
#include <sys/msg.h>
|
|
nsz |
f81126 |
#define T(t) (t*)0;
|
|
nsz |
f81126 |
#define F(t,n) {t *y = &x.;;}
|
|
nsz |
f81126 |
#define C(n) switch(n){case n:;}
|
|
nsz |
f81126 |
static void f()
|
|
nsz |
f81126 |
{
|
|
nsz |
f81126 |
T(msgqnum_t)
|
|
nsz |
f81126 |
T(msglen_t)
|
|
nsz |
f81126 |
T(pid_t)
|
|
nsz |
f81126 |
T(size_t)
|
|
nsz |
f81126 |
T(ssize_t)
|
|
nsz |
f81126 |
T(time_t)
|
|
nsz |
f81126 |
C(MSG_NOERROR)
|
|
nsz |
f81126 |
{
|
|
nsz |
f81126 |
struct msqid_ds x;
|
|
nsz |
f81126 |
F(struct ipc_perm, msg_perm)
|
|
nsz |
f81126 |
F(msgqnum_t, msg_qnum)
|
|
nsz |
f81126 |
F(msglen_t,msg_qbytes)
|
|
nsz |
f81126 |
F(pid_t, msg_lspid)
|
|
nsz |
f81126 |
F(pid_t, msg_lrpid)
|
|
nsz |
f81126 |
F(time_t, msg_stime)
|
|
nsz |
f81126 |
F(time_t, msg_rtime)
|
|
nsz |
f81126 |
F(time_t,msg_ctime)
|
|
nsz |
f81126 |
}
|
|
nsz |
f81126 |
int(*p_msgctl)(int,int,struct msqid_ds*) = msgctl;
|
|
nsz |
f81126 |
int(*p_msgget)(key_t,int) = msgget;
|
|
nsz |
f81126 |
ssize_t(*p_msgrcv)(int,void*,size_t,long,int) = msgrcv;
|
|
nsz |
f81126 |
int(*p_msgsnd)(int,const void*,size_t,int) = msgsnd;
|
|
nsz |
f81126 |
}
|