/* * dxlAPRS toolchain * * Copyright (C) Christian Rabler * * SPDX-License-Identifier: GPL-2.0+ */ #ifndef mlib_H_ #define mlib_H_ #include "X2C.h" typedef unsigned char cc_t; typedef unsigned long speed_t; typedef unsigned long tcflag_t; struct termios; struct termios { unsigned int c_iflag; unsigned int c_oflag; unsigned int c_cflag; unsigned int c_lflag; unsigned char c_line; unsigned char c_cc[32]; unsigned short int c_ispeed; unsigned short int c_ospeed; }; typedef char * tExecArg[256]; #define NCCS 19 #define VINTR 0 #define VQUIT 1 #define VERASE 2 #define VKILL 3 #define VEOF 4 #define VTIME 5 #define VMIN 6 #define VSTART 8 #define VSTOP 9 #define VSUSP 10 #define VEOL 11 #define IGNLCR 384 #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 4097 #define B115200 4098 #define B230400 4099 #define B460800 4100 #define B500000 4101 #define B576000 4102 #define B921600 4103 #define B1000000 4104 #define B1152000 4105 #define B1500000 4106 #define B2000000 4107 #define B2500000 4108 #define B3000000 4109 #define B3500000 4110 #define B4000000 4111 #define CSIZE 48 #define CS5 0 #define CS6 16 #define CS7 32 #define CS8 48 #define CSTOPB 64 #define CREAD 128 #define PARENB 256 #define PARODD 512 #define HUPCL 1024 #define CLOCAL 2048 #define ISIG 1 #define ICANON 2 #define ECHO 8 #define ECHOE 16 #define ECHOK 32 #define ECHONL 64 #define NOFLASH 128 #define TOSTOP 256 #define IEXTEN 32768 #define TIOCNOTTY 0x5422 #define TIOCSCTTY 0x540E #define IGNBRK 1 #define BRKINT 2 #define IGNPAR 4 #define PARMRK 8 #define INPCK 16 #define ISTRIP 32 #define INLCR 64 #define IGNCR 128 #define ICRNL 256 #define IUCLC 512 #define IXON 1024 #define IXANY 2048 #define IXOFF 4096 #define IMAXBEL 8192 #define OPOST 1 #define OLCUC 2 #define ONLCR 4 #define OCRNL 8 #define ONOCR 16 #define ONLRET 32 #define OFILL 64 #define OFDEL 128 #define NLDLY 256 #define NL0 0 #define NL1 256 #define CRDLY 1536 #define CR0 0 #define CR1 512 #define CR2 1024 #define CR3 1536 #define TABDLY 6144 #define TAB0 0 #define TAB1 2048 #define TAB2 4096 #define TAB3 6144 #define XTABS 6144 #define BSDLY 8192 #define BS0 0 #define BS1 8192 #define VTDLY 16384 #define VT0 0 #define VT1 16384 #define FFDLY 32768 #define FF0 0 #define FF1 32768 #define CRTSCTS 0x080000000 #define TCOOFF 0 #define TCOON 1 #define TCIOFF 2 #define TCION 3 #define TCIFLUSH 0 #define TCOFLUSH 1 #define TCIOFLUSH 2 #define TCSANOW 0 #define TCSADRAIN 1 #define TCSAFLUSH 2 #define TIOCMBIS 0x5416 #define TIOCMBIC 0x5417 #define TIOCMSET 0x5418 #define TIOCMGET 0x5415 #define TIOCMIWAIT 0x545C #define TIOCM_LE 0x1 #define TIOCM_DTR 0x2 #define TIOCM_RTS 0x4 #define TIOCM_ST 0x8 #define TIOCM_SR 0x10 #define TIOCM_CTS 0x20 #define TIOCM_CAR 0x40 #define TIOCM_RNG 0x80 #define TIOCM_DSR 0x100 #define TIOCM_CD 64 #define TIOCM_RI 128 #define TIOCM_OUT1 0x2000 #define TIOCM_OUT2 0x4000 extern unsigned long cfgetispeed(struct termios *); extern unsigned long cfgetospeed(struct termios *); extern long cfsetispeed(struct termios *, unsigned long); extern long cfsetospeed(struct termios *, unsigned long); extern long tcdrain(long); extern long tcflow(long, long); extern long tcflush(long, long); extern long tcgetattr(long, struct termios *); extern long tcdsendbreak(long, long); extern long tcsetattr(long, long, struct termios *); extern long ioctl(long, long, X2C_ADDRESS); #endif /* mlib_H_ */