Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/include/cygwin/sem.h')
-rw-r--r--winsup/cygwin/include/cygwin/sem.h128
1 files changed, 0 insertions, 128 deletions
diff --git a/winsup/cygwin/include/cygwin/sem.h b/winsup/cygwin/include/cygwin/sem.h
deleted file mode 100644
index af7a42f36..000000000
--- a/winsup/cygwin/include/cygwin/sem.h
+++ /dev/null
@@ -1,128 +0,0 @@
-/* sys/sem.h
-
- Copyright 2002 Red Hat Inc.
- Written by Conrad Scott <conrad.scott@dsl.pipex.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 _CYGWIN_SEM_H
-#define _CYGWIN_SEM_H
-
-#include <cygwin/ipc.h>
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-
-/* Semaphore operation flags:
- */
-#define SEM_UNDO 010000 /* Set up adjust on exit entry. */
-
-/* Command definitions for the semctl () function:
- */
-#define GETNCNT 0x3000 /* Get semncnt. */
-#define GETPID 0x3001 /* Get sempid. */
-#define GETVAL 0x3002 /* Get semval. */
-#define GETALL 0x3003 /* Get all cases of semval. */
-#define GETZCNT 0x3004 /* Get semzcnt. */
-#define SETVAL 0x3005 /* Set semval. */
-#define SETALL 0x3006 /* Set all cases of semval. */
-
-#ifdef _KERNEL
-#define SEM_STAT 0x3010 /* For ipcs(8). */
-#define SEM_INFO 0x3011 /* For ipcs(8). */
-#endif /* _KERNEL */
-
-struct semid_ds
-{
- struct ipc_perm sem_perm; /* Operation permission structure. */
- unsigned short sem_nsems; /* Number of semaphores in set. */
- timestruc_t sem_otim; /* Last semop () time. */
- timestruc_t sem_ctim; /* Last time changed by semctl (). */
-#ifdef _KERNEL
- struct sem *sem_base; /* pointer to first semaphore in set */
- long sem_spare4[1];
-#else
- long sem_spare4[2];
-#endif /* _KERNEL */
-};
-
-#define sem_otime sem_otim.tv_sec
-#define sem_ctime sem_ctim.tv_sec
-
-struct sembuf
-{
- unsigned short sem_num; /* Semaphore number. */
- short sem_op; /* Semaphore operation. */
- short sem_flg; /* Operation flags. */
-};
-
-#ifdef _KERNEL
-/* Buffer type for semctl (IPC_INFO, ...) as used by ipcs(8).
- */
-struct seminfo
-{
- long semmni; /* Maximum number of unique semaphore
- sets, system wide. */
- long semmns; /* Maximum number of semaphores,
- system wide. */
- long semmsl; /* Maximum number of semaphores per
- semaphore set. */
- long semopm; /* Maximum number of operations per
- semop call. */
- long semmnu; /* Maximum number of undo structures,
- system wide. */
- long semume; /* Maximum number of undo entries per
- undo structure. */
- long semvmx; /* Maximum semaphore value. */
- long semaem; /* Maximum adjust-on-exit value. */
- long semmap; /* # of entries in semaphore map */
- long semusz; /* size in bytes of undo structure */
- long sem_spare[2];
-};
-
-/* Buffer type for semctl (SEM_INFO, ...) as used by ipcs(8).
- */
-struct sem_info
-{
- long sem_ids; /* Number of allocated semaphore sets. */
- long sem_num; /* Number of allocated semaphores. */
-};
-
-/* Permission flags */
-#define SEM_A IPC_W /* alter permission */
-#define SEM_R IPC_R /* read permission */
-
-/* Internally used mode bits. */
-#define SEM_ALLOC 01000 /* semaphore is allocated */
-
-#endif /* _KERNEL */
-
-#ifdef _KERNEL
-/* According to SUSv3, "the fourth argument [to semctl()] is optional and
- depends upon the operation requested. If required, it is of type
- union semun, which the application shall explicitly declare:" */
-union semun {
- int val; /* value for SETVAL */
- struct semid_ds *buf; /* buffer for IPC_STAT, IPC_SET */
- unsigned short *array; /* array for GETALL, SETALL */
-};
-/* Therefore this union is only declared here if building internal code.
- _KERNEL must not be defined in exernal applications! Declare union
- semun explicitely as required by SUSv3, please. */
-#endif /* _KERNEL */
-
-int semctl (int semid, int semnum, int cmd, ...);
-int semget (key_t key, int nsems, int semflg);
-int semop (int semid, struct sembuf *sops, size_t nsops);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _CYGWIN_SEM_H */