Вход/Регистрация
UNIX: взаимодействие процессов
вернуться

Стивенс Уильям Ричард

Шрифт:

53 };

54 #endif

55 #endif /* HAVE_SYS_SEM_H */

56 #ifdef HAVE_SYS_SHM_H

57 #include <sys/shm.h> /* разделяемая память System V */

58 #endif

59 #ifdef HAVE_SYS_SELECT_H

60 #include <sys/select.h> /* для удобства */

61 #endif

62 #ifdef HAVE_POLL_H

63 #include <poll.h> /* для удобства */

64 #endif

65 #ifdef HAVE_STROPTS_H

66 #include <stropts.h> /* для удобства */

67 #endif

68 #ifdef HAVE_STRINGS_H

69 #include <strings.h> /* для удобства */

70 #endif

71 /* Следующие три заголовочных файла нужны для ioctl файлов и сокетов:

72 * <sys/ioctl.h>, <sys/filio.h>, и <sys/sockio.h>.

73 */

74 #ifdef HAVE_SYS_IOCTL_H

75 #include <sys/ioctl.h>

76 #endif

77 #ifdef HAVE_SYS_FILIO_H

78 #include <sys/filio.h>

79 #endif

80 #ifdef HAVE_PTHREAD_H

81 #include <pthread.h>

82 #endif

83 #ifdef HAVE_DOOR_H

84 #include <door.h> /* интерфейс дверей Solaris */

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 <rpc/rpc.h> /* Sun RPC */

91 #endif

92 /* Определяем bzero как макрос, если его нет в стандартной библиотеке С */

93 #ifndef HAVE_BZERO

94 #define bzero(ptr,n) memset(ptr, 0, n)

95 #endif

96 /* Posix.1g требует, чтобы INFTIM определялось в <poll.h>. но во многих системах эта

97 константа все еще определяется в <sys/stropts.h>. Нам не нужно подключать все

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 РАТН_МАХ /* должна быть в <limits.h> */

108 #define PATH_MAX 1024 /* максимальное количество символов в полном имени файла */

109 #endif

110 #define MAX_PATH 1024

111 #define MAXLINE 4096 /* максимальная длина строки */

112 #define BUFFSI2E 8192 /* объем буфера чтения и записи */

113 #define FILE_MODE (S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH)

114 /* разрешения по умолчанию для новых файлов */

115 #define DIR_MODE (FILE_MODE | S_IXUSR | S_IXGRP | S_IXOTH)

116 /* разрешения по умолчанию для новых каталогов */

117 #define SVMSG_MODE (MSG_R | MSG_W | MSG_R>>3 | MSG_R>>6)

118 /* разрешения по умолчанию для новых очередей сообщений System V */

119 #define SVSEM_MODE (SEM_R | SEM_A | SEM_R>>3 | SEM_R>>6)

120 /* разрешения по умолчанию для новых семафоров System V */

121 #define SVSHM_MODE (SHM_R | SHM_W | SHM_R>>3 | SHM_R>>6)

122 /* разрешения по умолчанию для новой разделяемой памяти System V */

  • Читать дальше
  • 1
  • ...
  • 236
  • 237
  • 238
  • 239
  • 240
  • 241
  • 242
  • 243
  • 244
  • 245
  • 246
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: