Читаем Разработка приложений в среде Linux. Второе издание полностью

132:   { "crnl", 'с', POPT_ARG_VAL, &crnl, 'с',

133:     "посылать символ возврата каретки с символом новой строки", NULL },

134:   { "hwflow", 'h', POPT_ARG_VAL, &flow, 'h',

135:     "использовать аппаратное управление потоком", NULL },

136:   { "swflow", 's', POPT_ARG_VAL, &flow, 's',

137:     "использовать программное управление потоком", NULL },

138:   { "noflow", 'n', POPT_ARG_VAL, &flow, 'n',

139:     "отключить управление потоком", NULL },

140:   { "raw", 'r', POPT_ARG_VAL, &raw, 1,

141:     "включить неформатированный режим", NULL },

142:   POPT_AUTOHELP

143:   { NULL, '\0', 0, NULL, '\0', NULL, NULL }

144:  };

145:

146: #ifdef DSLEEP

147:  /* ожидать 10 минут, что позволить подключить отладчик */

148:  sleep(600);

149: #endif

150:

151:  optCon = poptGetContext("robin", argc, argv, optionsTable, 0);

152:  poptSetOtherOptionHelp(optCon, "");

153:

154:  if (argc < 2) {

155:   poptPrintUsage(optCon, stderr, 0);

156:   die(1, "He достаточно аргументов", "");

157:  }

158:

159:  if ((с = poptGetNextOpt(optCon)) < -1) {

160:   /* ошибка во время обработки опций */

161:   fprintf(stderr, "%s: %s\n",

162:    poptBadOption(optCon, POPT_BADOPTION_NOALIAS),

163:    poptStrerror(c));

164:   return 1;

165:  }

166:  portname = poptGetArg(optCon);

167:  if (!portname) {

168:   poptPrintUsage(optCon, stderr, 0);

169:   die(1, "He указано имя порта", "");

170:  }

171:

172:  pf = open(portname, O_RDWR);

173:  if (pf < 0) {

174:   poptPrintUsage(optCon, stderr, 0);

175:   die(1, strerror(errno), portname);

176:  }

177:  poptFreeContext(optCon);

178:

179:  /* изменить конфигурацию порта */

180:  tcgetattr(pf, &pts);

181:  pots = pts;

182:  /* некоторые настройки устанавливаются произвольно */

183:  pts.c_lflag &= ~ICANON;

184:  pts.c_lflag &= ~(ECHO | ECHOCTL | ECHONL);

185:  pts.c_cflag |= HUPCL;

186:  pts.c_cc[VMIN] = 1;

187:  pts.c_cc[VTIME] = 0;

188:

189:  /* Стандартная обработка CR/LF: это неинтеллектуальный терминал.

190:   * Не транслируется:

191:   * нет NL -> отображение CR/NL в выводе,

192:   * нет CR -> отображение NL во вводе.

193:   */

194:  pts.c_oflag &= ~ONLCR;

195:  pts.c_iflag &= ~ICRNL;

196:

197:  /* Теперь перейти на сторону локального терминала */

198:  tcgetattr(STDIN_FILENO, &sts);

199:  sots = sts;

200:  /* и снова несколько произвольных настроек */

201:  sts.c_iflag &= ~(BRKINT | ICRNL);

202:  sts.c_iflag |= IGNBRK;

203:  sts.c_lflag &= ~ISIG;

204:  sts.c_cc[VMIN] = 1;

205:  sts.c_cc[VTIME] = 0;

206:  sts.c_lflag &= ~ICANON;

207:  /* нет локального эхо: разрешить эхо-контроль на другом конце */

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных

Все жанры