LINUX.ORG.RU

> 2klalafuda: а что под qnx B9600==9600?

ну по крайней мере под QNX4 - да. думаю, под QNX6 аналогично. да и почему собственно значение должно отличаться от 9600?

// wbr

klalafuda ★☆☆
()
Ответ на: комментарий от klalafuda

а понятно

тут один начал утверждать что это типа согласно posix и должно быть так на всех юниксах. ну мне аж неповерилось что есть хоть один unix с таким определением B9600.

под линуксом это не так.

>да и почему собственно значение должно отличаться от 9600?

ну например где sizeof(speed_t)=2 величина 115200 не влезет в отведённое ей место.

cvv ★★★★★
() автор топика
Ответ на: комментарий от cvv

> тут один начал утверждать что это типа согласно posix и должно быть так на всех юниксах.

ну POSIX явным образом ничего не говорит на эту тему, ни за ни против.

http://www.opengroup.org/onlinepubs/009695399/basedefs/termios.h.html

speed_t
Used for terminal baud rates.

The above types shall be all unsigned integer types.

The implementation shall support one or more programming environments in which the widths of cc_t, speed_t, and tcflag_t are no greater than the width of type long. The names of these programming environments can be obtained using the confstr() function or the getconf utility.

> ну мне аж неповерилось что есть хоть один unix с таким определением B9600.

другой пример, где в speed задается непосредственное значение - это *BSD.

> под линуксом это не так.

это уже implementation dependant и каждый делает как ему больше нравится.

> ну например где sizeof(speed_t)=2 величина 115200 не влезет в отведённое ей место.

они туда и так не влезет, бо POSIX не объявляет B115200 :) B38400 максимум. все остальное - это уже расширения, зависящие от конкретной системы.

http://www.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap11.html#tag_11

// wbr

klalafuda ★☆☆
()
Ответ на: комментарий от cvv

> под линуксом это не так.

btw Linux не одинок в этом решении. допустим, под OpenSolaris
это то-же скорее всего индексы в таблице реальных значение скоростей:

/*
 * Speeds
 */
#define B0      0
#define B50     1
#define B75     2
#define B110    3
#define B134    4
#define B150    5
#define B200    6
#define B300    7
#define B600    8
#define B1200   9
#define B1800   10
#define B2400   11
#define B4800   12
#define B9600   13
#define B19200  14
#define B38400  15
#define B57600  16
#define B76800  17
#define B115200 18
#define B153600 19
#define B230400 20
#define B307200 21
#define B460800 22

// wbr

klalafuda ★☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.