[parisc-linux] termios
Matthew Wilcox
willy@thepuffingroup.com
Fri, 31 Dec 1999 18:35:49 -0500
I think the best thing to do with struct termios is to define it in a
way which is compatible with HPUX apps:
# define NCCS 16
typedef unsigned int tcflag_t;
typedef unsigned char cc_t;
typedef unsigned int speed_t;
# ifdef _TERMIOS_INCLUDED
struct termios {
tcflag_t c_iflag; /* Input modes */
tcflag_t c_oflag; /* Output modes */
tcflag_t c_cflag; /* Control modes */
tcflag_t c_lflag; /* Local modes */
tcflag_t c_reserved; /* Reserved for future use */
cc_t c_cc[NCCS]; /* Control characters */
};
As you can see, there are 4 bytes reserved before c_cc starts. Linux
defines more than 16 NCCS, and also has a 1-byte field for the line
discipline. So I propose:
struct termios {
tcflag_t c_iflag; /* Input modes */
tcflag_t c_oflag; /* Output modes */
tcflag_t c_cflag; /* Control modes */
tcflag_t c_lflag; /* Local modes */
cc_t c_line; /* Line Discipline */
cc_t c_cc[19]; /* Control characters */
};
and then adjust the symbolic constants for VINTR et al to ensure they
still refer to the same offset within the structure. Any comments?
I hope HP won't mind me using the reserved field in this way.