Dear All,
I did not understand the CRTSCTS preprocessor macro which is defined
in termbits.h file.
http://lxr.linux.no/linux+v2.6.36/include/asm-generic/termbits.h
As per the typedefs defined in the beginning of the file, the c_cflag
is unsigned int member in the struct termios structure. The CRTSCTS is
defined in the file as a 48 bit value.
#define CRTSCTS 020000000000 /* flow control */
I saw the following snippet in one of the serial applications.
struct termios newtio;
newtio.c_cflag = B9600 | CRTSCTS | CS8 | CLOCAL | CREAD;
My question is, the c_cflag is a 32 bit value member and the CRTSCTS
is a 48 bit value. How CRTSCTS is accommodates into c_cflag variable?
Please let me know, if my interpretation is wrong.
Thanks in advance.
Regards,
Ramya.
On Tue Nov 09 2010 around 02:27:38 EST, Ramya Desai wrote:
> I did not understand the CRTSCTS preprocessor macro which is defined
> in termbits.h file.
..
> As per the typedefs defined in the beginning of the file, the c_cflag
> is unsigned int member in the struct termios structure. The CRTSCTS is
> defined in the file as a 48 bit value.
>
> #define CRTSCTS 020000000000 /* flow control */
That is not a 48 bit value.
>
> I saw the following snippet in one of the serial applications.
>
> struct termios newtio;
> newtio.c_cflag = B9600 | CRTSCTS | CS8 | CLOCAL | CREAD;
>
> My question is, the c_cflag is a 32 bit value member and the CRTSCTS
> is a 48 bit value. How CRTSCTS is accommodates into c_cflag variable?
> Please let me know, if my interpretation is wrong.
>
> Thanks in advance.
Hint: constants in C may be expressed in base 16, 10, or 8.
milton
Hi,
> My question is, the c_cflag is a 32 bit value member and the CRTSCTS
> is a 48 bit value. How CRTSCTS is accommodates into c_cflag variable?
One word: octal ;)
HTH & TFR (well... Thanks For Review),
Andreas Mohr