From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <4353D0A6.8050702@nm.ru> Date: Mon, 17 Oct 2005 19:26:14 +0300 From: Artem User-Agent: Mozilla Thunderbird 1.0.2 (X11/20050719) X-Accept-Language: en-us, en MIME-Version: 1.0 To: ALT Linux kernel packages development Subject: Re: [d-kernel] =?KOI8-R?Q?=CF_pppd=2C_=C7=D2=D5=D0=D0=C1=C8_?= =?KOI8-R?Q?=D0=D2=CF=C3=C5=D3=D3=CF=D7=2C_=D4=C5=D2=CD=C9=CE=C1=CC=C1=C8?= =?KOI8-R?Q?=2C_/dev/pts_=C9_SIGHUP=5D?= References: <434E6103.5010405@nm.ru> <43516729.6070204@nm.ru> In-Reply-To: <43516729.6070204@nm.ru> Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: 8bit X-BeenThere: devel-kernel@lists.altlinux.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: ALT Linux kernel packages development List-Id: ALT Linux kernel packages development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Oct 2005 16:32:52 -0000 Archived-At: List-Archive: List-Post: Artem wrote: > 2.Погуглив, выяснил, что pppd "кладет модем" установкой-сбросом DTR. В > man termios на этот счет ничего не говорится. Как отследить его > (приветствуются ссылки на исходники/документацию)? :-) Вроде нашел HOWTO по программированию терминалов в linux, но почему-то DTR не получается контролировать или устанавливать. Вот пример кода: Имеется псевдотерминал. Создается вот так: pty = getpt(); if (pty < 0 || grantpt(pty) < 0 || unlockpt(pty) < 0) { ERR("getpt: %s\n", strerror(errno)); return -1; } Все отлично, в pty - дескриптор псевдотерминала. Далее пробую определить состояние DTR (или изменить его): int status; if ((ioctl(pty, TIOCMGET, &status)) < 0) ERR("IOCTL GET ERROR!: %s\n", strerror(errno)); status = TIOCM_DTR; if ((ioctl(pty, TIOCMBIS, &status)) < 0) ERR("IOCTL SET ERROR!: %s\n", strerror(errno)); При запуске - runtime errors: error: IOCTL GET ERROR!: Invalid argument error: IOCTL SET ERROR!: Invalid argument В чем тут ошибка? Rgds, Artem