Last change
on this file was
444,
checked in by satin@…, 6 years ago
|
add newlib,libalmos-mkh, restructure shared_syscalls.h and mini-libc
|
File size:
1.4 KB
|
Line | |
---|
1 | /* local definitions needed by mq routines */ |
---|
2 | |
---|
3 | #include <sys/msg.h> |
---|
4 | #include <signal.h> |
---|
5 | |
---|
6 | /* a message */ |
---|
7 | typedef struct |
---|
8 | { |
---|
9 | unsigned int type; |
---|
10 | char text[1]; |
---|
11 | } MSG; |
---|
12 | |
---|
13 | union semun { |
---|
14 | int val; |
---|
15 | struct semid_ds *buf; |
---|
16 | unsigned short *array; |
---|
17 | } arg; |
---|
18 | |
---|
19 | /* |
---|
20 | * One of these structures is malloced to describe any open message queue |
---|
21 | * each time mq_open is called. |
---|
22 | */ |
---|
23 | |
---|
24 | struct libc_mq; |
---|
25 | |
---|
26 | struct libc_mq { |
---|
27 | int index; /* index of this message queue */ |
---|
28 | int msgqid; /* value returned by msgget */ |
---|
29 | int semid; /* semaphore id */ |
---|
30 | int fd; /* fd of shared memory file */ |
---|
31 | int oflag; /* original open flag used */ |
---|
32 | int th; /* thread id for mq_notify */ |
---|
33 | char *name; /* name used */ |
---|
34 | MSG *wrbuf; /* msg write buffer */ |
---|
35 | MSG *rdbuf; /* msg read buffer */ |
---|
36 | struct mq_attr *attr; /* pointer to attribute structure */ |
---|
37 | struct sigevent *sigevent; /* used for mq_notify */ |
---|
38 | void (*cleanup_notify)(struct libc_mq *); /* also used for mq_notify */ |
---|
39 | struct libc_mq *next; /* next info struct in hash table */ |
---|
40 | }; |
---|
41 | |
---|
42 | extern struct libc_mq *__find_mq (mqd_t mq); |
---|
43 | extern void __cleanup_mq (mqd_t mq); |
---|
44 | extern void __cleanup_mq_notify (struct libc_mq *ptr); |
---|
45 | |
---|
46 | #define MSGQ_PREFIX "/dev/shm/__MSGQ__" |
---|
47 | |
---|
Note: See
TracBrowser
for help on using the repository browser.