168 lines
3.9 KiB
C
168 lines
3.9 KiB
C
/*
|
|
* Copyright (C) 2017 The Android Open Source Project
|
|
* All rights reserved.
|
|
*
|
|
* Redistribution and use in source and binary forms, with or without
|
|
* modification, are permitted provided that the following conditions
|
|
* are met:
|
|
* * Redistributions of source code must retain the above copyright
|
|
* notice, this list of conditions and the following disclaimer.
|
|
* * Redistributions in binary form must reproduce the above copyright
|
|
* notice, this list of conditions and the following disclaimer in
|
|
* the documentation and/or other materials provided with the
|
|
* distribution.
|
|
*
|
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
|
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
|
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
|
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
|
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
|
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
|
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
* SUCH DAMAGE.
|
|
*/
|
|
|
|
#include <termios.h>
|
|
|
|
#include "header_checks.h"
|
|
|
|
static void termios_h() {
|
|
TYPE(cc_t);
|
|
TYPE(speed_t);
|
|
TYPE(tcflag_t);
|
|
|
|
TYPE(struct termios);
|
|
STRUCT_MEMBER(struct termios, tcflag_t, c_iflag);
|
|
STRUCT_MEMBER(struct termios, tcflag_t, c_oflag);
|
|
STRUCT_MEMBER(struct termios, tcflag_t, c_cflag);
|
|
STRUCT_MEMBER(struct termios, tcflag_t, c_lflag);
|
|
STRUCT_MEMBER_ARRAY(struct termios, cc_t/*[]*/, c_cc);
|
|
|
|
MACRO(NCCS);
|
|
|
|
MACRO(VEOF);
|
|
MACRO(VEOL);
|
|
MACRO(VERASE);
|
|
MACRO(VINTR);
|
|
MACRO(VKILL);
|
|
MACRO(VMIN);
|
|
MACRO(VQUIT);
|
|
MACRO(VSTART);
|
|
MACRO(VSTOP);
|
|
MACRO(VSUSP);
|
|
MACRO(VTIME);
|
|
|
|
MACRO(BRKINT);
|
|
MACRO(ICRNL);
|
|
MACRO(IGNBRK);
|
|
MACRO(IGNCR);
|
|
MACRO(IGNPAR);
|
|
MACRO(INLCR);
|
|
MACRO(INPCK);
|
|
MACRO(ISTRIP);
|
|
MACRO(IXANY);
|
|
MACRO(IXOFF);
|
|
MACRO(IXON);
|
|
MACRO(PARMRK);
|
|
|
|
MACRO(OPOST);
|
|
MACRO(ONLCR);
|
|
MACRO(OCRNL);
|
|
MACRO(ONOCR);
|
|
MACRO(ONLRET);
|
|
MACRO(OFDEL);
|
|
MACRO(OFILL);
|
|
MACRO(NLDLY);
|
|
MACRO(NL0);
|
|
MACRO(NL1);
|
|
MACRO(CRDLY);
|
|
MACRO(CR0);
|
|
MACRO(CR1);
|
|
MACRO(CR2);
|
|
MACRO(CR3);
|
|
MACRO(TABDLY);
|
|
MACRO(TAB0);
|
|
MACRO(TAB1);
|
|
MACRO(TAB2);
|
|
MACRO(TAB3);
|
|
MACRO(BSDLY);
|
|
MACRO(BS0);
|
|
MACRO(BS1);
|
|
MACRO(VTDLY);
|
|
MACRO(VT0);
|
|
MACRO(VT1);
|
|
MACRO(FFDLY);
|
|
MACRO(FF0);
|
|
MACRO(FF1);
|
|
|
|
MACRO(B0);
|
|
MACRO(B50);
|
|
MACRO(B75);
|
|
MACRO(B110);
|
|
MACRO(B134);
|
|
MACRO(B150);
|
|
MACRO(B200);
|
|
MACRO(B300);
|
|
MACRO(B600);
|
|
MACRO(B1200);
|
|
MACRO(B1800);
|
|
MACRO(B2400);
|
|
MACRO(B4800);
|
|
MACRO(B9600);
|
|
MACRO(B19200);
|
|
MACRO(B38400);
|
|
|
|
MACRO(CSIZE);
|
|
MACRO(CS5);
|
|
MACRO(CS6);
|
|
MACRO(CS7);
|
|
MACRO(CS8);
|
|
MACRO(CSTOPB);
|
|
MACRO(CREAD);
|
|
MACRO(PARENB);
|
|
MACRO(PARODD);
|
|
MACRO(HUPCL);
|
|
MACRO(CLOCAL);
|
|
|
|
MACRO(ECHO);
|
|
MACRO(ECHOE);
|
|
MACRO(ECHOK);
|
|
MACRO(ECHONL);
|
|
MACRO(ICANON);
|
|
MACRO(IEXTEN);
|
|
MACRO(ISIG);
|
|
MACRO(NOFLSH);
|
|
MACRO(TOSTOP);
|
|
|
|
MACRO(TCSANOW);
|
|
MACRO(TCSADRAIN);
|
|
MACRO(TCSAFLUSH);
|
|
|
|
MACRO(TCIFLUSH);
|
|
MACRO(TCIOFLUSH);
|
|
MACRO(TCOFLUSH);
|
|
|
|
MACRO(TCIOFF);
|
|
MACRO(TCION);
|
|
MACRO(TCOOFF);
|
|
MACRO(TCOON);
|
|
|
|
TYPE(pid_t);
|
|
|
|
FUNCTION(cfgetispeed, speed_t (*f)(const struct termios*));
|
|
FUNCTION(cfgetospeed, speed_t (*f)(const struct termios*));
|
|
FUNCTION(cfsetispeed, int (*f)(struct termios*, speed_t));
|
|
FUNCTION(cfsetospeed, int (*f)(struct termios*, speed_t));
|
|
FUNCTION(tcdrain, int (*f)(int));
|
|
FUNCTION(tcflow, int (*f)(int, int));
|
|
FUNCTION(tcflush, int (*f)(int, int));
|
|
FUNCTION(tcgetattr, int (*f)(int, struct termios*));
|
|
FUNCTION(tcgetsid, pid_t (*f)(int));
|
|
FUNCTION(tcsendbreak, int (*f)(int, int));
|
|
FUNCTION(tcsetattr, int (*f)(int, int, const struct termios*));
|
|
}
|