summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@home.transmeta.com>2002-07-18 20:53:24 -0700
committerLinus Torvalds <torvalds@home.transmeta.com>2002-07-18 20:53:24 -0700
commitb15d45bfd7a7fa994adec7a32673a448b5155cb0 (patch)
tree49cfe555172ae41f4acdddc58ae0fd7d53330336 /include
parentfaaab2cfed81a30e38ad15051865d5cd7cbf8274 (diff)
parent853ac9783a4eb61affd2ab4ca47a5b0d69c0c110 (diff)
Merge bk://lsm.bkbits.net/linus-2.5
into home.transmeta.com:/home/torvalds/v2.5/linux
Diffstat (limited to 'include')
-rw-r--r--include/linux/msg.h29
-rw-r--r--include/linux/shm.h13
2 files changed, 42 insertions, 0 deletions
diff --git a/include/linux/msg.h b/include/linux/msg.h
index 4dfca8d4952c..4b64aebf312e 100644
--- a/include/linux/msg.h
+++ b/include/linux/msg.h
@@ -63,6 +63,35 @@ struct msginfo {
#ifdef __KERNEL__
+/* one msg_msg structure for each message */
+struct msg_msg {
+ struct list_head m_list;
+ long m_type;
+ int m_ts; /* message text size */
+ struct msg_msgseg* next;
+ /* the actual message follows immediately */
+};
+
+#define DATALEN_MSG (PAGE_SIZE-sizeof(struct msg_msg))
+#define DATALEN_SEG (PAGE_SIZE-sizeof(struct msg_msgseg))
+
+/* one msq_queue structure for each present queue on the system */
+struct msg_queue {
+ struct kern_ipc_perm q_perm;
+ time_t q_stime; /* last msgsnd time */
+ time_t q_rtime; /* last msgrcv time */
+ time_t q_ctime; /* last change time */
+ unsigned long q_cbytes; /* current number of bytes on queue */
+ unsigned long q_qnum; /* number of messages in queue */
+ unsigned long q_qbytes; /* max number of bytes on queue */
+ pid_t q_lspid; /* pid of last msgsnd */
+ pid_t q_lrpid; /* last receive pid */
+
+ struct list_head q_messages;
+ struct list_head q_receivers;
+ struct list_head q_senders;
+};
+
asmlinkage long sys_msgget (key_t key, int msgflg);
asmlinkage long sys_msgsnd (int msqid, struct msgbuf *msgp, size_t msgsz, int msgflg);
asmlinkage long sys_msgrcv (int msqid, struct msgbuf *msgp, size_t msgsz, long msgtyp, int msgflg);
diff --git a/include/linux/shm.h b/include/linux/shm.h
index be3351619c2e..be7d433725ca 100644
--- a/include/linux/shm.h
+++ b/include/linux/shm.h
@@ -71,6 +71,19 @@ struct shm_info {
};
#ifdef __KERNEL__
+struct shmid_kernel /* private to the kernel */
+{
+ struct kern_ipc_perm shm_perm;
+ struct file * shm_file;
+ int id;
+ unsigned long shm_nattch;
+ unsigned long shm_segsz;
+ time_t shm_atim;
+ time_t shm_dtim;
+ time_t shm_ctim;
+ pid_t shm_cprid;
+ pid_t shm_lprid;
+};
/* shm_mode upper byte flags */
#define SHM_DEST 01000 /* segment will be destroyed on last detach */