summaryrefslogtreecommitdiff
path: root/winsup/cygwin/include
diff options
context:
space:
mode:
authorscottc <scottc>2002-09-21 13:48:15 +0000
committerscottc <scottc>2002-09-21 13:48:15 +0000
commitc3725593efe2563319b36f7668f060a62a83de90 (patch)
treed6c305ae8db40b2695a7b45f537a8c24a5627e0c /winsup/cygwin/include
parent0f2ae33aa7505656b5bea3f5d1dd089480e98546 (diff)
downloadgdb-c3725593efe2563319b36f7668f060a62a83de90.tar.gz
* include/sys/ipc.h: Move to "include/cygwin/ipc.h".
* include/sys/msg.h: Move to "include/cygwin/msg.h". * include/sys/sem.h: Move to "include/cygwin/sem.h". * include/sys/shm.h: Move to "include/cygwin/shm.h". * include/cygwin/ipc.h: New file. * include/cygwin/msg.h: Ditto. * include/cygwin/sem.h: Ditto. * include/cygwin/shm.h: Ditto. * cygserver_shm.h: Update includes. * msg.cc: Ditto. * sem.cc: Ditto.
Diffstat (limited to 'winsup/cygwin/include')
-rw-r--r--winsup/cygwin/include/cygwin/ipc.h58
-rw-r--r--winsup/cygwin/include/cygwin/msg.h (renamed from winsup/cygwin/include/sys/msg.h)2
-rw-r--r--winsup/cygwin/include/cygwin/sem.h (renamed from winsup/cygwin/include/sys/sem.h)2
-rw-r--r--winsup/cygwin/include/cygwin/shm.h119
-rw-r--r--winsup/cygwin/include/sys/ipc.h53
-rw-r--r--winsup/cygwin/include/sys/shm.h94
6 files changed, 93 insertions, 235 deletions
diff --git a/winsup/cygwin/include/cygwin/ipc.h b/winsup/cygwin/include/cygwin/ipc.h
index c718a173a0e..8a88a108546 100644
--- a/winsup/cygwin/include/cygwin/ipc.h
+++ b/winsup/cygwin/include/cygwin/ipc.h
@@ -1,6 +1,6 @@
/* sys/ipc.h
- Copyright 2001 Red Hat Inc.
+ Copyright 2001, 2002 Red Hat Inc.
Written by Robert Collins <rbtcollins@hotmail.com>
This file is part of Cygwin.
@@ -9,45 +9,45 @@ This software is a copyrighted work licensed under the terms of the
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
details. */
+#ifndef _SYS_IPC_H
+#define _SYS_IPC_H
+
#ifdef __cplusplus
extern "C"
{
#endif
-#ifndef _SYS_IPC_H
-#define _SYS_IPC_H
-
-/* sys/types must be included before sys/ipc.h. We aren't meant to automatically
- * include it however
+struct ipc_perm
+{
+ uid_t uid; /* Owner's user ID. */
+ gid_t gid; /* Owner's group ID. */
+ uid_t cuid; /* Creator's user ID. */
+ gid_t cgid; /* Creator's group ID. */
+ mode_t mode; /* Read/write permission. */
+ key_t key;
+};
+
+/* Mode bits:
*/
+#define IPC_CREAT 0x0200 /* Create entry if key does not exist. */
+#define IPC_EXCL 0x0400 /* Fail if key exists. */
+#define IPC_NOWAIT 0x0800 /* Error if request must wait. */
-struct ipc_perm {
- uid_t uid;
- gid_t gid;
- uid_t cuid;
- gid_t cgid;
- mode_t mode;
-};
-
-/* the mode flags used with the _get functions use the low order 9 bits for a mode
- * request
+/* Keys:
*/
-#define IPC_CREAT 0x0200
-#define IPC_EXCL 0x0400
-#define IPC_NOWAIT 0x0800
-
-/* this is a value that will _never_ be a valid key from ftok */
-#define IPC_PRIVATE -2
+#define IPC_PRIVATE ((key_t) 0) /* Private key. */
-/* ctl commands 1000-1fff is ipc reserved */
-#define IPC_RMID 0x1003
-#define IPC_SET 0x1002
-#define IPC_STAT 0x1001
+/* Control commands:
+ */
+#define IPC_RMID 0x1000 /* Remove identifier. */
+#define IPC_SET 0x1001 /* Set options. */
+#define IPC_STAT 0x1002 /* Get options. */
+#define IPC_INFO 0x1003 /* For ipcs(8). */
-key_t ftok(const char *, int);
-
-#endif /* _SYS_IPC_H */
+key_t ftok (const char *path, int id);
#ifdef __cplusplus
}
#endif
+
+#endif /* _SYS_IPC_H */
diff --git a/winsup/cygwin/include/sys/msg.h b/winsup/cygwin/include/cygwin/msg.h
index 6c1adf34d20..14e89f55699 100644
--- a/winsup/cygwin/include/sys/msg.h
+++ b/winsup/cygwin/include/cygwin/msg.h
@@ -12,7 +12,7 @@ details. */
#ifndef _SYS_MSG_H
#define _SYS_MSG_H
-#include <sys/ipc.h>
+#include <cygwin/ipc.h>
#ifdef __cplusplus
extern "C"
diff --git a/winsup/cygwin/include/sys/sem.h b/winsup/cygwin/include/cygwin/sem.h
index d37c6fd81a9..a3ece9f8a2b 100644
--- a/winsup/cygwin/include/sys/sem.h
+++ b/winsup/cygwin/include/cygwin/sem.h
@@ -12,7 +12,7 @@ details. */
#ifndef _SYS_SEM_H
#define _SYS_SEM_H
-#include <sys/ipc.h>
+#include <cygwin/ipc.h>
#ifdef __cplusplus
extern "C"
diff --git a/winsup/cygwin/include/cygwin/shm.h b/winsup/cygwin/include/cygwin/shm.h
index eb037ba19bf..b6b2d447c08 100644
--- a/winsup/cygwin/include/cygwin/shm.h
+++ b/winsup/cygwin/include/cygwin/shm.h
@@ -1,6 +1,6 @@
/* sys/shm.h
- Copyright 2001 Red Hat Inc.
+ Copyright 2001, 2002 Red Hat Inc.
Written by Robert Collins <rbtcollins@hotmail.com>
This file is part of Cygwin.
@@ -9,81 +9,86 @@ This software is a copyrighted work licensed under the terms of the
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
details. */
+#ifndef _SYS_SHM_H
+#define _SYS_SHM_H
+
+#include <cygwin/ipc.h>
+
#ifdef __cplusplus
extern "C"
{
#endif
-#ifndef _SYS_SHM_H
-#define _SYS_SHM_H
-
-#include <cygwin/ipc.h>
+/* 64 Kb was hardcoded for x86. MS states this may change, but we need
+ * it in the header file.
+ */
+#define SHMLBA 65536 /* Segment low boundary address multiple. */
-#define SHM_RDONLY 1
-/* 64 Kb was hardcoded for x86. MS states this may change, but we need it in the header
- * file.
+/* Shared memory operation flags:
*/
-#define SHMLBA 65536
-#define SHM_RND 1
+#define SHM_RDONLY 0x01 /* Attach read-only (else read-write). */
+#define SHM_RND 0x02 /* Round attach address to SHMLBA. */
-typedef long int shmatt_t;
+/* Command definitions for the semctl () function:
+ */
+#define SHM_STAT 0x4000 /* For ipcs(8) */
+#define SHM_INFO 0x4001 /* For ipcs(8) */
-#if defined(__INSIDE_CYGWIN__) && defined(__cplusplus)
+/* Unsigned integer used for the number of current attaches.
+ */
+typedef unsigned int shmatt_t;
-class _shmattach {
-public:
- void *data;
- int shmflg;
- class _shmattach *next;
+struct shmid_ds
+{
+ struct ipc_perm shm_perm; /* Operation permission structure. */
+ size_t shm_segsz; /* Size of segment in bytes. */
+ pid_t shm_lpid; /* Process ID of last operation. */
+ pid_t shm_cpid; /* Process ID of creator. */
+ shmatt_t shm_nattch; /* Number of current attaches. */
+ timestruc_t shm_atim; /* Time of last shmat (). */
+ timestruc_t shm_dtim; /* Time of last shmdt (). */
+ timestruc_t shm_ctim; /* Time of last change by shmctl (). */
+ long shm_spare4[2];
};
-class shmid_ds {
-public:
- struct ipc_perm shm_perm;
- size_t shm_segsz;
- pid_t shm_lpid;
- pid_t shm_cpid;
- shmatt_t shm_nattch;
- time_t shm_atime;
- time_t shm_dtime;
- time_t shm_ctime;
- void *mapptr;
-};
+#define shm_atime shm_atim.tv_sec
+#define shm_dtime shm_dtim.tv_sec
+#define shm_ctime shm_ctim.tv_sec
-class shmnode {
-public:
- class shmid_ds * shmds;
- int shm_id;
- class shmnode *next;
- key_t key;
- HANDLE filemap;
- HANDLE attachmap;
- class _shmattach *attachhead;
+/* Buffer type for shmctl (IPC_INFO, ...) as used by ipcs(8).
+ */
+struct shminfo
+{
+ unsigned long shmmax; /* Maximum size in bytes of a shared
+ memory segment. */
+ unsigned long shmmin; /* Minimum size in bytes of a shared
+ memory segment. */
+ unsigned long shmmni; /* Maximum number of shared memory
+ segments, system wide. */
+ unsigned long shmseg; /* Maximum number of shared memory
+ segments attached per process. */
+ unsigned long shmall; /* Maximum number of bytes of shared
+ memory, system wide. */
+ unsigned long shm_spare[4];
};
-#else
-/* this is what we return when queried. It has no bitwise correspondence
- * the internal structures
+/* Buffer type for shmctl (SHM_INFO, ...) as used by ipcs(8).
*/
-struct shmid_ds {
- struct ipc_perm shm_perm;
- size_t shm_segsz;
- pid_t shm_lpid;
- pid_t shm_cpid;
- shmatt_t shm_nattch;
- time_t shm_atime;
- time_t shm_dtime;
- time_t shm_ctime;
+struct shm_info
+{
+ unsigned long shm_ids; /* Number of allocated segments. */
+ unsigned long shm_tot; /* Size in bytes of allocated segments. */
+ unsigned long shm_atts; /* Number of attached segments, system
+ wide. */
};
-#endif /* __INSIDE_CYGWIN__ */
-
-void *shmat(int, const void *, int);
-int shmctl(int, int, struct shmid_ds *);
-int shmdt(const void *);
-int shmget(key_t, size_t, int);
-#endif /* _SYS_SHM_H */
+void *shmat (int shmid, const void *shmaddr, int shmflg);
+int shmctl (int shmid, int cmd, struct shmid_ds *buf);
+int shmdt (const void *shmaddr);
+int shmget (key_t key, size_t size, int shmflg);
#ifdef __cplusplus
}
#endif
+
+#endif /* _SYS_SHM_H */
diff --git a/winsup/cygwin/include/sys/ipc.h b/winsup/cygwin/include/sys/ipc.h
deleted file mode 100644
index 8a88a108546..00000000000
--- a/winsup/cygwin/include/sys/ipc.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/* sys/ipc.h
-
- Copyright 2001, 2002 Red Hat Inc.
- Written by Robert Collins <rbtcollins@hotmail.com>
-
-This file is part of Cygwin.
-
-This software is a copyrighted work licensed under the terms of the
-Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-details. */
-
-#ifndef _SYS_IPC_H
-#define _SYS_IPC_H
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-
-struct ipc_perm
-{
- uid_t uid; /* Owner's user ID. */
- gid_t gid; /* Owner's group ID. */
- uid_t cuid; /* Creator's user ID. */
- gid_t cgid; /* Creator's group ID. */
- mode_t mode; /* Read/write permission. */
- key_t key;
-};
-
-/* Mode bits:
- */
-#define IPC_CREAT 0x0200 /* Create entry if key does not exist. */
-#define IPC_EXCL 0x0400 /* Fail if key exists. */
-#define IPC_NOWAIT 0x0800 /* Error if request must wait. */
-
-/* Keys:
- */
-#define IPC_PRIVATE ((key_t) 0) /* Private key. */
-
-/* Control commands:
- */
-#define IPC_RMID 0x1000 /* Remove identifier. */
-#define IPC_SET 0x1001 /* Set options. */
-#define IPC_STAT 0x1002 /* Get options. */
-#define IPC_INFO 0x1003 /* For ipcs(8). */
-
-key_t ftok (const char *path, int id);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SYS_IPC_H */
diff --git a/winsup/cygwin/include/sys/shm.h b/winsup/cygwin/include/sys/shm.h
deleted file mode 100644
index d5c7d2519af..00000000000
--- a/winsup/cygwin/include/sys/shm.h
+++ /dev/null
@@ -1,94 +0,0 @@
-/* sys/shm.h
-
- Copyright 2001, 2002 Red Hat Inc.
- Written by Robert Collins <rbtcollins@hotmail.com>
-
-This file is part of Cygwin.
-
-This software is a copyrighted work licensed under the terms of the
-Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-details. */
-
-#ifndef _SYS_SHM_H
-#define _SYS_SHM_H
-
-#include <sys/ipc.h>
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-
-/* 64 Kb was hardcoded for x86. MS states this may change, but we need
- * it in the header file.
- */
-#define SHMLBA 65536 /* Segment low boundary address multiple. */
-
-/* Shared memory operation flags:
- */
-#define SHM_RDONLY 0x01 /* Attach read-only (else read-write). */
-#define SHM_RND 0x02 /* Round attach address to SHMLBA. */
-
-/* Command definitions for the semctl () function:
- */
-#define SHM_STAT 0x4000 /* For ipcs(8) */
-#define SHM_INFO 0x4001 /* For ipcs(8) */
-
-/* Unsigned integer used for the number of current attaches.
- */
-typedef unsigned int shmatt_t;
-
-struct shmid_ds
-{
- struct ipc_perm shm_perm; /* Operation permission structure. */
- size_t shm_segsz; /* Size of segment in bytes. */
- pid_t shm_lpid; /* Process ID of last operation. */
- pid_t shm_cpid; /* Process ID of creator. */
- shmatt_t shm_nattch; /* Number of current attaches. */
- timestruc_t shm_atim; /* Time of last shmat (). */
- timestruc_t shm_dtim; /* Time of last shmdt (). */
- timestruc_t shm_ctim; /* Time of last change by shmctl (). */
- long shm_spare4[2];
-};
-
-#define shm_atime shm_atim.tv_sec
-#define shm_dtime shm_dtim.tv_sec
-#define shm_ctime shm_ctim.tv_sec
-
-/* Buffer type for shmctl (IPC_INFO, ...) as used by ipcs(8).
- */
-struct shminfo
-{
- unsigned long shmmax; /* Maximum size in bytes of a shared
- memory segment. */
- unsigned long shmmin; /* Minimum size in bytes of a shared
- memory segment. */
- unsigned long shmmni; /* Maximum number of shared memory
- segments, system wide. */
- unsigned long shmseg; /* Maximum number of shared memory
- segments attached per process. */
- unsigned long shmall; /* Maximum number of bytes of shared
- memory, system wide. */
- unsigned long shm_spare[4];
-};
-
-/* Buffer type for shmctl (SHM_INFO, ...) as used by ipcs(8).
- */
-struct shm_info
-{
- unsigned long shm_ids; /* Number of allocated segments. */
- unsigned long shm_tot; /* Size in bytes of allocated segments. */
- unsigned long shm_atts; /* Number of attached segments, system
- wide. */
-};
-
-void *shmat (int shmid, const void *shmaddr, int shmflg);
-int shmctl (int shmid, int cmd, struct shmid_ds *buf);
-int shmdt (const void *shmaddr);
-int shmget (key_t key, size_t size, int shmflg);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SYS_SHM_H */