23 #endif
24 #ifdef HAVE_SEMAPHORE_H
25 #include
26 #ifndef SEM_FAILED
27 #define SEM_FAILED ((sem_t *)(-1))
28 #endif
29 #endif
30 #ifdef HAVE_SYS_MMAN_H
31 #include
32 #endif
33 #ifndef MAP_FAILED
34 #define MAP_FAILED ((void *)(-1))
35 #endif
36 #ifdef HAVE_SYS_IPC_H
37 #include
38 #endif
39 #ifdef HAVE_SYS_MSG_H
40 #include
41 #endif
42 #ifdef HAVE_SYS_SEM_H
43 #ifdef __bsdi__
44 #undef HAVE_SYS_SEM_H /* тонкий момент: прототип semctl() в BSDI's содержит ошибки*/
45 #else
46 #include
47 #endif
48 #ifndef HAVE_SEMUN_UNION /* $$.It semun$$ */
49 union semun { /* определение объединения для semctl() */
50 int val;
51 struct semid_ds *buf;
52 unsigned short *array;
53 };
54 #endif
55 #endif /* HAVE_SYS_SEM_H */
56 #ifdef HAVE_SYS_SHM_H
57 #include
58 #endif
59 #ifdef HAVE_SYS_SELECT_H
60 #include
61 #endif
62 #ifdef HAVE_POLL_H
63 #include
64 #endif
65 #ifdef HAVE_STROPTS_H
66 #include
67 #endif
68 #ifdef HAVE_STRINGS_H
69 #include
70 #endif
71 /* Следующие три заголовочных файла нужны для ioctl файлов и сокетов:
72 *
73 */
74 #ifdef HAVE_SYS_IOCTL_H
75 #include
76 #endif
77 #ifdef HAVE_SYS_FILIO_H
78 #include
79 #endif
80 #ifdef HAVE_PTHREAD_H
81 #include
82 #endif
83 #ifdef HAVE_DOOR_H
84 #include
85 #endif
86 #ifdef HAVE_RPC_RPC_H
87 #ifdef _PSX4_NSPACE_H_TS /* баги Digital Unix 4.0b */
88 #undef SUCCESS
89 #endif
90 #include
91 #endif
92 /* Определяем bzero() как макрос, если его нет в стандартной библиотеке С */
93 #ifndef HAVE_BZERO
94 #define bzero(ptr,n) memset(ptr, 0, n)
95 #endif
96 /* Posix.1g требует, чтобы INFTIM определялось в
97 константа все еще определяется в
98 функции для работы с потоками, поэтому мы определяем INFTM здесь. Это стандартное
99 значение, но нет гарантий, что оно равно –1 */
100 #ifndef INFTIM
101 #define INFTIM (-1) /* неограниченное время опроса */
102 #ifdef HAVE_POLL_H
103 #define INFTIM_UNPH /* чтобы из файла unpxti.h узнать, что константа определена */
104 #endif
105 #endif
106 /* Прочие константы */
107 #ifndef РАТН_МАХ /* должна быть в
108 #define PATH_MAX 1024 /* максимальное количество символов в полном имени файла */
109 #endif
110 #define MAX_PATH 1024