Листинг 10.36. Заголовочный файл semaphore.h
//my_pxsem_svsem/semaphore.h
1 /* фундаментальный тип данных */
2 typedef struct {
3 int sem_semid; /* идентификатор семафора System V */
4 int sem_magic; /* магическое значение, если семафор открыт */
5 } mysem_t;
6 #define SEM_MAGIC 0x45678923
7 #ifdef SEM_FAILED
8 #undef SEM_FAILED
9 #define SEM_FAILED ((mysem_t *)(-1)) /* исключаем предупреждения компилятора */
10 #endif
11 #ifndef SEMVMX
12 #define SEMVMX 32767 /* исторически сложившееся максимальное значение для семафора System V */
13 #endif