Initial commit from HTC m7ul-3.4.10-jb-crc-ddcfb8c
diff --git a/include/linux/msg.h b/include/linux/msg.h
new file mode 100644
index 0000000..d0bb344
--- /dev/null
+++ b/include/linux/msg.h
@@ -0,0 +1,94 @@
+#ifndef _LINUX_MSG_H
+#define _LINUX_MSG_H
+
+#include <linux/ipc.h>
+
+#define MSG_STAT 11
+#define MSG_INFO 12
+
+#define MSG_NOERROR 010000
+#define MSG_EXCEPT 020000
+
+struct msqid_ds {
+ struct ipc_perm msg_perm;
+ struct msg *msg_first;
+ struct msg *msg_last;
+ __kernel_time_t msg_stime;
+ __kernel_time_t msg_rtime;
+ __kernel_time_t msg_ctime;
+ unsigned long msg_lcbytes;
+ unsigned long msg_lqbytes;
+ unsigned short msg_cbytes;
+ unsigned short msg_qnum;
+ unsigned short msg_qbytes;
+ __kernel_ipc_pid_t msg_lspid;
+ __kernel_ipc_pid_t msg_lrpid;
+};
+
+#include <asm/msgbuf.h>
+
+struct msgbuf {
+ long mtype;
+ char mtext[1];
+};
+
+struct msginfo {
+ int msgpool;
+ int msgmap;
+ int msgmax;
+ int msgmnb;
+ int msgmni;
+ int msgssz;
+ int msgtql;
+ unsigned short msgseg;
+};
+
+#define MSG_MEM_SCALE 32
+
+#define MSGMNI 16
+#define MSGMAX 8192
+#define MSGMNB 16384
+
+#define MSGPOOL (MSGMNI * MSGMNB / 1024)
+#define MSGTQL MSGMNB
+#define MSGMAP MSGMNB
+#define MSGSSZ 16
+#define __MSGSEG ((MSGPOOL * 1024) / MSGSSZ)
+#define MSGSEG (__MSGSEG <= 0xffff ? __MSGSEG : 0xffff)
+
+#ifdef __KERNEL__
+#include <linux/list.h>
+
+struct msg_msg {
+ struct list_head m_list;
+ long m_type;
+ int m_ts;
+ struct msg_msgseg* next;
+ void *security;
+
+};
+
+struct msg_queue {
+ struct kern_ipc_perm q_perm;
+ time_t q_stime;
+ time_t q_rtime;
+ time_t q_ctime;
+ unsigned long q_cbytes;
+ unsigned long q_qnum;
+ unsigned long q_qbytes;
+ pid_t q_lspid;
+ pid_t q_lrpid;
+
+ struct list_head q_messages;
+ struct list_head q_receivers;
+ struct list_head q_senders;
+};
+
+extern long do_msgsnd(int msqid, long mtype, void __user *mtext,
+ size_t msgsz, int msgflg);
+extern long do_msgrcv(int msqid, long *pmtype, void __user *mtext,
+ size_t msgsz, long msgtyp, int msgflg);
+
+#endif
+
+#endif