SysV IPC headers
[reactos.git] / posix / include / sys / msg.h
index ae97d2a..af0ff04 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: msg.h,v 1.2 2002/02/20 09:17:56 hyperion Exp $
+/* $Id: msg.h,v 1.3 2002/05/17 01:37:15 hyperion Exp $
  */
 /*
  * sys/msg.h
 #define __SYS_SOCKET_H_INCLUDED__
 
 /* INCLUDES */
+#include <sys/ipc.h>
 
 /* OBJECTS */
 
 /* TYPES */
+typedef unsigned int msgqnum_t; /* Used for the number of messages in the message queue */
+typedef unsigned int msglen_t;  /* Used for the number of bytes allowed in a message queue */
+
+struct msqid_ds
+{
+ struct ipc_perm msg_perm;   /* operation permission structure */
+ msgqnum_t       msg_qnum;   /* number of messages currently on queue */
+ msglen_t        msg_qbytes; /* maximum number of bytes allowed on queue */
+ pid_t           msg_lspid;  /* process ID of last msgsnd() */
+ pid_t           msg_lrpid;  /* process ID of last msgrcv() */
+ time_t          msg_stime;  /* time of last msgsnd() */
+ time_t          msg_rtime;  /* time of last msgrcv() */
+ time_t          msg_ctime;  /* time of last change */
+};
 
 /* CONSTANTS */
+/* Message operation flag */
+#define MSG_NOERROR (0x00001000) /* No error if big message */
 
 /* PROTOTYPES */
+int       msgctl(int, int, struct msqid_ds *);
+int       msgget(key_t, int);
+ssize_t   msgrcv(int, void *, size_t, long int, int);
+int       msgsnd(int, const void *, size_t, int);
 
 /* MACROS */