1
0
Fork 0

Adding upstream version 1.65.7.

Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
Daniel Baumann 2025-05-19 21:29:57 +02:00
parent 5189956325
commit 32b8eb3fd7
Signed by: daniel
GPG key ID: FBB4F0E80A80222F
4153 changed files with 2487292 additions and 0 deletions

View file

@ -0,0 +1,7 @@
// Code generated by 'ccgo termios/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o termios/termios_darwin_amd64.go -pkgname termios', DO NOT EDIT.
package termios
var CAPI = map[string]struct{}{
"__darwin_check_fd_set_overflow": {},
}

View file

@ -0,0 +1,7 @@
// Code generated by 'ccgo termios/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o termios/termios_darwin_arm64.go -pkgname termios', DO NOT EDIT.
package termios
var CAPI = map[string]struct{}{
"__darwin_check_fd_set_overflow": {},
}

View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo termios/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o termios/termios_freebsd_386.go -pkgname termios', DO NOT EDIT.
package termios
var CAPI = map[string]struct{}{}

View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo termios/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o termios/termios_freebsd_amd64.go -pkgname termios', DO NOT EDIT.
package termios
var CAPI = map[string]struct{}{}

View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo termios/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o termios/termios_freebsd_arm.go -pkgname termios', DO NOT EDIT.
package termios
var CAPI = map[string]struct{}{}

View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo termios/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o termios/termios_freebsd_amd64.go -pkgname termios', DO NOT EDIT.
package termios
var CAPI = map[string]struct{}{}

View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo termios/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o termios/termios_illumos_amd64.go -pkgname termios', DO NOT EDIT.
package termios
var CAPI = map[string]struct{}{}

View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo termios/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o termios/termios_linux_386.go -pkgname termios', DO NOT EDIT.
package termios
var CAPI = map[string]struct{}{}

View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo termios/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o termios/termios_linux_amd64.go -pkgname termios', DO NOT EDIT.
package termios
var CAPI = map[string]struct{}{}

View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo termios/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o termios/termios_linux_arm.go -pkgname termios', DO NOT EDIT.
package termios
var CAPI = map[string]struct{}{}

View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo termios/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o termios/termios_linux_arm64.go -pkgname termios', DO NOT EDIT.
package termios
var CAPI = map[string]struct{}{}

View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo termios/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o termios/termios_linux_loong64.go -pkgname termios', DO NOT EDIT.
package termios
var CAPI = map[string]struct{}{}

View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo termios/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o termios/termios_linux_amd64.go -pkgname termios', DO NOT EDIT.
package termios
var CAPI = map[string]struct{}{}

View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo termios/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o termios/termios_linux_ppc64le.go -pkgname termios', DO NOT EDIT.
package termios
var CAPI = map[string]struct{}{}

View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo termios/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o termios/termios_linux_riscv64.go -pkgname termios', DO NOT EDIT.
package termios
var CAPI = map[string]struct{}{}

View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo termios/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o termios/termios_linux_s390x.go -pkgname termios', DO NOT EDIT.
package termios
var CAPI = map[string]struct{}{}

View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo termios/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o termios/termios_netbsd_amd64.go -pkgname termios', DO NOT EDIT.
package termios
var CAPI = map[string]struct{}{}

View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo termios/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o termios/termios_netbsd_arm.go -pkgname termios', DO NOT EDIT.
package termios
var CAPI = map[string]struct{}{}

View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo termios/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o termios/termios_openbsd_386.go -pkgname termios', DO NOT EDIT.
package termios
var CAPI = map[string]struct{}{}

View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo termios/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o termios/termios_openbsd_amd64.go -pkgname termios', DO NOT EDIT.
package termios
var CAPI = map[string]struct{}{}

View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo termios/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o termios/termios_openbsd_arm64.go -pkgname termios', DO NOT EDIT.
package termios
var CAPI = map[string]struct{}{}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,951 @@
// Code generated by 'ccgo termios/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o termios/termios_freebsd_arm.go -pkgname termios', DO NOT EDIT.
package termios
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
ALTWERASE = 0x00000200 // _termios.h:171:1:
B0 = 0 // _termios.h:186:1:
B1000000 = 1000000 // _termios.h:213:1:
B110 = 110 // _termios.h:189:1:
B115200 = 115200 // _termios.h:208:1:
B1200 = 1200 // _termios.h:195:1:
B134 = 134 // _termios.h:190:1:
B14400 = 14400 // _termios.h:204:1:
B150 = 150 // _termios.h:191:1:
B1500000 = 1500000 // _termios.h:214:1:
B1800 = 1800 // _termios.h:196:1:
B19200 = 19200 // _termios.h:200:1:
B200 = 200 // _termios.h:192:1:
B2000000 = 2000000 // _termios.h:215:1:
B230400 = 230400 // _termios.h:209:1:
B2400 = 2400 // _termios.h:197:1:
B2500000 = 2500000 // _termios.h:216:1:
B28800 = 28800 // _termios.h:205:1:
B300 = 300 // _termios.h:193:1:
B3000000 = 3000000 // _termios.h:217:1:
B3500000 = 3500000 // _termios.h:218:1:
B38400 = 38400 // _termios.h:201:1:
B4000000 = 4000000 // _termios.h:219:1:
B460800 = 460800 // _termios.h:210:1:
B4800 = 4800 // _termios.h:198:1:
B50 = 50 // _termios.h:187:1:
B500000 = 500000 // _termios.h:211:1:
B57600 = 57600 // _termios.h:206:1:
B600 = 600 // _termios.h:194:1:
B7200 = 7200 // _termios.h:203:1:
B75 = 75 // _termios.h:188:1:
B76800 = 76800 // _termios.h:207:1:
B921600 = 921600 // _termios.h:212:1:
B9600 = 9600 // _termios.h:199:1:
BRKINT = 0x00000002 // _termios.h:86:1:
CBRK = 255 // ttydefaults.h:89:1:
CCAR_OFLOW = 0x00100000 // _termios.h:145:1:
CCTS_OFLOW = 0x00010000 // _termios.h:140:1:
CDISCARD = 15 // ttydefaults.h:84:1:
CDSR_OFLOW = 0x00080000 // _termios.h:144:1:
CDSUSP = 25 // ttydefaults.h:80:1:
CDTR_IFLOW = 0x00040000 // _termios.h:143:1:
CEOF = 4 // ttydefaults.h:69:1:
CEOL = 0xff // ttydefaults.h:70:1:
CEOT = 4 // ttydefaults.h:87:1:
CERASE = 127 // ttydefaults.h:71:1:
CERASE2 = 8 // ttydefaults.h:72:1:
CFLUSH = 15 // ttydefaults.h:91:1:
CIGNORE = 0x00000001 // _termios.h:126:1:
CINTR = 3 // ttydefaults.h:73:1:
CKILL = 21 // ttydefaults.h:75:1:
CLNEXT = 22 // ttydefaults.h:83:1:
CLOCAL = 0x00008000 // _termios.h:138:1:
CMIN = 1 // ttydefaults.h:76:1:
CNO_RTSDTR = 0x00200000 // _termios.h:146:1:
CQUIT = 28 // ttydefaults.h:77:1:
CREAD = 0x00000800 // _termios.h:134:1:
CREPRINT = 18 // ttydefaults.h:86:1:
CRPRNT = 18 // ttydefaults.h:90:1:
CRTSCTS = 196608 // _termios.h:141:1:
CRTS_IFLOW = 0x00020000 // _termios.h:142:1:
CS5 = 0x00000000 // _termios.h:129:1:
CS6 = 0x00000100 // _termios.h:130:1:
CS7 = 0x00000200 // _termios.h:131:1:
CS8 = 0x00000300 // _termios.h:132:1:
CSIZE = 0x00000300 // _termios.h:128:1:
CSTART = 17 // ttydefaults.h:81:1:
CSTATUS = 20 // ttydefaults.h:74:1:
CSTOP = 19 // ttydefaults.h:82:1:
CSTOPB = 0x00000400 // _termios.h:133:1:
CSUSP = 26 // ttydefaults.h:78:1:
CTIME = 0 // ttydefaults.h:79:1:
CWERASE = 23 // ttydefaults.h:85:1:
ECHO = 0x00000008 // _termios.h:162:1:
ECHOCTL = 0x00000040 // _termios.h:166:1:
ECHOE = 0x00000002 // _termios.h:160:1:
ECHOK = 0x00000004 // _termios.h:161:1:
ECHOKE = 0x00000001 // _termios.h:158:1:
ECHONL = 0x00000010 // _termios.h:163:1:
ECHOPRT = 0x00000020 // _termios.h:165:1:
EXTA = 19200 // _termios.h:220:1:
EXTB = 38400 // _termios.h:221:1:
EXTPROC = 0x00000800 // _termios.h:174:1:
FLUSHO = 0x00800000 // _termios.h:177:1:
H4DISC = 7 // ttycom.h:135:1:
HUPCL = 0x00004000 // _termios.h:137:1:
ICANON = 0x00000100 // _termios.h:169:1:
ICRNL = 0x00000100 // _termios.h:93:1:
IEXTEN = 0x00000400 // _termios.h:173:1:
IGNBRK = 0x00000001 // _termios.h:85:1:
IGNCR = 0x00000080 // _termios.h:92:1:
IGNPAR = 0x00000004 // _termios.h:87:1:
IMAXBEL = 0x00002000 // _termios.h:100:1:
INLCR = 0x00000040 // _termios.h:91:1:
INPCK = 0x00000010 // _termios.h:89:1:
IOCPARM_MASK = 8191 // ioccom.h:49:1:
IOCPARM_MAX = 8192 // ioccom.h:54:1:
IOCPARM_SHIFT = 13 // ioccom.h:48:1:
IOC_DIRMASK = 3758096384 // ioccom.h:60:1:
IOC_IN = 0x80000000 // ioccom.h:58:1:
IOC_INOUT = 3221225472 // ioccom.h:59:1:
IOC_OUT = 0x40000000 // ioccom.h:57:1:
IOC_VOID = 0x20000000 // ioccom.h:56:1:
ISIG = 0x00000080 // _termios.h:168:1:
ISTRIP = 0x00000020 // _termios.h:90:1:
IXANY = 0x00000800 // _termios.h:97:1:
IXOFF = 0x00000400 // _termios.h:95:1:
IXON = 0x00000200 // _termios.h:94:1:
MDMBUF = 1048576 // termios.h:52:1:
NCCS = 20 // _termios.h:78:1:
NETGRAPHDISC = 6 // ttycom.h:134:1:
NOFLSH = 0x80000000 // _termios.h:181:1:
NOKERNINFO = 0x02000000 // _termios.h:178:1:
OCRNL = 0x00000010 // _termios.h:117:1:
ONLCR = 0x00000002 // _termios.h:108:1:
ONLRET = 0x00000040 // _termios.h:119:1:
ONOCR = 0x00000020 // _termios.h:118:1:
ONOEOT = 0x00000008 // _termios.h:114:1:
OPOST = 0x00000001 // _termios.h:106:1:
OXTABS = 4 // termios.h:51:1:
PARENB = 0x00001000 // _termios.h:135:1:
PARMRK = 0x00000008 // _termios.h:88:1:
PARODD = 0x00002000 // _termios.h:136:1:
PENDIN = 0x20000000 // _termios.h:179:1:
PPPDISC = 5 // ttycom.h:133:1:
SLIPDISC = 4 // ttycom.h:132:1:
TAB0 = 0x00000000 // _termios.h:112:1:
TAB3 = 0x00000004 // _termios.h:113:1:
TABDLY = 0x00000004 // _termios.h:111:1:
TCIFLUSH = 1 // termios.h:69:1:
TCIOFF = 3 // termios.h:74:1:
TCIOFLUSH = 3 // termios.h:71:1:
TCION = 4 // termios.h:75:1:
TCOFLUSH = 2 // termios.h:70:1:
TCOOFF = 1 // termios.h:72:1:
TCOON = 2 // termios.h:73:1:
TCSADRAIN = 1 // termios.h:63:1:
TCSAFLUSH = 2 // termios.h:64:1:
TCSANOW = 0 // termios.h:62:1:
TCSASOFT = 0x10 // termios.h:66:1:
TIOCM_CAR = 64 // ttycom.h:103:1:
TIOCM_CD = 64 // ttycom.h:102:1:
TIOCM_CTS = 0040 // ttycom.h:98:1:
TIOCM_DCD = 0100 // ttycom.h:99:1:
TIOCM_DSR = 0400 // ttycom.h:101:1:
TIOCM_DTR = 0002 // ttycom.h:94:1:
TIOCM_LE = 0001 // ttycom.h:93:1:
TIOCM_RI = 0200 // ttycom.h:100:1:
TIOCM_RNG = 128 // ttycom.h:104:1:
TIOCM_RTS = 0004 // ttycom.h:95:1:
TIOCM_SR = 0020 // ttycom.h:97:1:
TIOCM_ST = 0010 // ttycom.h:96:1:
TIOCPKT_DATA = 0x00 // ttycom.h:111:1:
TIOCPKT_DOSTOP = 0x20 // ttycom.h:117:1:
TIOCPKT_FLUSHREAD = 0x01 // ttycom.h:112:1:
TIOCPKT_FLUSHWRITE = 0x02 // ttycom.h:113:1:
TIOCPKT_IOCTL = 0x40 // ttycom.h:118:1:
TIOCPKT_NOSTOP = 0x10 // ttycom.h:116:1:
TIOCPKT_START = 0x08 // ttycom.h:115:1:
TIOCPKT_STOP = 0x04 // ttycom.h:114:1:
TOSTOP = 0x00400000 // _termios.h:175:1:
TTYDEF_CFLAG = 19200 // ttydefaults.h:55:1:
TTYDEF_IFLAG = 11010 // ttydefaults.h:49:1:
TTYDEF_LFLAG = 1483 // ttydefaults.h:54:1:
TTYDEF_LFLAG_ECHO = 1483 // ttydefaults.h:52:1:
TTYDEF_LFLAG_NOECHO = 1408 // ttydefaults.h:51:1:
TTYDEF_OFLAG = 3 // ttydefaults.h:50:1:
TTYDEF_SPEED = 9600 // ttydefaults.h:56:1:
TTYDISC = 0 // ttycom.h:131:1:
VDISCARD = 15 // _termios.h:70:1:
VDSUSP = 11 // _termios.h:64:1:
VEOF = 0 // _termios.h:45:1:
VEOL = 1 // _termios.h:46:1:
VEOL2 = 2 // _termios.h:48:1:
VERASE = 3 // _termios.h:50:1:
VERASE2 = 7 // _termios.h:57:1:
VINTR = 8 // _termios.h:60:1:
VKILL = 5 // _termios.h:54:1:
VLNEXT = 14 // _termios.h:69:1:
VMIN = 16 // _termios.h:72:1:
VQUIT = 9 // _termios.h:61:1:
VREPRINT = 6 // _termios.h:56:1:
VSTART = 12 // _termios.h:66:1:
VSTATUS = 18 // _termios.h:75:1:
VSTOP = 13 // _termios.h:67:1:
VSUSP = 10 // _termios.h:62:1:
VTIME = 17 // _termios.h:73:1:
VWERASE = 4 // _termios.h:52:1:
X_FILE_OFFSET_BITS = 64 // <builtin>:25:1:
X_ILP32 = 1 // <predefined>:1:1:
X_MACHINE__TYPES_H_ = 0 // _types.h:42:1:
X_Nonnull = 0 // cdefs.h:790:1:
X_Null_unspecified = 0 // cdefs.h:792:1:
X_Nullable = 0 // cdefs.h:791:1:
X_PID_T_DECLARED = 0 // termios.h:47:1:
X_POSIX_VDISABLE = 0xff // _termios.h:80:1:
X_SYS_CDEFS_H_ = 0 // cdefs.h:39:1:
X_SYS_IOCCOM_H_ = 0 // ioccom.h:36:1:
X_SYS_TTYCOM_H_ = 0 // ttycom.h:41:1:
X_SYS_TTYDEFAULTS_H_ = 0 // ttydefaults.h:44:1:
X_SYS__TERMIOS_H_ = 0 // _termios.h:36:1:
X_SYS__TYPES_H_ = 0 // _types.h:32:1:
X_SYS__WINSIZE_H_ = 0 // _winsize.h:36:1:
X_TERMIOS_H_ = 0 // termios.h:36:1:
Unix = 1 // <predefined>:367:1:
)
type Ptrdiff_t = int32 /* <builtin>:3:26 */
type Size_t = uint32 /* <builtin>:9:23 */
type Wchar_t = uint32 /* <builtin>:15:24 */
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1988, 1989, 1993, 1994
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
//
// @(#)termios.h 8.3 (Berkeley) 3/28/94
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1991, 1993
// The Regents of the University of California. All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Berkeley Software Design, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
//
// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
// $FreeBSD$
// Testing against Clang-specific extensions.
// This code has been put in place to help reduce the addition of
// compiler specific defines in FreeBSD code. It helps to aid in
// having a compiler-agnostic source tree.
// Compiler memory barriers, specific to gcc and clang.
// XXX: if __GNUC__ >= 2: not tested everywhere originally, where replaced
// Macro to test if we're using a specific version of gcc or later.
// The __CONCAT macro is used to concatenate parts of symbol names, e.g.
// with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo.
// The __CONCAT macro is a bit tricky to use if it must work in non-ANSI
// mode -- there must be no spaces between its arguments, and for nested
// __CONCAT's, all the __CONCAT's must be at the left. __CONCAT can also
// concatenate double-quoted strings produced by the __STRING macro, but
// this only works with ANSI C.
//
// __XSTRING is like __STRING, but it expands any macros in its argument
// first. It is only available with ANSI C.
// Compiler-dependent macros to help declare dead (non-returning) and
// pure (no side effects) functions, and unused variables. They are
// null except for versions of gcc that are known to support the features
// properly (old versions of gcc-2 supported the dead and pure features
// in a different (wrong) way). If we do not provide an implementation
// for a given compiler, let the compile fail if it is told to use
// a feature that we cannot live without.
// Keywords added in C11.
// Emulation of C11 _Generic(). Unlike the previously defined C11
// keywords, it is not possible to implement this using exactly the same
// syntax. Therefore implement something similar under the name
// __generic(). Unlike _Generic(), this macro can only distinguish
// between a single type, so it requires nested invocations to
// distinguish multiple cases.
// C99 Static array indices in function parameter declarations. Syntax such as:
// void bar(int myArray[static 10]);
// is allowed in C99 but not in C++. Define __min_size appropriately so
// headers using it can be compiled in either language. Use like this:
// void bar(int myArray[__min_size(10)]);
// XXX: should use `#if __STDC_VERSION__ < 199901'.
// C++11 exposes a load of C99 stuff
// GCC 2.95 provides `__restrict' as an extension to C90 to support the
// C99-specific `restrict' type qualifier. We happen to use `__restrict' as
// a way to define the `restrict' type qualifier without disturbing older
// software that is unaware of C99 keywords.
// GNU C version 2.96 adds explicit branch prediction so that
// the CPU back-end can hint the processor and also so that
// code blocks can be reordered such that the predicted path
// sees a more linear flow, thus improving cache behavior, etc.
//
// The following two macros provide us with a way to utilize this
// compiler feature. Use __predict_true() if you expect the expression
// to evaluate to true, and __predict_false() if you expect the
// expression to evaluate to false.
//
// A few notes about usage:
//
// * Generally, __predict_false() error condition checks (unless
// you have some _strong_ reason to do otherwise, in which case
// document it), and/or __predict_true() `no-error' condition
// checks, assuming you want to optimize for the no-error case.
//
// * Other than that, if you don't know the likelihood of a test
// succeeding from empirical or other `hard' evidence, don't
// make predictions.
//
// * These are meant to be used in places that are run `a lot'.
// It is wasteful to make predictions in code that is run
// seldomly (e.g. at subsystem initialization time) as the
// basic block reordering that this affects can often generate
// larger code.
// We define this here since <stddef.h>, <sys/queue.h>, and <sys/types.h>
// require it.
// Given the pointer x to the member m of the struct s, return
// a pointer to the containing structure. When using GCC, we first
// assign pointer x to a local variable, to check that its type is
// compatible with member m.
// Compiler-dependent macros to declare that functions take printf-like
// or scanf-like arguments. They are null except for versions of gcc
// that are known to support the features properly (old versions of gcc-2
// didn't permit keeping the keywords out of the application namespace).
// Compiler-dependent macros that rely on FreeBSD-specific extensions.
// Embed the rcs id of a source file in the resulting library. Note that in
// more recent ELF binutils, we use .ident allowing the ID to be stripped.
// Usage:
// __FBSDID("$FreeBSD$");
// -
// The following definitions are an extension of the behavior originally
// implemented in <sys/_posix.h>, but with a different level of granularity.
// POSIX.1 requires that the macros we test be defined before any standard
// header file is included.
//
// Here's a quick run-down of the versions:
// defined(_POSIX_SOURCE) 1003.1-1988
// _POSIX_C_SOURCE == 1 1003.1-1990
// _POSIX_C_SOURCE == 2 1003.2-1992 C Language Binding Option
// _POSIX_C_SOURCE == 199309 1003.1b-1993
// _POSIX_C_SOURCE == 199506 1003.1c-1995, 1003.1i-1995,
// and the omnibus ISO/IEC 9945-1: 1996
// _POSIX_C_SOURCE == 200112 1003.1-2001
// _POSIX_C_SOURCE == 200809 1003.1-2008
//
// In addition, the X/Open Portability Guide, which is now the Single UNIX
// Specification, defines a feature-test macro which indicates the version of
// that specification, and which subsumes _POSIX_C_SOURCE.
//
// Our macros begin with two underscores to avoid namespace screwage.
// Deal with IEEE Std. 1003.1-1990, in which _POSIX_C_SOURCE == 1.
// Deal with IEEE Std. 1003.2-1992, in which _POSIX_C_SOURCE == 2.
// Deal with various X/Open Portability Guides and Single UNIX Spec.
// Deal with all versions of POSIX. The ordering relative to the tests above is
// important.
// -
// Deal with _ANSI_SOURCE:
// If it is defined, and no other compilation environment is explicitly
// requested, then define our internal feature-test macros to zero. This
// makes no difference to the preprocessor (undefined symbols in preprocessing
// expressions are defined to have value zero), but makes it more convenient for
// a test program to print out the values.
//
// If a program mistakenly defines _ANSI_SOURCE and some other macro such as
// _POSIX_C_SOURCE, we will assume that it wants the broader compilation
// environment (and in fact we will never get here).
// User override __EXT1_VISIBLE
// Old versions of GCC use non-standard ARM arch symbols; acle-compat.h
// translates them to __ARM_ARCH and the modern feature symbols defined by ARM.
// Nullability qualifiers: currently only supported by Clang.
// Type Safety Checking
//
// Clang provides additional attributes to enable checking type safety
// properties that cannot be enforced by the C type system.
// Lock annotations.
//
// Clang provides support for doing basic thread-safety tests at
// compile-time, by marking which locks will/should be held when
// entering/leaving a functions.
//
// Furthermore, it is also possible to annotate variables and structure
// members to enforce that they are only accessed when certain locks are
// held.
// Structure implements a lock.
// Function acquires an exclusive or shared lock.
// Function attempts to acquire an exclusive or shared lock.
// Function releases a lock.
// Function asserts that an exclusive or shared lock is held.
// Function requires that an exclusive or shared lock is or is not held.
// Function should not be analyzed.
// Function or variable should not be sanitized, e.g., by AddressSanitizer.
// GCC has the nosanitize attribute, but as a function attribute only, and
// warns on use as a variable attribute.
// Guard variables and structure members by lock.
// Alignment builtins for better type checking and improved code generation.
// Provide fallback versions for other compilers (GCC/Clang < 10):
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1988, 1989, 1993, 1994
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
//
// @(#)termios.h 8.3 (Berkeley) 3/28/94
// $FreeBSD$
// Special Control Characters
//
// Index into c_cc[] character array.
//
// Name Subscript Enabled by
// 7 ex-spare 1
// 19 spare 2
// Input flags - software input processing
// Output flags - software output processing
// Control flags - hardware control of terminal
// "Local" flags - dumping ground for other state
//
// Warning: some flags in this structure begin with
// the letter "I" and look like they belong in the
// input flag.
// Standard speeds
type Tcflag_t = uint32 /* _termios.h:224:22 */
type Cc_t = uint8 /* _termios.h:225:23 */
type Speed_t = uint32 /* _termios.h:226:22 */
type Termios = struct {
Fc_iflag Tcflag_t
Fc_oflag Tcflag_t
Fc_cflag Tcflag_t
Fc_lflag Tcflag_t
Fc_cc [20]Cc_t
Fc_ispeed Speed_t
Fc_ospeed Speed_t
} /* _termios.h:228:1 */
// -
// SPDX-License-Identifier: BSD-2-Clause-FreeBSD
//
// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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 AUTHOR 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 AUTHOR 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.
//
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1991, 1993
// The Regents of the University of California. All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Berkeley Software Design, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
//
// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-4-Clause
//
// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
// Copyright (c) 1990, 1993
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. All advertising materials mentioning features or use of this software
// must display the following acknowledgement:
// This product includes software developed by the University of
// California, Berkeley and its contributors.
// 4. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
//
// From: @(#)ansi.h 8.2 (Berkeley) 1/4/94
// From: @(#)types.h 8.3 (Berkeley) 1/5/94
// $FreeBSD$
// Basic types upon which most other types are built.
type X__int8_t = int8 /* _types.h:51:22 */
type X__uint8_t = uint8 /* _types.h:52:24 */
type X__int16_t = int16 /* _types.h:53:17 */
type X__uint16_t = uint16 /* _types.h:54:25 */
type X__int32_t = int32 /* _types.h:55:15 */
type X__uint32_t = uint32 /* _types.h:56:23 */
// LONGLONG
type X__int64_t = int64 /* _types.h:61:20 */
// LONGLONG
type X__uint64_t = uint64 /* _types.h:66:28 */
// Standard type definitions.
type X__clock_t = X__uint32_t /* _types.h:71:20 */ // clock()...
type X__critical_t = X__int32_t /* _types.h:72:19 */
type X__double_t = float64 /* _types.h:74:17 */
type X__float_t = float32 /* _types.h:75:16 */
type X__intfptr_t = X__int32_t /* _types.h:77:19 */
type X__intmax_t = X__int64_t /* _types.h:78:19 */
type X__intptr_t = X__int32_t /* _types.h:79:19 */
type X__int_fast8_t = X__int32_t /* _types.h:80:19 */
type X__int_fast16_t = X__int32_t /* _types.h:81:19 */
type X__int_fast32_t = X__int32_t /* _types.h:82:19 */
type X__int_fast64_t = X__int64_t /* _types.h:83:19 */
type X__int_least8_t = X__int8_t /* _types.h:84:18 */
type X__int_least16_t = X__int16_t /* _types.h:85:19 */
type X__int_least32_t = X__int32_t /* _types.h:86:19 */
type X__int_least64_t = X__int64_t /* _types.h:87:19 */
type X__ptrdiff_t = X__int32_t /* _types.h:88:19 */ // ptr1 - ptr2
type X__register_t = X__int32_t /* _types.h:89:19 */
type X__segsz_t = X__int32_t /* _types.h:90:19 */ // segment size (in pages)
type X__size_t = X__uint32_t /* _types.h:91:20 */ // sizeof()
type X__ssize_t = X__int32_t /* _types.h:92:19 */ // byte count or error
type X__time_t = X__int64_t /* _types.h:93:19 */ // time()...
type X__uintfptr_t = X__uint32_t /* _types.h:94:20 */
type X__uintmax_t = X__uint64_t /* _types.h:95:20 */
type X__uintptr_t = X__uint32_t /* _types.h:96:20 */
type X__uint_fast8_t = X__uint32_t /* _types.h:97:20 */
type X__uint_fast16_t = X__uint32_t /* _types.h:98:20 */
type X__uint_fast32_t = X__uint32_t /* _types.h:99:20 */
type X__uint_fast64_t = X__uint64_t /* _types.h:100:20 */
type X__uint_least8_t = X__uint8_t /* _types.h:101:19 */
type X__uint_least16_t = X__uint16_t /* _types.h:102:20 */
type X__uint_least32_t = X__uint32_t /* _types.h:103:20 */
type X__uint_least64_t = X__uint64_t /* _types.h:104:20 */
type X__u_register_t = X__uint32_t /* _types.h:105:20 */
type X__vm_offset_t = X__uint32_t /* _types.h:106:20 */
type X__vm_paddr_t = X__uint32_t /* _types.h:107:20 */
type X__vm_size_t = X__uint32_t /* _types.h:108:20 */
type X___wchar_t = uint32 /* _types.h:110:22 */
// Standard type definitions.
type X__blksize_t = X__int32_t /* _types.h:40:19 */ // file block size
type X__blkcnt_t = X__int64_t /* _types.h:41:19 */ // file block count
type X__clockid_t = X__int32_t /* _types.h:42:19 */ // clock_gettime()...
type X__fflags_t = X__uint32_t /* _types.h:43:20 */ // file flags
type X__fsblkcnt_t = X__uint64_t /* _types.h:44:20 */
type X__fsfilcnt_t = X__uint64_t /* _types.h:45:20 */
type X__gid_t = X__uint32_t /* _types.h:46:20 */
type X__id_t = X__int64_t /* _types.h:47:19 */ // can hold a gid_t, pid_t, or uid_t
type X__ino_t = X__uint64_t /* _types.h:48:20 */ // inode number
type X__key_t = int32 /* _types.h:49:15 */ // IPC key (for Sys V IPC)
type X__lwpid_t = X__int32_t /* _types.h:50:19 */ // Thread ID (a.k.a. LWP)
type X__mode_t = X__uint16_t /* _types.h:51:20 */ // permissions
type X__accmode_t = int32 /* _types.h:52:14 */ // access permissions
type X__nl_item = int32 /* _types.h:53:14 */
type X__nlink_t = X__uint64_t /* _types.h:54:20 */ // link count
type X__off_t = X__int64_t /* _types.h:55:19 */ // file offset
type X__off64_t = X__int64_t /* _types.h:56:19 */ // file offset (alias)
type X__pid_t = X__int32_t /* _types.h:57:19 */ // process [group]
type X__rlim_t = X__int64_t /* _types.h:58:19 */ // resource limit - intentionally
// signed, because of legacy code
// that uses -1 for RLIM_INFINITY
type X__sa_family_t = X__uint8_t /* _types.h:61:19 */
type X__socklen_t = X__uint32_t /* _types.h:62:20 */
type X__suseconds_t = int32 /* _types.h:63:15 */ // microseconds (signed)
type X__timer_t = uintptr /* _types.h:64:24 */ // timer_gettime()...
type X__mqd_t = uintptr /* _types.h:65:21 */ // mq_open()...
type X__uid_t = X__uint32_t /* _types.h:66:20 */
type X__useconds_t = uint32 /* _types.h:67:22 */ // microseconds (unsigned)
type X__cpuwhich_t = int32 /* _types.h:68:14 */ // which parameter for cpuset.
type X__cpulevel_t = int32 /* _types.h:69:14 */ // level parameter for cpuset.
type X__cpusetid_t = int32 /* _types.h:70:14 */ // cpuset identifier.
type X__daddr_t = X__int64_t /* _types.h:71:19 */ // bwrite(3), FIOBMAP2, etc
// Unusual type definitions.
// rune_t is declared to be an “int” instead of the more natural
// “unsigned long” or “long”. Two things are happening here. It is not
// unsigned so that EOF (-1) can be naturally assigned to it and used. Also,
// it looks like 10646 will be a 31 bit standard. This means that if your
// ints cannot hold 32 bits, you will be in trouble. The reason an int was
// chosen over a long is that the is*() and to*() routines take ints (says
// ANSI C), but they use __ct_rune_t instead of int.
//
// NOTE: rune_t is not covered by ANSI nor other standards, and should not
// be instantiated outside of lib/libc/locale. Use wchar_t. wint_t and
// rune_t must be the same type. Also, wint_t should be able to hold all
// members of the largest character set plus one extra value (WEOF), and
// must be at least 16 bits.
type X__ct_rune_t = int32 /* _types.h:91:14 */ // arg type for ctype funcs
type X__rune_t = X__ct_rune_t /* _types.h:92:21 */ // rune_t (see above)
type X__wint_t = X__ct_rune_t /* _types.h:93:21 */ // wint_t (see above)
// Clang already provides these types as built-ins, but only in C++ mode.
type X__char16_t = X__uint_least16_t /* _types.h:97:26 */
type X__char32_t = X__uint_least32_t /* _types.h:98:26 */
// In C++11, char16_t and char32_t are built-in types.
type X__max_align_t = struct {
F__max_align1 int64
F__max_align2 float64
} /* _types.h:111:3 */
type X__dev_t = X__uint64_t /* _types.h:113:20 */ // device number
type X__fixpt_t = X__uint32_t /* _types.h:115:20 */ // fixed point number
// mbstate_t is an opaque object to keep conversion state during multibyte
// stream conversions.
type X__mbstate_t = struct {
F__ccgo_pad1 [0]uint64
F__mbstate8 [128]uint8
} /* _types.h:124:3 */
type X__rman_res_t = X__uintmax_t /* _types.h:126:25 */
// Types for varargs. These are all provided by builtin types these
// days, so centralize their definition.
type X__va_list = X__builtin_va_list /* _types.h:133:27 */ // internally known to gcc
type X__gnuc_va_list = X__va_list /* _types.h:140:20 */ // compatibility w/GNU headers
// When the following macro is defined, the system uses 64-bit inode numbers.
// Programs can use this to avoid including <sys/param.h>, with its associated
// namespace pollution.
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1988, 1989, 1993, 1994
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
//
// @(#)ttycom.h 8.1 (Berkeley) 3/28/94
// $FreeBSD$
// Window/terminal size structure. This information is stored by the kernel
// in order to provide a consistent interface, but is not used by the kernel.
type Winsize = struct {
Fws_row uint16
Fws_col uint16
Fws_xpixel uint16
Fws_ypixel uint16
} /* _winsize.h:42:1 */
type Pid_t = X__pid_t /* termios.h:46:18 */
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1988, 1989, 1993, 1994
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
//
// @(#)ttycom.h 8.1 (Berkeley) 3/28/94
// $FreeBSD$
// Tty ioctl's except for those supported only for backwards compatibility
// with the old tty driver.
// 0-2 compat
// 3-7 unused
// 8-10 compat
// 11-12 unused
// 17-18 compat
// 23-25 unused
// 29-85 unused
// 88 unused
// 89-91 conflicts: tun and tap
// 92-93 tun and tap
// 94-97 conflicts: tun and tap
// 100 unused
// 105 unused
// 116-117 compat
// 124-127 compat
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1982, 1986, 1993
// The Regents of the University of California. All rights reserved.
// (c) UNIX System Laboratories, Inc.
// All or some portions of this file are derived from material licensed
// to the University of California by American Telephone and Telegraph
// Co. or Unix System Laboratories, Inc. and are reproduced herein with
// the permission of UNIX System Laboratories, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
//
// @(#)ttydefaults.h 8.4 (Berkeley) 1/21/94
// $FreeBSD$
// System wide defaults for terminal state.
// Defaults on "first" open.
// Control Character Defaults
// XXX: A lot of code uses lowercase characters, but control-character
// conversion is actually only valid when applied to uppercase
// characters. We just treat lowercase characters as if they were
// inserted as uppercase.
// compat
// PROTECTED INCLUSION ENDS HERE
// #define TTYDEFCHARS to include an array of default control characters.
var _ uint8 /* gen.c:2:13: */

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

1007
termios/termios_linux_386.go Normal file

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

1066
termios/termios_linux_arm.go Normal file

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,733 @@
// Code generated by 'ccgo termios/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o termios/termios_netbsd_amd64.go -pkgname termios', DO NOT EDIT.
package termios
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
ALTWERASE = 0x00000200 // termios.h:174:1:
ARG_MAX = 262144 // syslimits.h:45:1:
B0 = 0 // termios.h:215:1:
B1000000 = 1000000 // termios.h:242:1:
B110 = 110 // termios.h:218:1:
B115200 = 115200 // termios.h:237:1:
B1200 = 1200 // termios.h:224:1:
B134 = 134 // termios.h:219:1:
B14400 = 14400 // termios.h:233:1:
B150 = 150 // termios.h:220:1:
B1500000 = 1500000 // termios.h:243:1:
B1800 = 1800 // termios.h:225:1:
B19200 = 19200 // termios.h:229:1:
B200 = 200 // termios.h:221:1:
B2000000 = 2000000 // termios.h:244:1:
B230400 = 230400 // termios.h:238:1:
B2400 = 2400 // termios.h:226:1:
B2500000 = 2500000 // termios.h:245:1:
B28800 = 28800 // termios.h:234:1:
B300 = 300 // termios.h:222:1:
B3000000 = 3000000 // termios.h:246:1:
B3500000 = 3500000 // termios.h:247:1:
B38400 = 38400 // termios.h:230:1:
B4000000 = 4000000 // termios.h:248:1:
B460800 = 460800 // termios.h:239:1:
B4800 = 4800 // termios.h:227:1:
B50 = 50 // termios.h:216:1:
B500000 = 500000 // termios.h:240:1:
B57600 = 57600 // termios.h:235:1:
B600 = 600 // termios.h:223:1:
B7200 = 7200 // termios.h:232:1:
B75 = 75 // termios.h:217:1:
B76800 = 76800 // termios.h:236:1:
B921600 = 921600 // termios.h:241:1:
B9600 = 9600 // termios.h:228:1:
BC_DIM_MAX = 65535 // syslimits.h:64:1:
BRKINT = 0x00000002 // termios.h:91:1:
CCTS_OFLOW = 65536 // termios.h:145:1:
CDISCARD = 15 // ttydefaults.h:72:1:
CDSUSP = 25 // ttydefaults.h:68:1:
CDTRCTS = 0x00020000 // termios.h:146:1:
CEOF = 4 // ttydefaults.h:58:1:
CEOT = 4 // ttydefaults.h:75:1:
CERASE = 0177 // ttydefaults.h:60:1:
CFLUSH = 15 // ttydefaults.h:79:1:
CHILD_MAX = 160 // syslimits.h:47:1:
CHWFLOW = 1245184 // termios.h:148:1:
CIGNORE = 0x00000001 // termios.h:129:1:
CINTR = 3 // ttydefaults.h:61:1:
CKILL = 21 // ttydefaults.h:63:1:
CLNEXT = 22 // ttydefaults.h:71:1:
CLOCAL = 0x00008000 // termios.h:141:1:
CMIN = 1 // ttydefaults.h:64:1:
COLL_WEIGHTS_MAX = 2 // syslimits.h:67:1:
CQUIT = 034 // ttydefaults.h:65:1:
CREAD = 0x00000800 // termios.h:137:1:
CREPRINT = 18 // ttydefaults.h:74:1:
CRPRNT = 18 // ttydefaults.h:78:1:
CRTSCTS = 0x00010000 // termios.h:143:1:
CRTS_IFLOW = 65536 // termios.h:144:1:
CS5 = 0x00000000 // termios.h:132:1:
CS6 = 0x00000100 // termios.h:133:1:
CS7 = 0x00000200 // termios.h:134:1:
CS8 = 0x00000300 // termios.h:135:1:
CSIZE = 0x00000300 // termios.h:131:1:
CSTART = 17 // ttydefaults.h:69:1:
CSTATUS = 20 // ttydefaults.h:62:1:
CSTOP = 19 // ttydefaults.h:70:1:
CSTOPB = 0x00000400 // termios.h:136:1:
CSUSP = 26 // ttydefaults.h:66:1:
CTIME = 0 // ttydefaults.h:67:1:
CWERASE = 23 // ttydefaults.h:73:1:
ECHO = 0x00000008 // termios.h:165:1:
ECHOCTL = 0x00000040 // termios.h:169:1:
ECHOE = 0x00000002 // termios.h:163:1:
ECHOK = 0x00000004 // termios.h:164:1:
ECHOKE = 0x00000001 // termios.h:161:1:
ECHONL = 0x00000010 // termios.h:166:1:
ECHOPRT = 0x00000020 // termios.h:168:1:
EXPR_NEST_MAX = 32 // syslimits.h:68:1:
EXTA = 19200 // termios.h:249:1:
EXTB = 38400 // termios.h:250:1:
EXTPROC = 0x00000800 // termios.h:178:1:
FLUSHO = 0x00800000 // termios.h:182:1:
GID_MAX = 2147483647 // syslimits.h:49:1:
HDLCDISC = 9 // ttycom.h:177:1:
HUPCL = 0x00004000 // termios.h:140:1:
ICANON = 0x00000100 // termios.h:172:1:
ICRNL = 0x00000100 // termios.h:98:1:
IEXTEN = 0x00000400 // termios.h:176:1:
IGNBRK = 0x00000001 // termios.h:90:1:
IGNCR = 0x00000080 // termios.h:97:1:
IGNPAR = 0x00000004 // termios.h:92:1:
IMAXBEL = 0x00002000 // termios.h:105:1:
INLCR = 0x00000040 // termios.h:96:1:
INPCK = 0x00000010 // termios.h:94:1:
IOCGROUP_SHIFT = 8 // ioccom.h:49:1:
IOCPARM_MASK = 0x1fff // ioccom.h:47:1:
IOCPARM_SHIFT = 16 // ioccom.h:48:1:
IOV_MAX = 1024 // syslimits.h:84:1:
ISIG = 0x00000080 // termios.h:171:1:
ISTRIP = 0x00000020 // termios.h:95:1:
IXANY = 0x00000800 // termios.h:102:1:
IXOFF = 0x00000400 // termios.h:100:1:
IXON = 0x00000200 // termios.h:99:1:
LINE_MAX = 2048 // syslimits.h:69:1:
LINK_MAX = 32767 // syslimits.h:50:1:
LOGIN_NAME_MAX = 17 // syslimits.h:77:1:
MAX_CANON = 255 // syslimits.h:51:1:
MAX_INPUT = 255 // syslimits.h:52:1:
MDMBUF = 0x00100000 // termios.h:147:1:
NAME_MAX = 511 // syslimits.h:53:1:
NCCS = 20 // termios.h:79:1:
NGROUPS_MAX = 16 // syslimits.h:55:1:
NOFLSH = 0x80000000 // termios.h:186:1:
NOKERNINFO = 0x02000000 // termios.h:183:1:
NZERO = 20 // syslimits.h:85:1:
OCRNL = 0x00000010 // termios.h:120:1:
ONLCR = 0x00000002 // termios.h:113:1:
ONLRET = 0x00000040 // termios.h:122:1:
ONOCR = 0x00000020 // termios.h:121:1:
ONOEOT = 0x00000008 // termios.h:117:1:
OPEN_MAX = 128 // syslimits.h:58:1:
OPOST = 0x00000001 // termios.h:111:1:
OXTABS = 0x00000004 // termios.h:116:1:
PARENB = 0x00001000 // termios.h:138:1:
PARMRK = 0x00000008 // termios.h:93:1:
PARODD = 0x00002000 // termios.h:139:1:
PATH_MAX = 1024 // syslimits.h:60:1:
PENDIN = 0x20000000 // termios.h:184:1:
PIPE_BUF = 512 // syslimits.h:61:1:
PPPDISC = 5 // ttycom.h:175:1:
RE_DUP_MAX = 255 // syslimits.h:70:1:
SLIPDISC = 4 // ttycom.h:174:1:
STRIPDISC = 6 // ttycom.h:176:1:
TABLDISC = 3 // ttycom.h:173:1:
TCIFLUSH = 1 // termios.h:255:1:
TCIOFF = 3 // termios.h:260:1:
TCIOFLUSH = 3 // termios.h:257:1:
TCION = 4 // termios.h:261:1:
TCOFLUSH = 2 // termios.h:256:1:
TCOOFF = 1 // termios.h:258:1:
TCOON = 2 // termios.h:259:1:
TCSADRAIN = 1 // termios.h:206:1:
TCSAFLUSH = 2 // termios.h:207:1:
TCSANOW = 0 // termios.h:205:1:
TCSASOFT = 0x10 // termios.h:209:1:
TIOCFLAG_CDTRCTS = 0x10 // ttycom.h:158:1:
TIOCFLAG_CLOCAL = 0x02 // ttycom.h:155:1:
TIOCFLAG_CRTSCTS = 0x04 // ttycom.h:156:1:
TIOCFLAG_MDMBUF = 0x08 // ttycom.h:157:1:
TIOCFLAG_SOFTCAR = 0x01 // ttycom.h:154:1:
TIOCM_CAR = 0100 // ttycom.h:89:1:
TIOCM_CD = 64 // ttycom.h:90:1:
TIOCM_CTS = 0040 // ttycom.h:88:1:
TIOCM_DSR = 0400 // ttycom.h:93:1:
TIOCM_DTR = 0002 // ttycom.h:84:1:
TIOCM_LE = 0001 // ttycom.h:83:1:
TIOCM_RI = 128 // ttycom.h:92:1:
TIOCM_RNG = 0200 // ttycom.h:91:1:
TIOCM_RTS = 0004 // ttycom.h:85:1:
TIOCM_SR = 0020 // ttycom.h:87:1:
TIOCM_ST = 0010 // ttycom.h:86:1:
TIOCPKT_DATA = 0x00 // ttycom.h:126:1:
TIOCPKT_DOSTOP = 0x20 // ttycom.h:132:1:
TIOCPKT_FLUSHREAD = 0x01 // ttycom.h:127:1:
TIOCPKT_FLUSHWRITE = 0x02 // ttycom.h:128:1:
TIOCPKT_IOCTL = 0x40 // ttycom.h:133:1:
TIOCPKT_NOSTOP = 0x10 // ttycom.h:131:1:
TIOCPKT_START = 0x08 // ttycom.h:130:1:
TIOCPKT_STOP = 0x04 // ttycom.h:129:1:
TOSTOP = 0x00400000 // termios.h:180:1:
TTLINEDNAMELEN = 32 // ttycom.h:110:1:
TTYDEF_CFLAG = 19200 // ttydefaults.h:51:1:
TTYDEF_IFLAG = 11010 // ttydefaults.h:48:1:
TTYDEF_LFLAG = 1483 // ttydefaults.h:50:1:
TTYDEF_OFLAG = 7 // ttydefaults.h:49:1:
TTYDEF_SPEED = 9600 // ttydefaults.h:52:1:
TTYDISC = 0 // ttycom.h:172:1:
UID_MAX = 2147483647 // syslimits.h:56:1:
VDISCARD = 15 // termios.h:71:1:
VDSUSP = 11 // termios.h:65:1:
VEOF = 0 // termios.h:47:1:
VEOL = 1 // termios.h:48:1:
VEOL2 = 2 // termios.h:50:1:
VERASE = 3 // termios.h:52:1:
VINTR = 8 // termios.h:61:1:
VKILL = 5 // termios.h:56:1:
VLNEXT = 14 // termios.h:70:1:
VMIN = 16 // termios.h:73:1:
VQUIT = 9 // termios.h:62:1:
VREPRINT = 6 // termios.h:58:1:
VSTART = 12 // termios.h:67:1:
VSTATUS = 18 // termios.h:76:1:
VSTOP = 13 // termios.h:68:1:
VSUSP = 10 // termios.h:63:1:
VTIME = 17 // termios.h:74:1:
VWERASE = 4 // termios.h:54:1:
X_AMD64_INT_TYPES_H_ = 0 // int_types.h:35:1:
X_FILE_OFFSET_BITS = 64 // <builtin>:25:1:
X_LP64 = 1 // <predefined>:268:1:
X_NETBSD_SOURCE = 1 // featuretest.h:70:1:
X_NETBSD_SYS_TTYCOM_H_ = 0 // ttycom.h:65:1:
X_PATH_PTMDEV = "/dev/ptm" // ttycom.h:81:1:
X_POSIX_SYS_TTYCOM_H_ = 0 // ttycom.h:40:1:
X_SYS_ANSI_H_ = 0 // ansi.h:33:1:
X_SYS_CDEFS_ELF_H_ = 0 // cdefs_elf.h:31:1:
X_SYS_CDEFS_H_ = 0 // cdefs.h:37:1:
X_SYS_COMMON_ANSI_H_ = 0 // common_ansi.h:33:1:
X_SYS_COMMON_INT_TYPES_H_ = 0 // common_int_types.h:33:1:
X_SYS_IOCCOM_H_ = 0 // ioccom.h:35:1:
X_SYS_SYSLIMITS_H_ = 0 // syslimits.h:35:1:
X_SYS_TERMIOS_H_ = 0 // termios.h:35:1:
X_SYS_TTYDEFAULTS_H_ = 0 // ttydefaults.h:43:1:
X_X86_64_CDEFS_H_ = 0 // cdefs.h:4:1:
)
type Ptrdiff_t = int64 /* <builtin>:3:26 */
type Size_t = uint64 /* <builtin>:9:23 */
type Wchar_t = int32 /* <builtin>:15:24 */
type X__int128_t = struct {
Flo int64
Fhi int64
} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
type X__uint128_t = struct {
Flo uint64
Fhi uint64
} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
// return true if value 'a' fits in type 't'
// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
// -
// Copyright (c) 1990 The Regents of the University of California.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
//
// from: @(#)types.h 7.5 (Berkeley) 3/9/91
// $NetBSD: common_int_types.h,v 1.1 2014/07/25 21:43:13 joerg Exp $
// -
// Copyright (c) 2014 The NetBSD Foundation, Inc.
// All rights reserved.
//
// This code is derived from software contributed to The NetBSD Foundation
// by Joerg Sonnenberger.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
// 7.18.1 Integer types
// 7.18.1.1 Exact-width integer types
type X__int8_t = int8 /* common_int_types.h:45:27 */
type X__uint8_t = uint8 /* common_int_types.h:46:27 */
type X__int16_t = int16 /* common_int_types.h:47:27 */
type X__uint16_t = uint16 /* common_int_types.h:48:27 */
type X__int32_t = int32 /* common_int_types.h:49:27 */
type X__uint32_t = uint32 /* common_int_types.h:50:27 */
type X__int64_t = int64 /* common_int_types.h:51:27 */
type X__uint64_t = uint64 /* common_int_types.h:52:27 */
// 7.18.1.4 Integer types capable of holding object pointers
type X__intptr_t = int64 /* common_int_types.h:58:27 */
type X__uintptr_t = uint64 /* common_int_types.h:59:26 */
// Types which are fundamental to the implementation and may appear in
// more than one standard header are defined here. Standard headers
// then use:
// #ifdef _BSD_SIZE_T_
// typedef _BSD_SIZE_T_ size_t;
// #undef _BSD_SIZE_T_
// #endif
type X__caddr_t = uintptr /* ansi.h:37:14 */ // core address
type X__gid_t = X__uint32_t /* ansi.h:38:20 */ // group id
type X__in_addr_t = X__uint32_t /* ansi.h:39:20 */ // IP(v4) address
type X__in_port_t = X__uint16_t /* ansi.h:40:20 */ // "Internet" port number
type X__mode_t = X__uint32_t /* ansi.h:41:20 */ // file permissions
type X__off_t = X__int64_t /* ansi.h:42:19 */ // file offset
type X__pid_t = X__int32_t /* ansi.h:43:19 */ // process id
type X__sa_family_t = X__uint8_t /* ansi.h:44:19 */ // socket address family
type X__socklen_t = uint32 /* ansi.h:45:22 */ // socket-related datum length
type X__uid_t = X__uint32_t /* ansi.h:46:20 */ // user id
type X__fsblkcnt_t = X__uint64_t /* ansi.h:47:20 */ // fs block count (statvfs)
type X__fsfilcnt_t = X__uint64_t /* ansi.h:48:20 */
type X__wctrans_t = uintptr /* ansi.h:51:32 */
type X__wctype_t = uintptr /* ansi.h:54:31 */
// mbstate_t is an opaque object to keep conversion state, during multibyte
// stream conversions. The content must not be referenced by user programs.
type X__mbstate_t = struct {
F__mbstateL X__int64_t
F__ccgo_pad1 [120]byte
} /* ansi.h:63:3 */
type X__va_list = X__builtin_va_list /* ansi.h:72:27 */
// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
// Public domain.
//
// NOTE: Do not protect this header against multiple inclusion. Doing
// so can have subtle side-effects due to header file inclusion order
// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
// protect each CPP macro that we want to supply.
// Feature-test macros are defined by several standards, and allow an
// application to specify what symbols they want the system headers to
// expose, and hence what standard they want them to conform to.
// There are two classes of feature-test macros. The first class
// specify complete standards, and if one of these is defined, header
// files will try to conform to the relevant standard. They are:
//
// ANSI macros:
// _ANSI_SOURCE ANSI C89
//
// POSIX macros:
// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
//
// X/Open macros:
// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
//
// NetBSD macros:
// _NETBSD_SOURCE == 1 Make all NetBSD features available.
//
// If more than one of these "major" feature-test macros is defined,
// then the set of facilities provided (and namespace used) is the
// union of that specified by the relevant standards, and in case of
// conflict, the earlier standard in the above list has precedence (so
// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
// of rename() that's used is the POSIX one). If none of the "major"
// feature-test macros is defined, _NETBSD_SOURCE is assumed.
//
// There are also "minor" feature-test macros, which enable extra
// functionality in addition to some base standard. They should be
// defined along with one of the "major" macros. The "minor" macros
// are:
//
// _REENTRANT
// _ISOC99_SOURCE
// _ISOC11_SOURCE
// _LARGEFILE_SOURCE Large File Support
// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
// Special Control Characters
//
// Index into c_cc[] character array.
//
// Name Subscript Enabled by
// 7 spare 1
// 19 spare 2
// Input flags - software input processing
// Output flags - software output processing
// Control flags - hardware control of terminal
// "Local" flags - dumping ground for other state
//
// Warning: some flags in this structure begin with
// the letter "I" and look like they belong in the
// input flag.
type Tcflag_t = uint32 /* termios.h:188:22 */
type Cc_t = uint8 /* termios.h:189:23 */
type Speed_t = uint32 /* termios.h:190:22 */
type Termios = struct {
Fc_iflag Tcflag_t
Fc_oflag Tcflag_t
Fc_cflag Tcflag_t
Fc_lflag Tcflag_t
Fc_cc [20]Cc_t
Fc_ispeed int32
Fc_ospeed int32
} /* termios.h:192:1 */
// Commands passed to tcsetattr() for setting the termios structure.
// Standard speeds
type Pid_t = X__pid_t /* termios.h:265:18 */
// Include tty ioctl's that aren't just for backwards compatibility
// with the old tty driver. These ioctl definitions were previously
// in <sys/ioctl.h>. Most of this appears only when _NETBSD_SOURCE
// is defined, but (at least) struct winsize has been made standard,
// and needs to be visible here (as well as via the old <sys/ioctl.h>.)
// $NetBSD: ttycom.h,v 1.21 2017/10/25 06:32:59 kre Exp $
// -
// Copyright (c) 1982, 1986, 1990, 1993, 1994
// The Regents of the University of California. All rights reserved.
// (c) UNIX System Laboratories, Inc.
// All or some portions of this file are derived from material licensed
// to the University of California by American Telephone and Telegraph
// Co. or Unix System Laboratories, Inc. and are reproduced herein with
// the permission of UNIX System Laboratories, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
//
// @(#)ttycom.h 8.1 (Berkeley) 3/28/94
// $NetBSD: syslimits.h,v 1.28 2015/08/21 07:19:39 uebayasi Exp $
// Copyright (c) 1988, 1993
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
//
// @(#)syslimits.h 8.1 (Berkeley) 6/2/93
// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
// Public domain.
//
// NOTE: Do not protect this header against multiple inclusion. Doing
// so can have subtle side-effects due to header file inclusion order
// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
// protect each CPP macro that we want to supply.
// Feature-test macros are defined by several standards, and allow an
// application to specify what symbols they want the system headers to
// expose, and hence what standard they want them to conform to.
// There are two classes of feature-test macros. The first class
// specify complete standards, and if one of these is defined, header
// files will try to conform to the relevant standard. They are:
//
// ANSI macros:
// _ANSI_SOURCE ANSI C89
//
// POSIX macros:
// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
//
// X/Open macros:
// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
//
// NetBSD macros:
// _NETBSD_SOURCE == 1 Make all NetBSD features available.
//
// If more than one of these "major" feature-test macros is defined,
// then the set of facilities provided (and namespace used) is the
// union of that specified by the relevant standards, and in case of
// conflict, the earlier standard in the above list has precedence (so
// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
// of rename() that's used is the POSIX one). If none of the "major"
// feature-test macros is defined, _NETBSD_SOURCE is assumed.
//
// There are also "minor" feature-test macros, which enable extra
// functionality in addition to some base standard. They should be
// defined along with one of the "major" macros. The "minor" macros
// are:
//
// _REENTRANT
// _ISOC99_SOURCE
// _ISOC11_SOURCE
// _LARGEFILE_SOURCE Large File Support
// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
// kept in sync with MAXNAMLEN
// IEEE Std 1003.1c-95, adopted in X/Open CAE Specification Issue 5 Version 2
// X/Open CAE Specification Issue 5 Version 2
// $NetBSD: ioccom.h,v 1.13 2019/05/26 10:21:33 hannken Exp $
// -
// Copyright (c) 1982, 1986, 1990, 1993, 1994
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
//
// @(#)ioccom.h 8.3 (Berkeley) 1/9/95
// Ioctl's have the command encoded in the lower word, and the size of
// any in or out parameters in the upper word. The high 3 bits of the
// upper word are used to encode the in/out status of the parameter.
//
// 31 29 28 16 15 8 7 0
// +---------------------------------------------------------------+
// | I/O | Parameter Length | Command Group | Command |
// +---------------------------------------------------------------+
// no parameters
// copy parameters out
// copy parameters in
// copy parameters in and out
// mask for IN/OUT/VOID
// this should be _IORW, but stdio got there first
// Tty ioctl's except for those supported only for backwards compatibility
// with the old tty driver.
// Window/terminal size structure. This information is stored by the kernel
// in order to provide a consistent interface, but is not used by the kernel.
type Winsize = struct {
Fws_row uint16
Fws_col uint16
Fws_xpixel uint16
Fws_ypixel uint16
} /* ttycom.h:54:1 */
// The following are not exposed when imported via <termios.h>
// when _POSIX_SOURCE (et.al.) is defined (and hence _NETBSD_SOURCE
// is not, unless that is added manually.)
// ptmget, for /dev/ptm pty getting ioctl TIOCPTMGET, and for TIOCPTSNAME
type Ptmget = struct {
Fcfd int32
Fsfd int32
Fcn [1024]int8
Fsn [1024]int8
} /* ttycom.h:74:1 */
// 8-10 compat
// 15 unused
// 17-18 compat
// This is the maximum length of a line discipline's name.
type Linedn_t = [32]int8 /* ttycom.h:111:14 */
// END OF PROTECTED INCLUDE.
// $NetBSD: ttydefaults.h,v 1.16 2008/05/24 14:06:39 yamt Exp $
// -
// Copyright (c) 1982, 1986, 1993
// The Regents of the University of California. All rights reserved.
// (c) UNIX System Laboratories, Inc.
// All or some portions of this file are derived from material licensed
// to the University of California by American Telephone and Telegraph
// Co. or Unix System Laboratories, Inc. and are reproduced herein with
// the permission of UNIX System Laboratories, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
//
// @(#)ttydefaults.h 8.4 (Berkeley) 1/21/94
// System wide defaults for terminal state.
// Defaults on "first" open.
// Control Character Defaults
// compat
// PROTECTED INCLUSION ENDS HERE
// #define TTYDEFCHARS to include an array of default control characters.
var _ int8 /* gen.c:2:13: */

View file

@ -0,0 +1,728 @@
// Code generated by 'ccgo termios/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o termios/termios_netbsd_arm.go -pkgname termios', DO NOT EDIT.
package termios
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
ALTWERASE = 0x00000200 // termios.h:174:1:
ARG_MAX = 262144 // syslimits.h:45:1:
B0 = 0 // termios.h:215:1:
B1000000 = 1000000 // termios.h:242:1:
B110 = 110 // termios.h:218:1:
B115200 = 115200 // termios.h:237:1:
B1200 = 1200 // termios.h:224:1:
B134 = 134 // termios.h:219:1:
B14400 = 14400 // termios.h:233:1:
B150 = 150 // termios.h:220:1:
B1500000 = 1500000 // termios.h:243:1:
B1800 = 1800 // termios.h:225:1:
B19200 = 19200 // termios.h:229:1:
B200 = 200 // termios.h:221:1:
B2000000 = 2000000 // termios.h:244:1:
B230400 = 230400 // termios.h:238:1:
B2400 = 2400 // termios.h:226:1:
B2500000 = 2500000 // termios.h:245:1:
B28800 = 28800 // termios.h:234:1:
B300 = 300 // termios.h:222:1:
B3000000 = 3000000 // termios.h:246:1:
B3500000 = 3500000 // termios.h:247:1:
B38400 = 38400 // termios.h:230:1:
B4000000 = 4000000 // termios.h:248:1:
B460800 = 460800 // termios.h:239:1:
B4800 = 4800 // termios.h:227:1:
B50 = 50 // termios.h:216:1:
B500000 = 500000 // termios.h:240:1:
B57600 = 57600 // termios.h:235:1:
B600 = 600 // termios.h:223:1:
B7200 = 7200 // termios.h:232:1:
B75 = 75 // termios.h:217:1:
B76800 = 76800 // termios.h:236:1:
B921600 = 921600 // termios.h:241:1:
B9600 = 9600 // termios.h:228:1:
BC_DIM_MAX = 65535 // syslimits.h:64:1:
BRKINT = 0x00000002 // termios.h:91:1:
CCTS_OFLOW = 65536 // termios.h:145:1:
CDISCARD = 15 // ttydefaults.h:72:1:
CDSUSP = 25 // ttydefaults.h:68:1:
CDTRCTS = 0x00020000 // termios.h:146:1:
CEOF = 4 // ttydefaults.h:58:1:
CEOT = 4 // ttydefaults.h:75:1:
CERASE = 0177 // ttydefaults.h:60:1:
CFLUSH = 15 // ttydefaults.h:79:1:
CHILD_MAX = 160 // syslimits.h:47:1:
CHWFLOW = 1245184 // termios.h:148:1:
CIGNORE = 0x00000001 // termios.h:129:1:
CINTR = 3 // ttydefaults.h:61:1:
CKILL = 21 // ttydefaults.h:63:1:
CLNEXT = 22 // ttydefaults.h:71:1:
CLOCAL = 0x00008000 // termios.h:141:1:
CMIN = 1 // ttydefaults.h:64:1:
COLL_WEIGHTS_MAX = 2 // syslimits.h:67:1:
CQUIT = 034 // ttydefaults.h:65:1:
CREAD = 0x00000800 // termios.h:137:1:
CREPRINT = 18 // ttydefaults.h:74:1:
CRPRNT = 18 // ttydefaults.h:78:1:
CRTSCTS = 0x00010000 // termios.h:143:1:
CRTS_IFLOW = 65536 // termios.h:144:1:
CS5 = 0x00000000 // termios.h:132:1:
CS6 = 0x00000100 // termios.h:133:1:
CS7 = 0x00000200 // termios.h:134:1:
CS8 = 0x00000300 // termios.h:135:1:
CSIZE = 0x00000300 // termios.h:131:1:
CSTART = 17 // ttydefaults.h:69:1:
CSTATUS = 20 // ttydefaults.h:62:1:
CSTOP = 19 // ttydefaults.h:70:1:
CSTOPB = 0x00000400 // termios.h:136:1:
CSUSP = 26 // ttydefaults.h:66:1:
CTIME = 0 // ttydefaults.h:67:1:
CWERASE = 23 // ttydefaults.h:73:1:
ECHO = 0x00000008 // termios.h:165:1:
ECHOCTL = 0x00000040 // termios.h:169:1:
ECHOE = 0x00000002 // termios.h:163:1:
ECHOK = 0x00000004 // termios.h:164:1:
ECHOKE = 0x00000001 // termios.h:161:1:
ECHONL = 0x00000010 // termios.h:166:1:
ECHOPRT = 0x00000020 // termios.h:168:1:
EXPR_NEST_MAX = 32 // syslimits.h:68:1:
EXTA = 19200 // termios.h:249:1:
EXTB = 38400 // termios.h:250:1:
EXTPROC = 0x00000800 // termios.h:178:1:
FLUSHO = 0x00800000 // termios.h:182:1:
GID_MAX = 2147483647 // syslimits.h:49:1:
HDLCDISC = 9 // ttycom.h:177:1:
HUPCL = 0x00004000 // termios.h:140:1:
ICANON = 0x00000100 // termios.h:172:1:
ICRNL = 0x00000100 // termios.h:98:1:
IEXTEN = 0x00000400 // termios.h:176:1:
IGNBRK = 0x00000001 // termios.h:90:1:
IGNCR = 0x00000080 // termios.h:97:1:
IGNPAR = 0x00000004 // termios.h:92:1:
IMAXBEL = 0x00002000 // termios.h:105:1:
INLCR = 0x00000040 // termios.h:96:1:
INPCK = 0x00000010 // termios.h:94:1:
IOCGROUP_SHIFT = 8 // ioccom.h:49:1:
IOCPARM_MASK = 0x1fff // ioccom.h:47:1:
IOCPARM_SHIFT = 16 // ioccom.h:48:1:
IOV_MAX = 1024 // syslimits.h:84:1:
ISIG = 0x00000080 // termios.h:171:1:
ISTRIP = 0x00000020 // termios.h:95:1:
IXANY = 0x00000800 // termios.h:102:1:
IXOFF = 0x00000400 // termios.h:100:1:
IXON = 0x00000200 // termios.h:99:1:
LINE_MAX = 2048 // syslimits.h:69:1:
LINK_MAX = 32767 // syslimits.h:50:1:
LOGIN_NAME_MAX = 17 // syslimits.h:77:1:
MAX_CANON = 255 // syslimits.h:51:1:
MAX_INPUT = 255 // syslimits.h:52:1:
MDMBUF = 0x00100000 // termios.h:147:1:
NAME_MAX = 511 // syslimits.h:53:1:
NCCS = 20 // termios.h:79:1:
NGROUPS_MAX = 16 // syslimits.h:55:1:
NOFLSH = 0x80000000 // termios.h:186:1:
NOKERNINFO = 0x02000000 // termios.h:183:1:
NZERO = 20 // syslimits.h:85:1:
OCRNL = 0x00000010 // termios.h:120:1:
ONLCR = 0x00000002 // termios.h:113:1:
ONLRET = 0x00000040 // termios.h:122:1:
ONOCR = 0x00000020 // termios.h:121:1:
ONOEOT = 0x00000008 // termios.h:117:1:
OPEN_MAX = 128 // syslimits.h:58:1:
OPOST = 0x00000001 // termios.h:111:1:
OXTABS = 0x00000004 // termios.h:116:1:
PARENB = 0x00001000 // termios.h:138:1:
PARMRK = 0x00000008 // termios.h:93:1:
PARODD = 0x00002000 // termios.h:139:1:
PATH_MAX = 1024 // syslimits.h:60:1:
PENDIN = 0x20000000 // termios.h:184:1:
PIPE_BUF = 512 // syslimits.h:61:1:
PPPDISC = 5 // ttycom.h:175:1:
RE_DUP_MAX = 255 // syslimits.h:70:1:
SLIPDISC = 4 // ttycom.h:174:1:
STRIPDISC = 6 // ttycom.h:176:1:
TABLDISC = 3 // ttycom.h:173:1:
TCIFLUSH = 1 // termios.h:255:1:
TCIOFF = 3 // termios.h:260:1:
TCIOFLUSH = 3 // termios.h:257:1:
TCION = 4 // termios.h:261:1:
TCOFLUSH = 2 // termios.h:256:1:
TCOOFF = 1 // termios.h:258:1:
TCOON = 2 // termios.h:259:1:
TCSADRAIN = 1 // termios.h:206:1:
TCSAFLUSH = 2 // termios.h:207:1:
TCSANOW = 0 // termios.h:205:1:
TCSASOFT = 0x10 // termios.h:209:1:
TIOCFLAG_CDTRCTS = 0x10 // ttycom.h:158:1:
TIOCFLAG_CLOCAL = 0x02 // ttycom.h:155:1:
TIOCFLAG_CRTSCTS = 0x04 // ttycom.h:156:1:
TIOCFLAG_MDMBUF = 0x08 // ttycom.h:157:1:
TIOCFLAG_SOFTCAR = 0x01 // ttycom.h:154:1:
TIOCM_CAR = 0100 // ttycom.h:89:1:
TIOCM_CD = 64 // ttycom.h:90:1:
TIOCM_CTS = 0040 // ttycom.h:88:1:
TIOCM_DSR = 0400 // ttycom.h:93:1:
TIOCM_DTR = 0002 // ttycom.h:84:1:
TIOCM_LE = 0001 // ttycom.h:83:1:
TIOCM_RI = 128 // ttycom.h:92:1:
TIOCM_RNG = 0200 // ttycom.h:91:1:
TIOCM_RTS = 0004 // ttycom.h:85:1:
TIOCM_SR = 0020 // ttycom.h:87:1:
TIOCM_ST = 0010 // ttycom.h:86:1:
TIOCPKT_DATA = 0x00 // ttycom.h:126:1:
TIOCPKT_DOSTOP = 0x20 // ttycom.h:132:1:
TIOCPKT_FLUSHREAD = 0x01 // ttycom.h:127:1:
TIOCPKT_FLUSHWRITE = 0x02 // ttycom.h:128:1:
TIOCPKT_IOCTL = 0x40 // ttycom.h:133:1:
TIOCPKT_NOSTOP = 0x10 // ttycom.h:131:1:
TIOCPKT_START = 0x08 // ttycom.h:130:1:
TIOCPKT_STOP = 0x04 // ttycom.h:129:1:
TOSTOP = 0x00400000 // termios.h:180:1:
TTLINEDNAMELEN = 32 // ttycom.h:110:1:
TTYDEF_CFLAG = 19200 // ttydefaults.h:51:1:
TTYDEF_IFLAG = 11010 // ttydefaults.h:48:1:
TTYDEF_LFLAG = 1483 // ttydefaults.h:50:1:
TTYDEF_OFLAG = 7 // ttydefaults.h:49:1:
TTYDEF_SPEED = 9600 // ttydefaults.h:52:1:
TTYDISC = 0 // ttycom.h:172:1:
UID_MAX = 2147483647 // syslimits.h:56:1:
VDISCARD = 15 // termios.h:71:1:
VDSUSP = 11 // termios.h:65:1:
VEOF = 0 // termios.h:47:1:
VEOL = 1 // termios.h:48:1:
VEOL2 = 2 // termios.h:50:1:
VERASE = 3 // termios.h:52:1:
VINTR = 8 // termios.h:61:1:
VKILL = 5 // termios.h:56:1:
VLNEXT = 14 // termios.h:70:1:
VMIN = 16 // termios.h:73:1:
VQUIT = 9 // termios.h:62:1:
VREPRINT = 6 // termios.h:58:1:
VSTART = 12 // termios.h:67:1:
VSTATUS = 18 // termios.h:76:1:
VSTOP = 13 // termios.h:68:1:
VSUSP = 10 // termios.h:63:1:
VTIME = 17 // termios.h:74:1:
VWERASE = 4 // termios.h:54:1:
X_ARM_ARCH_4T = 0 // cdefs.h:44:1:
X_ARM_ARCH_5 = 0 // cdefs.h:40:1:
X_ARM_ARCH_5T = 0 // cdefs.h:36:1:
X_ARM_ARCH_6 = 0 // cdefs.h:31:1:
X_ARM_ARCH_7 = 0 // cdefs.h:20:1:
X_ARM_ARCH_DWORD_OK = 0 // cdefs.h:51:1:
X_ARM_ARCH_T2 = 0 // cdefs.h:24:1:
X_ARM_CDEFS_H_ = 0 // cdefs.h:4:1:
X_ARM_INT_TYPES_H_ = 0 // int_types.h:33:1:
X_FILE_OFFSET_BITS = 64 // <builtin>:25:1:
X_NETBSD_SOURCE = 1 // featuretest.h:70:1:
X_NETBSD_SYS_TTYCOM_H_ = 0 // ttycom.h:65:1:
X_PATH_PTMDEV = "/dev/ptm" // ttycom.h:81:1:
X_POSIX_SYS_TTYCOM_H_ = 0 // ttycom.h:40:1:
X_SYS_ANSI_H_ = 0 // ansi.h:33:1:
X_SYS_CDEFS_ELF_H_ = 0 // cdefs_elf.h:31:1:
X_SYS_CDEFS_H_ = 0 // cdefs.h:37:1:
X_SYS_COMMON_ANSI_H_ = 0 // common_ansi.h:33:1:
X_SYS_COMMON_INT_TYPES_H_ = 0 // common_int_types.h:33:1:
X_SYS_IOCCOM_H_ = 0 // ioccom.h:35:1:
X_SYS_SYSLIMITS_H_ = 0 // syslimits.h:35:1:
X_SYS_TERMIOS_H_ = 0 // termios.h:35:1:
X_SYS_TTYDEFAULTS_H_ = 0 // ttydefaults.h:43:1:
)
type Ptrdiff_t = int32 /* <builtin>:3:26 */
type Size_t = uint32 /* <builtin>:9:23 */
type Wchar_t = int32 /* <builtin>:15:24 */
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
// return true if value 'a' fits in type 't'
// $NetBSD: int_types.h,v 1.17 2014/07/25 21:43:13 joerg Exp $
// -
// Copyright (c) 2014 The NetBSD Foundation, Inc.
// All rights reserved.
//
// This code is derived from software contributed to The NetBSD Foundation
// by Matt Thomas of 3am Software Foundry.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
// $NetBSD: common_int_types.h,v 1.1 2014/07/25 21:43:13 joerg Exp $
// -
// Copyright (c) 2014 The NetBSD Foundation, Inc.
// All rights reserved.
//
// This code is derived from software contributed to The NetBSD Foundation
// by Joerg Sonnenberger.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
// 7.18.1 Integer types
// 7.18.1.1 Exact-width integer types
type X__int8_t = int8 /* common_int_types.h:45:27 */
type X__uint8_t = uint8 /* common_int_types.h:46:27 */
type X__int16_t = int16 /* common_int_types.h:47:27 */
type X__uint16_t = uint16 /* common_int_types.h:48:27 */
type X__int32_t = int32 /* common_int_types.h:49:27 */
type X__uint32_t = uint32 /* common_int_types.h:50:27 */
type X__int64_t = int64 /* common_int_types.h:51:27 */
type X__uint64_t = uint64 /* common_int_types.h:52:27 */
// 7.18.1.4 Integer types capable of holding object pointers
type X__intptr_t = int32 /* common_int_types.h:58:27 */
type X__uintptr_t = uint32 /* common_int_types.h:59:26 */
// Types which are fundamental to the implementation and may appear in
// more than one standard header are defined here. Standard headers
// then use:
// #ifdef _BSD_SIZE_T_
// typedef _BSD_SIZE_T_ size_t;
// #undef _BSD_SIZE_T_
// #endif
type X__caddr_t = uintptr /* ansi.h:37:14 */ // core address
type X__gid_t = X__uint32_t /* ansi.h:38:20 */ // group id
type X__in_addr_t = X__uint32_t /* ansi.h:39:20 */ // IP(v4) address
type X__in_port_t = X__uint16_t /* ansi.h:40:20 */ // "Internet" port number
type X__mode_t = X__uint32_t /* ansi.h:41:20 */ // file permissions
type X__off_t = X__int64_t /* ansi.h:42:19 */ // file offset
type X__pid_t = X__int32_t /* ansi.h:43:19 */ // process id
type X__sa_family_t = X__uint8_t /* ansi.h:44:19 */ // socket address family
type X__socklen_t = uint32 /* ansi.h:45:22 */ // socket-related datum length
type X__uid_t = X__uint32_t /* ansi.h:46:20 */ // user id
type X__fsblkcnt_t = X__uint64_t /* ansi.h:47:20 */ // fs block count (statvfs)
type X__fsfilcnt_t = X__uint64_t /* ansi.h:48:20 */
type X__wctrans_t = uintptr /* ansi.h:51:32 */
type X__wctype_t = uintptr /* ansi.h:54:31 */
// mbstate_t is an opaque object to keep conversion state, during multibyte
// stream conversions. The content must not be referenced by user programs.
type X__mbstate_t = struct {
F__mbstateL X__int64_t
F__ccgo_pad1 [120]byte
} /* ansi.h:63:3 */
type X__va_list = X__builtin_va_list /* ansi.h:72:27 */
// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
// Public domain.
//
// NOTE: Do not protect this header against multiple inclusion. Doing
// so can have subtle side-effects due to header file inclusion order
// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
// protect each CPP macro that we want to supply.
// Feature-test macros are defined by several standards, and allow an
// application to specify what symbols they want the system headers to
// expose, and hence what standard they want them to conform to.
// There are two classes of feature-test macros. The first class
// specify complete standards, and if one of these is defined, header
// files will try to conform to the relevant standard. They are:
//
// ANSI macros:
// _ANSI_SOURCE ANSI C89
//
// POSIX macros:
// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
//
// X/Open macros:
// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
//
// NetBSD macros:
// _NETBSD_SOURCE == 1 Make all NetBSD features available.
//
// If more than one of these "major" feature-test macros is defined,
// then the set of facilities provided (and namespace used) is the
// union of that specified by the relevant standards, and in case of
// conflict, the earlier standard in the above list has precedence (so
// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
// of rename() that's used is the POSIX one). If none of the "major"
// feature-test macros is defined, _NETBSD_SOURCE is assumed.
//
// There are also "minor" feature-test macros, which enable extra
// functionality in addition to some base standard. They should be
// defined along with one of the "major" macros. The "minor" macros
// are:
//
// _REENTRANT
// _ISOC99_SOURCE
// _ISOC11_SOURCE
// _LARGEFILE_SOURCE Large File Support
// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
// Special Control Characters
//
// Index into c_cc[] character array.
//
// Name Subscript Enabled by
// 7 spare 1
// 19 spare 2
// Input flags - software input processing
// Output flags - software output processing
// Control flags - hardware control of terminal
// "Local" flags - dumping ground for other state
//
// Warning: some flags in this structure begin with
// the letter "I" and look like they belong in the
// input flag.
type Tcflag_t = uint32 /* termios.h:188:22 */
type Cc_t = uint8 /* termios.h:189:23 */
type Speed_t = uint32 /* termios.h:190:22 */
type Termios = struct {
Fc_iflag Tcflag_t
Fc_oflag Tcflag_t
Fc_cflag Tcflag_t
Fc_lflag Tcflag_t
Fc_cc [20]Cc_t
Fc_ispeed int32
Fc_ospeed int32
} /* termios.h:192:1 */
// Commands passed to tcsetattr() for setting the termios structure.
// Standard speeds
type Pid_t = X__pid_t /* termios.h:265:18 */
// Include tty ioctl's that aren't just for backwards compatibility
// with the old tty driver. These ioctl definitions were previously
// in <sys/ioctl.h>. Most of this appears only when _NETBSD_SOURCE
// is defined, but (at least) struct winsize has been made standard,
// and needs to be visible here (as well as via the old <sys/ioctl.h>.)
// $NetBSD: ttycom.h,v 1.21 2017/10/25 06:32:59 kre Exp $
// -
// Copyright (c) 1982, 1986, 1990, 1993, 1994
// The Regents of the University of California. All rights reserved.
// (c) UNIX System Laboratories, Inc.
// All or some portions of this file are derived from material licensed
// to the University of California by American Telephone and Telegraph
// Co. or Unix System Laboratories, Inc. and are reproduced herein with
// the permission of UNIX System Laboratories, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
//
// @(#)ttycom.h 8.1 (Berkeley) 3/28/94
// $NetBSD: syslimits.h,v 1.28 2015/08/21 07:19:39 uebayasi Exp $
// Copyright (c) 1988, 1993
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
//
// @(#)syslimits.h 8.1 (Berkeley) 6/2/93
// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
// Public domain.
//
// NOTE: Do not protect this header against multiple inclusion. Doing
// so can have subtle side-effects due to header file inclusion order
// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
// protect each CPP macro that we want to supply.
// Feature-test macros are defined by several standards, and allow an
// application to specify what symbols they want the system headers to
// expose, and hence what standard they want them to conform to.
// There are two classes of feature-test macros. The first class
// specify complete standards, and if one of these is defined, header
// files will try to conform to the relevant standard. They are:
//
// ANSI macros:
// _ANSI_SOURCE ANSI C89
//
// POSIX macros:
// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
//
// X/Open macros:
// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
//
// NetBSD macros:
// _NETBSD_SOURCE == 1 Make all NetBSD features available.
//
// If more than one of these "major" feature-test macros is defined,
// then the set of facilities provided (and namespace used) is the
// union of that specified by the relevant standards, and in case of
// conflict, the earlier standard in the above list has precedence (so
// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
// of rename() that's used is the POSIX one). If none of the "major"
// feature-test macros is defined, _NETBSD_SOURCE is assumed.
//
// There are also "minor" feature-test macros, which enable extra
// functionality in addition to some base standard. They should be
// defined along with one of the "major" macros. The "minor" macros
// are:
//
// _REENTRANT
// _ISOC99_SOURCE
// _ISOC11_SOURCE
// _LARGEFILE_SOURCE Large File Support
// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
// kept in sync with MAXNAMLEN
// IEEE Std 1003.1c-95, adopted in X/Open CAE Specification Issue 5 Version 2
// X/Open CAE Specification Issue 5 Version 2
// $NetBSD: ioccom.h,v 1.13 2019/05/26 10:21:33 hannken Exp $
// -
// Copyright (c) 1982, 1986, 1990, 1993, 1994
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
//
// @(#)ioccom.h 8.3 (Berkeley) 1/9/95
// Ioctl's have the command encoded in the lower word, and the size of
// any in or out parameters in the upper word. The high 3 bits of the
// upper word are used to encode the in/out status of the parameter.
//
// 31 29 28 16 15 8 7 0
// +---------------------------------------------------------------+
// | I/O | Parameter Length | Command Group | Command |
// +---------------------------------------------------------------+
// no parameters
// copy parameters out
// copy parameters in
// copy parameters in and out
// mask for IN/OUT/VOID
// this should be _IORW, but stdio got there first
// Tty ioctl's except for those supported only for backwards compatibility
// with the old tty driver.
// Window/terminal size structure. This information is stored by the kernel
// in order to provide a consistent interface, but is not used by the kernel.
type Winsize = struct {
Fws_row uint16
Fws_col uint16
Fws_xpixel uint16
Fws_ypixel uint16
} /* ttycom.h:54:1 */
// The following are not exposed when imported via <termios.h>
// when _POSIX_SOURCE (et.al.) is defined (and hence _NETBSD_SOURCE
// is not, unless that is added manually.)
// ptmget, for /dev/ptm pty getting ioctl TIOCPTMGET, and for TIOCPTSNAME
type Ptmget = struct {
Fcfd int32
Fsfd int32
Fcn [1024]uint8
Fsn [1024]uint8
} /* ttycom.h:74:1 */
// 8-10 compat
// 15 unused
// 17-18 compat
// This is the maximum length of a line discipline's name.
type Linedn_t = [32]uint8 /* ttycom.h:111:14 */
// END OF PROTECTED INCLUDE.
// $NetBSD: ttydefaults.h,v 1.16 2008/05/24 14:06:39 yamt Exp $
// -
// Copyright (c) 1982, 1986, 1993
// The Regents of the University of California. All rights reserved.
// (c) UNIX System Laboratories, Inc.
// All or some portions of this file are derived from material licensed
// to the University of California by American Telephone and Telegraph
// Co. or Unix System Laboratories, Inc. and are reproduced herein with
// the permission of UNIX System Laboratories, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
//
// @(#)ttydefaults.h 8.4 (Berkeley) 1/21/94
// System wide defaults for terminal state.
// Defaults on "first" open.
// Control Character Defaults
// compat
// PROTECTED INCLUSION ENDS HERE
// #define TTYDEFCHARS to include an array of default control characters.
var _ uint8 /* gen.c:2:13: */

View file

@ -0,0 +1,779 @@
// Code generated by 'ccgo termios/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o termios/termios_openbsd_386.go -pkgname termios', DO NOT EDIT.
package termios
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
ALTWERASE = 0x00000200 // termios.h:172:1:
B0 = 0 // termios.h:212:1:
B110 = 110 // termios.h:215:1:
B115200 = 115200 // termios.h:234:1:
B1200 = 1200 // termios.h:221:1:
B134 = 134 // termios.h:216:1:
B14400 = 14400 // termios.h:230:1:
B150 = 150 // termios.h:217:1:
B1800 = 1800 // termios.h:222:1:
B19200 = 19200 // termios.h:226:1:
B200 = 200 // termios.h:218:1:
B230400 = 230400 // termios.h:235:1:
B2400 = 2400 // termios.h:223:1:
B28800 = 28800 // termios.h:231:1:
B300 = 300 // termios.h:219:1:
B38400 = 38400 // termios.h:227:1:
B4800 = 4800 // termios.h:224:1:
B50 = 50 // termios.h:213:1:
B57600 = 57600 // termios.h:232:1:
B600 = 600 // termios.h:220:1:
B7200 = 7200 // termios.h:229:1:
B75 = 75 // termios.h:214:1:
B76800 = 76800 // termios.h:233:1:
B9600 = 9600 // termios.h:225:1:
BRKINT = 0x00000002 // termios.h:91:1:
CCTS_OFLOW = 65536 // termios.h:145:1:
CDISCARD = 15 // ttydefaults.h:73:1:
CDSUSP = 25 // ttydefaults.h:69:1:
CEOF = 4 // ttydefaults.h:59:1:
CEOT = 4 // ttydefaults.h:76:1:
CERASE = 0177 // ttydefaults.h:61:1:
CFLUSH = 15 // ttydefaults.h:80:1:
CHWFLOW = 1114112 // termios.h:147:1:
CIGNORE = 0x00000001 // termios.h:129:1:
CINTR = 3 // ttydefaults.h:62:1:
CKILL = 21 // ttydefaults.h:64:1:
CLNEXT = 22 // ttydefaults.h:72:1:
CLOCAL = 0x00008000 // termios.h:141:1:
CMIN = 1 // ttydefaults.h:65:1:
CQUIT = 034 // ttydefaults.h:66:1:
CREAD = 0x00000800 // termios.h:137:1:
CREPRINT = 18 // ttydefaults.h:75:1:
CRPRNT = 18 // ttydefaults.h:79:1:
CRTSCTS = 0x00010000 // termios.h:143:1:
CRTS_IFLOW = 65536 // termios.h:144:1:
CS5 = 0x00000000 // termios.h:132:1:
CS6 = 0x00000100 // termios.h:133:1:
CS7 = 0x00000200 // termios.h:134:1:
CS8 = 0x00000300 // termios.h:135:1:
CSIZE = 0x00000300 // termios.h:131:1:
CSTART = 17 // ttydefaults.h:70:1:
CSTOP = 19 // ttydefaults.h:71:1:
CSTOPB = 0x00000400 // termios.h:136:1:
CSUSP = 26 // ttydefaults.h:67:1:
CTIME = 0 // ttydefaults.h:68:1:
CWERASE = 23 // ttydefaults.h:74:1:
ECHO = 0x00000008 // termios.h:163:1:
ECHOCTL = 0x00000040 // termios.h:167:1:
ECHOE = 0x00000002 // termios.h:161:1:
ECHOK = 0x00000004 // termios.h:162:1:
ECHOKE = 0x00000001 // termios.h:159:1:
ECHONL = 0x00000010 // termios.h:164:1:
ECHOPRT = 0x00000020 // termios.h:166:1:
ENDRUNDISC = 9 // ttycom.h:149:1:
EXTA = 19200 // termios.h:236:1:
EXTB = 38400 // termios.h:237:1:
EXTPROC = 0x00000800 // termios.h:175:1:
FLUSHO = 0x00800000 // termios.h:178:1:
HUPCL = 0x00004000 // termios.h:140:1:
ICANON = 0x00000100 // termios.h:170:1:
ICRNL = 0x00000100 // termios.h:98:1:
IEXTEN = 0x00000400 // termios.h:174:1:
IGNBRK = 0x00000001 // termios.h:90:1:
IGNCR = 0x00000080 // termios.h:97:1:
IGNPAR = 0x00000004 // termios.h:92:1:
IMAXBEL = 0x00002000 // termios.h:104:1:
INLCR = 0x00000040 // termios.h:96:1:
INPCK = 0x00000010 // termios.h:94:1:
IOCPARM_MASK = 0x1fff // ioccom.h:43:1:
ISIG = 0x00000080 // termios.h:169:1:
ISTRIP = 0x00000020 // termios.h:95:1:
IUCLC = 0x00001000 // termios.h:103:1:
IXANY = 0x00000800 // termios.h:102:1:
IXOFF = 0x00000400 // termios.h:100:1:
IXON = 0x00000200 // termios.h:99:1:
MDMBUF = 0x00100000 // termios.h:146:1:
MSTSDISC = 8 // ttycom.h:148:1:
NCCS = 20 // termios.h:79:1:
NMEADISC = 7 // ttycom.h:147:1:
NOFLSH = 0x80000000 // termios.h:183:1:
NOKERNINFO = 0x02000000 // termios.h:180:1:
OCRNL = 0x00000010 // termios.h:119:1:
OLCUC = 0x00000020 // termios.h:120:1:
ONLCR = 0x00000002 // termios.h:112:1:
ONLRET = 0x00000080 // termios.h:122:1:
ONOCR = 0x00000040 // termios.h:121:1:
ONOEOT = 0x00000008 // termios.h:116:1:
OPOST = 0x00000001 // termios.h:110:1:
OXTABS = 0x00000004 // termios.h:115:1:
PARENB = 0x00001000 // termios.h:138:1:
PARMRK = 0x00000008 // termios.h:93:1:
PARODD = 0x00002000 // termios.h:139:1:
PENDIN = 0x20000000 // termios.h:181:1:
PPPDISC = 5 // ttycom.h:145:1:
SLIPDISC = 4 // ttycom.h:144:1:
STRIPDISC = 6 // ttycom.h:146:1:
TABLDISC = 3 // ttycom.h:143:1:
TCIFLUSH = 1 // termios.h:242:1:
TCIOFF = 3 // termios.h:247:1:
TCIOFLUSH = 3 // termios.h:244:1:
TCION = 4 // termios.h:248:1:
TCOFLUSH = 2 // termios.h:243:1:
TCOOFF = 1 // termios.h:245:1:
TCOON = 2 // termios.h:246:1:
TCSADRAIN = 1 // termios.h:203:1:
TCSAFLUSH = 2 // termios.h:204:1:
TCSANOW = 0 // termios.h:202:1:
TCSASOFT = 0x10 // termios.h:206:1:
TIOCFLAG_CLOCAL = 0x02 // ttycom.h:131:1:
TIOCFLAG_CRTSCTS = 0x04 // ttycom.h:132:1:
TIOCFLAG_MDMBUF = 0x08 // ttycom.h:133:1:
TIOCFLAG_PPS = 0x10 // ttycom.h:134:1:
TIOCFLAG_SOFTCAR = 0x01 // ttycom.h:130:1:
TIOCM_CAR = 0100 // ttycom.h:69:1:
TIOCM_CD = 64 // ttycom.h:70:1:
TIOCM_CTS = 0040 // ttycom.h:68:1:
TIOCM_DSR = 0400 // ttycom.h:73:1:
TIOCM_DTR = 0002 // ttycom.h:64:1:
TIOCM_LE = 0001 // ttycom.h:63:1:
TIOCM_RI = 128 // ttycom.h:72:1:
TIOCM_RNG = 0200 // ttycom.h:71:1:
TIOCM_RTS = 0004 // ttycom.h:65:1:
TIOCM_SR = 0020 // ttycom.h:67:1:
TIOCM_ST = 0010 // ttycom.h:66:1:
TIOCPKT_DATA = 0x00 // ttycom.h:100:1:
TIOCPKT_DOSTOP = 0x20 // ttycom.h:106:1:
TIOCPKT_FLUSHREAD = 0x01 // ttycom.h:101:1:
TIOCPKT_FLUSHWRITE = 0x02 // ttycom.h:102:1:
TIOCPKT_IOCTL = 0x40 // ttycom.h:107:1:
TIOCPKT_NOSTOP = 0x10 // ttycom.h:105:1:
TIOCPKT_START = 0x08 // ttycom.h:104:1:
TIOCPKT_STOP = 0x04 // ttycom.h:103:1:
TOSTOP = 0x00400000 // termios.h:176:1:
TTYDEF_CFLAG = 19200 // ttydefaults.h:52:1:
TTYDEF_IFLAG = 11010 // ttydefaults.h:49:1:
TTYDEF_LFLAG = 1483 // ttydefaults.h:51:1:
TTYDEF_OFLAG = 3 // ttydefaults.h:50:1:
TTYDEF_SPEED = 9600 // ttydefaults.h:53:1:
TTYDISC = 0 // ttycom.h:142:1:
VDISCARD = 15 // termios.h:71:1:
VDSUSP = 11 // termios.h:65:1:
VEOF = 0 // termios.h:47:1:
VEOL = 1 // termios.h:48:1:
VEOL2 = 2 // termios.h:50:1:
VERASE = 3 // termios.h:52:1:
VINTR = 8 // termios.h:61:1:
VKILL = 5 // termios.h:56:1:
VLNEXT = 14 // termios.h:70:1:
VMIN = 16 // termios.h:73:1:
VQUIT = 9 // termios.h:62:1:
VREPRINT = 6 // termios.h:58:1:
VSTART = 12 // termios.h:67:1:
VSTATUS = 18 // termios.h:76:1:
VSTOP = 13 // termios.h:68:1:
VSUSP = 10 // termios.h:63:1:
VTIME = 17 // termios.h:74:1:
VWERASE = 4 // termios.h:54:1:
XCASE = 0x01000000 // termios.h:179:1:
X_FILE_OFFSET_BITS = 64 // <builtin>:25:1:
X_ILP32 = 1 // <predefined>:1:1:
X_MACHINE_CDEFS_H_ = 0 // cdefs.h:9:1:
X_MACHINE__TYPES_H_ = 0 // _types.h:36:1:
X_MAX_PAGE_SHIFT = 12 // _types.h:52:1:
X_PID_T_DEFINED_ = 0 // termios.h:254:1:
X_POSIX_VDISABLE = 255 // termios.h:81:1:
X_STACKALIGNBYTES = 15 // _types.h:49:1:
X_SYS_CDEFS_H_ = 0 // cdefs.h:39:1:
X_SYS_IOCCOM_H_ = 0 // ioccom.h:36:1:
X_SYS_TERMIOS_H_ = 0 // termios.h:36:1:
X_SYS_TTYCOM_H_ = 0 // ttycom.h:41:1:
X_SYS_TTYDEFAULTS_H_ = 0 // ttydefaults.h:44:1:
X_SYS__TYPES_H_ = 0 // _types.h:35:1:
I386 = 1 // <predefined>:339:1:
Unix = 1 // <predefined>:340:1:
)
type Ptrdiff_t = int32 /* <builtin>:3:26 */
type Size_t = uint32 /* <builtin>:9:23 */
type Wchar_t = int32 /* <builtin>:15:24 */
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
// $OpenBSD: termios.h,v 1.13 2016/09/20 21:10:22 fcambus Exp $
// $NetBSD: termios.h,v 1.14 1996/04/09 20:55:41 cgd Exp $
// Copyright (c) 1988, 1989, 1993, 1994
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
//
// @(#)termios.h 8.3 (Berkeley) 3/28/94
// $OpenBSD: cdefs.h,v 1.43 2018/10/29 17:10:40 guenther Exp $
// $NetBSD: cdefs.h,v 1.16 1996/04/03 20:46:39 christos Exp $
// Copyright (c) 1991, 1993
// The Regents of the University of California. All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Berkeley Software Design, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
//
// @(#)cdefs.h 8.7 (Berkeley) 1/21/94
// $OpenBSD: cdefs.h,v 1.10 2013/03/28 17:30:45 martynas Exp $
// Written by J.T. Conklin <jtc@wimsey.com> 01/17/95.
// Public domain.
// Macro to test if we're using a specific version of gcc or later.
// The __CONCAT macro is used to concatenate parts of symbol names, e.g.
// with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo.
// The __CONCAT macro is a bit tricky -- make sure you don't put spaces
// in between its arguments. Do not use __CONCAT on double-quoted strings,
// such as those from the __STRING macro: to concatenate strings just put
// them next to each other.
// GCC1 and some versions of GCC2 declare dead (non-returning) and
// pure (no side effects) functions using "volatile" and "const";
// unfortunately, these then cause warnings under "-ansi -pedantic".
// GCC >= 2.5 uses the __attribute__((attrs)) style. All of these
// work for GNU C++ (modulo a slight glitch in the C++ grammar in
// the distribution version of 2.5.5).
// __returns_twice makes the compiler not assume the function
// only returns once. This affects registerisation of variables:
// even local variables need to be in memory across such a call.
// Example: setjmp()
// __only_inline makes the compiler only use this function definition
// for inlining; references that can't be inlined will be left as
// external references instead of generating a local copy. The
// matching library should include a simple extern definition for
// the function to handle those references. c.f. ctype.h
// GNU C version 2.96 adds explicit branch prediction so that
// the CPU back-end can hint the processor and also so that
// code blocks can be reordered such that the predicted path
// sees a more linear flow, thus improving cache behavior, etc.
//
// The following two macros provide us with a way to utilize this
// compiler feature. Use __predict_true() if you expect the expression
// to evaluate to true, and __predict_false() if you expect the
// expression to evaluate to false.
//
// A few notes about usage:
//
// * Generally, __predict_false() error condition checks (unless
// you have some _strong_ reason to do otherwise, in which case
// document it), and/or __predict_true() `no-error' condition
// checks, assuming you want to optimize for the no-error case.
//
// * Other than that, if you don't know the likelihood of a test
// succeeding from empirical or other `hard' evidence, don't
// make predictions.
//
// * These are meant to be used in places that are run `a lot'.
// It is wasteful to make predictions in code that is run
// seldomly (e.g. at subsystem initialization time) as the
// basic block reordering that this affects can often generate
// larger code.
// Delete pseudo-keywords wherever they are not available or needed.
// The __packed macro indicates that a variable or structure members
// should have the smallest possible alignment, despite any host CPU
// alignment requirements.
//
// The __aligned(x) macro specifies the minimum alignment of a
// variable or structure.
//
// These macros together are useful for describing the layout and
// alignment of messages exchanged with hardware or other systems.
// "The nice thing about standards is that there are so many to choose from."
// There are a number of "feature test macros" specified by (different)
// standards that determine which interfaces and types the header files
// should expose.
//
// Because of inconsistencies in these macros, we define our own
// set in the private name space that end in _VISIBLE. These are
// always defined and so headers can test their values easily.
// Things can get tricky when multiple feature macros are defined.
// We try to take the union of all the features requested.
//
// The following macros are guaranteed to have a value after cdefs.h
// has been included:
// __POSIX_VISIBLE
// __XPG_VISIBLE
// __ISO_C_VISIBLE
// __BSD_VISIBLE
// X/Open Portability Guides and Single Unix Specifications.
// _XOPEN_SOURCE XPG3
// _XOPEN_SOURCE && _XOPEN_VERSION = 4 XPG4
// _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED = 1 XPG4v2
// _XOPEN_SOURCE == 500 XPG5
// _XOPEN_SOURCE == 520 XPG5v2
// _XOPEN_SOURCE == 600 POSIX 1003.1-2001 with XSI
// _XOPEN_SOURCE == 700 POSIX 1003.1-2008 with XSI
//
// The XPG spec implies a specific value for _POSIX_C_SOURCE.
// POSIX macros, these checks must follow the XOPEN ones above.
//
// _POSIX_SOURCE == 1 1003.1-1988 (superseded by _POSIX_C_SOURCE)
// _POSIX_C_SOURCE == 1 1003.1-1990
// _POSIX_C_SOURCE == 2 1003.2-1992
// _POSIX_C_SOURCE == 199309L 1003.1b-1993
// _POSIX_C_SOURCE == 199506L 1003.1c-1995, 1003.1i-1995,
// and the omnibus ISO/IEC 9945-1:1996
// _POSIX_C_SOURCE == 200112L 1003.1-2001
// _POSIX_C_SOURCE == 200809L 1003.1-2008
//
// The POSIX spec implies a specific value for __ISO_C_VISIBLE, though
// this may be overridden by the _ISOC99_SOURCE macro later.
// _ANSI_SOURCE means to expose ANSI C89 interfaces only.
// If the user defines it in addition to one of the POSIX or XOPEN
// macros, assume the POSIX/XOPEN macro(s) should take precedence.
// _ISOC99_SOURCE, _ISOC11_SOURCE, __STDC_VERSION__, and __cplusplus
// override any of the other macros since they are non-exclusive.
// Finally deal with BSD-specific interfaces that are not covered
// by any standards. We expose these when none of the POSIX or XPG
// macros is defined or if the user explicitly asks for them.
// Default values.
// Special Control Characters
//
// Index into c_cc[] character array.
//
// Name Subscript Enabled by
// 7 spare 1
// 19 spare 2
// Input flags - software input processing
// Output flags - software output processing
// Control flags - hardware control of terminal
// "Local" flags - dumping ground for other state
//
// Warning: some flags in this structure begin with
// the letter "I" and look like they belong in the
// input flag.
type Tcflag_t = uint32 /* termios.h:185:22 */
type Cc_t = uint8 /* termios.h:186:23 */
type Speed_t = uint32 /* termios.h:187:22 */
type Termios = struct {
Fc_iflag Tcflag_t
Fc_oflag Tcflag_t
Fc_cflag Tcflag_t
Fc_lflag Tcflag_t
Fc_cc [20]Cc_t
Fc_ispeed int32
Fc_ospeed int32
} /* termios.h:189:1 */
// Commands passed to tcsetattr() for setting the termios structure.
// Standard speeds
// $OpenBSD: _types.h,v 1.10 2022/08/06 13:31:13 semarie Exp $
// -
// Copyright (c) 1990, 1993
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
//
// @(#)types.h 8.3 (Berkeley) 1/5/94
// $OpenBSD: _types.h,v 1.23 2018/03/05 01:15:25 deraadt Exp $
// -
// Copyright (c) 1990, 1993
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
//
// @(#)types.h 8.3 (Berkeley) 1/5/94
// @(#)ansi.h 8.2 (Berkeley) 1/4/94
// _ALIGN(p) rounds p (pointer or byte index) up to a correctly-aligned
// value for all data types (int, long, ...). The result is an
// unsigned long and must be cast to any desired pointer type.
//
// _ALIGNED_POINTER is a boolean macro that checks whether an address
// is valid to fetch data elements of type t from on this architecture.
// This does not reflect the optimal alignment, just the possibility
// (within reasonable limits).
// 7.18.1.1 Exact-width integer types
type X__int8_t = int8 /* _types.h:61:22 */
type X__uint8_t = uint8 /* _types.h:62:24 */
type X__int16_t = int16 /* _types.h:63:17 */
type X__uint16_t = uint16 /* _types.h:64:25 */
type X__int32_t = int32 /* _types.h:65:15 */
type X__uint32_t = uint32 /* _types.h:66:23 */
type X__int64_t = int64 /* _types.h:67:20 */
type X__uint64_t = uint64 /* _types.h:68:28 */
// 7.18.1.2 Minimum-width integer types
type X__int_least8_t = X__int8_t /* _types.h:71:19 */
type X__uint_least8_t = X__uint8_t /* _types.h:72:20 */
type X__int_least16_t = X__int16_t /* _types.h:73:20 */
type X__uint_least16_t = X__uint16_t /* _types.h:74:21 */
type X__int_least32_t = X__int32_t /* _types.h:75:20 */
type X__uint_least32_t = X__uint32_t /* _types.h:76:21 */
type X__int_least64_t = X__int64_t /* _types.h:77:20 */
type X__uint_least64_t = X__uint64_t /* _types.h:78:21 */
// 7.18.1.3 Fastest minimum-width integer types
type X__int_fast8_t = X__int32_t /* _types.h:81:20 */
type X__uint_fast8_t = X__uint32_t /* _types.h:82:21 */
type X__int_fast16_t = X__int32_t /* _types.h:83:20 */
type X__uint_fast16_t = X__uint32_t /* _types.h:84:21 */
type X__int_fast32_t = X__int32_t /* _types.h:85:20 */
type X__uint_fast32_t = X__uint32_t /* _types.h:86:21 */
type X__int_fast64_t = X__int64_t /* _types.h:87:20 */
type X__uint_fast64_t = X__uint64_t /* _types.h:88:21 */
// 7.18.1.4 Integer types capable of holding object pointers
type X__intptr_t = int32 /* _types.h:103:16 */
type X__uintptr_t = uint32 /* _types.h:104:24 */
// 7.18.1.5 Greatest-width integer types
type X__intmax_t = X__int64_t /* _types.h:107:20 */
type X__uintmax_t = X__uint64_t /* _types.h:108:21 */
// Register size
type X__register_t = int32 /* _types.h:111:16 */
// VM system types
type X__vaddr_t = uint32 /* _types.h:114:24 */
type X__paddr_t = uint32 /* _types.h:115:24 */
type X__vsize_t = uint32 /* _types.h:116:24 */
type X__psize_t = uint32 /* _types.h:117:24 */
// Standard system types
type X__double_t = float64 /* _types.h:120:22 */
type X__float_t = float64 /* _types.h:121:22 */
type X__ptrdiff_t = int32 /* _types.h:122:16 */
type X__size_t = uint32 /* _types.h:123:24 */
type X__ssize_t = int32 /* _types.h:124:16 */
type X__va_list = X__builtin_va_list /* _types.h:126:27 */
// Wide character support types
type X__wchar_t = int32 /* _types.h:133:15 */
type X__wint_t = int32 /* _types.h:135:15 */
type X__rune_t = int32 /* _types.h:136:15 */
type X__wctrans_t = uintptr /* _types.h:137:14 */
type X__wctype_t = uintptr /* _types.h:138:14 */
type X__blkcnt_t = X__int64_t /* _types.h:39:19 */ // blocks allocated for file
type X__blksize_t = X__int32_t /* _types.h:40:19 */ // optimal blocksize for I/O
type X__clock_t = X__int64_t /* _types.h:41:19 */ // ticks in CLOCKS_PER_SEC
type X__clockid_t = X__int32_t /* _types.h:42:19 */ // CLOCK_* identifiers
type X__cpuid_t = uint32 /* _types.h:43:23 */ // CPU id
type X__dev_t = X__int32_t /* _types.h:44:19 */ // device number
type X__fixpt_t = X__uint32_t /* _types.h:45:20 */ // fixed point number
type X__fsblkcnt_t = X__uint64_t /* _types.h:46:20 */ // file system block count
type X__fsfilcnt_t = X__uint64_t /* _types.h:47:20 */ // file system file count
type X__gid_t = X__uint32_t /* _types.h:48:20 */ // group id
type X__id_t = X__uint32_t /* _types.h:49:20 */ // may contain pid, uid or gid
type X__in_addr_t = X__uint32_t /* _types.h:50:20 */ // base type for internet address
type X__in_port_t = X__uint16_t /* _types.h:51:20 */ // IP port type
type X__ino_t = X__uint64_t /* _types.h:52:20 */ // inode number
type X__key_t = int32 /* _types.h:53:15 */ // IPC key (for Sys V IPC)
type X__mode_t = X__uint32_t /* _types.h:54:20 */ // permissions
type X__nlink_t = X__uint32_t /* _types.h:55:20 */ // link count
type X__off_t = X__int64_t /* _types.h:56:19 */ // file offset or size
type X__pid_t = X__int32_t /* _types.h:57:19 */ // process id
type X__rlim_t = X__uint64_t /* _types.h:58:20 */ // resource limit
type X__sa_family_t = X__uint8_t /* _types.h:59:19 */ // sockaddr address family type
type X__segsz_t = X__int32_t /* _types.h:60:19 */ // segment size
type X__socklen_t = X__uint32_t /* _types.h:61:20 */ // length type for network syscalls
type X__suseconds_t = int32 /* _types.h:62:15 */ // microseconds (signed)
type X__time_t = X__int64_t /* _types.h:63:19 */ // epoch time
type X__timer_t = X__int32_t /* _types.h:64:19 */ // POSIX timer identifiers
type X__uid_t = X__uint32_t /* _types.h:65:20 */ // user id
type X__useconds_t = X__uint32_t /* _types.h:66:20 */ // microseconds
// mbstate_t is an opaque object to keep conversion state, during multibyte
// stream conversions. The content must not be referenced by user programs.
type X__mbstate_t = struct {
F__ccgo_pad1 [0]uint32
F__mbstate8 [128]int8
} /* _types.h:75:3 */
type Pid_t = X__pid_t /* termios.h:255:18 */
// Include tty ioctl's that aren't just for backwards compatibility
// with the old tty driver. These ioctl definitions were previously
// in <sys/ioctl.h>.
// $OpenBSD: ttycom.h,v 1.17 2018/06/16 13:55:03 deraadt Exp $
// $NetBSD: ttycom.h,v 1.4 1996/05/19 17:17:53 jonathan Exp $
// -
// Copyright (c) 1982, 1986, 1990, 1993, 1994
// The Regents of the University of California. All rights reserved.
// (c) UNIX System Laboratories, Inc.
// All or some portions of this file are derived from material licensed
// to the University of California by American Telephone and Telegraph
// Co. or Unix System Laboratories, Inc. and are reproduced herein with
// the permission of UNIX System Laboratories, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
//
// @(#)ttycom.h 8.1 (Berkeley) 3/28/94
// $OpenBSD: ioccom.h,v 1.5 2013/03/22 21:22:05 deraadt Exp $
// $NetBSD: ioccom.h,v 1.4 1994/10/30 21:49:56 cgd Exp $
// -
// Copyright (c) 1982, 1986, 1990, 1993, 1994
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
//
// @(#)ioccom.h 8.2 (Berkeley) 3/28/94
// Ioctl's have the command encoded in the lower word, and the size of
// any in or out parameters in the upper word. The high 3 bits of the
// upper word are used to encode the in/out status of the parameter.
// no parameters
// copy parameters out
// copy parameters in
// copy parameters in and out
// mask for IN/OUT/VOID
// this should be _IORW, but stdio got there first
// Tty ioctl's.
// Window/terminal size structure. This information is stored by the kernel
// in order to provide a consistent interface, but is not used by the kernel.
type Winsize = struct {
Fws_row uint16
Fws_col uint16
Fws_xpixel uint16
Fws_ypixel uint16
} /* ttycom.h:51:1 */
type Tstamps = struct {
Fts_set int32
Fts_clr int32
} /* ttycom.h:58:1 */
// 8-10 compat
// 15 unused
// 17-18 compat
// 127-124 compat
// 117-116 compat
// Backwards compatibility
// END OF PROTECTED INCLUDE.
// $OpenBSD: ttydefaults.h,v 1.7 2019/03/12 11:01:25 nicm Exp $
// $NetBSD: ttydefaults.h,v 1.8 1996/04/09 20:55:45 cgd Exp $
// -
// Copyright (c) 1982, 1986, 1993
// The Regents of the University of California. All rights reserved.
// (c) UNIX System Laboratories, Inc.
// All or some portions of this file are derived from material licensed
// to the University of California by American Telephone and Telegraph
// Co. or Unix System Laboratories, Inc. and are reproduced herein with
// the permission of UNIX System Laboratories, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
//
// @(#)ttydefaults.h 8.4 (Berkeley) 1/21/94
// System wide defaults for terminal state.
// Defaults on "first" open.
// Control Character Defaults
// compat
// PROTECTED INCLUSION ENDS HERE
// #define TTYDEFCHARS to include an array of default control characters.
var _ int8 /* gen.c:2:13: */

View file

@ -0,0 +1,788 @@
// Code generated by 'ccgo termios/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o termios/termios_openbsd_amd64.go -pkgname termios', DO NOT EDIT.
package termios
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
ALTWERASE = 0x00000200 // termios.h:172:1:
B0 = 0 // termios.h:212:1:
B110 = 110 // termios.h:215:1:
B115200 = 115200 // termios.h:234:1:
B1200 = 1200 // termios.h:221:1:
B134 = 134 // termios.h:216:1:
B14400 = 14400 // termios.h:230:1:
B150 = 150 // termios.h:217:1:
B1800 = 1800 // termios.h:222:1:
B19200 = 19200 // termios.h:226:1:
B200 = 200 // termios.h:218:1:
B230400 = 230400 // termios.h:235:1:
B2400 = 2400 // termios.h:223:1:
B28800 = 28800 // termios.h:231:1:
B300 = 300 // termios.h:219:1:
B38400 = 38400 // termios.h:227:1:
B4800 = 4800 // termios.h:224:1:
B50 = 50 // termios.h:213:1:
B57600 = 57600 // termios.h:232:1:
B600 = 600 // termios.h:220:1:
B7200 = 7200 // termios.h:229:1:
B75 = 75 // termios.h:214:1:
B76800 = 76800 // termios.h:233:1:
B9600 = 9600 // termios.h:225:1:
BRKINT = 0x00000002 // termios.h:91:1:
CCTS_OFLOW = 65536 // termios.h:145:1:
CDISCARD = 15 // ttydefaults.h:73:1:
CDSUSP = 25 // ttydefaults.h:69:1:
CEOF = 4 // ttydefaults.h:59:1:
CEOT = 4 // ttydefaults.h:76:1:
CERASE = 0177 // ttydefaults.h:61:1:
CFLUSH = 15 // ttydefaults.h:80:1:
CHWFLOW = 1114112 // termios.h:147:1:
CIGNORE = 0x00000001 // termios.h:129:1:
CINTR = 3 // ttydefaults.h:62:1:
CKILL = 21 // ttydefaults.h:64:1:
CLNEXT = 22 // ttydefaults.h:72:1:
CLOCAL = 0x00008000 // termios.h:141:1:
CMIN = 1 // ttydefaults.h:65:1:
CQUIT = 034 // ttydefaults.h:66:1:
CREAD = 0x00000800 // termios.h:137:1:
CREPRINT = 18 // ttydefaults.h:75:1:
CRPRNT = 18 // ttydefaults.h:79:1:
CRTSCTS = 0x00010000 // termios.h:143:1:
CRTS_IFLOW = 65536 // termios.h:144:1:
CS5 = 0x00000000 // termios.h:132:1:
CS6 = 0x00000100 // termios.h:133:1:
CS7 = 0x00000200 // termios.h:134:1:
CS8 = 0x00000300 // termios.h:135:1:
CSIZE = 0x00000300 // termios.h:131:1:
CSTART = 17 // ttydefaults.h:70:1:
CSTOP = 19 // ttydefaults.h:71:1:
CSTOPB = 0x00000400 // termios.h:136:1:
CSUSP = 26 // ttydefaults.h:67:1:
CTIME = 0 // ttydefaults.h:68:1:
CWERASE = 23 // ttydefaults.h:74:1:
ECHO = 0x00000008 // termios.h:163:1:
ECHOCTL = 0x00000040 // termios.h:167:1:
ECHOE = 0x00000002 // termios.h:161:1:
ECHOK = 0x00000004 // termios.h:162:1:
ECHOKE = 0x00000001 // termios.h:159:1:
ECHONL = 0x00000010 // termios.h:164:1:
ECHOPRT = 0x00000020 // termios.h:166:1:
ENDRUNDISC = 9 // ttycom.h:149:1:
EXTA = 19200 // termios.h:236:1:
EXTB = 38400 // termios.h:237:1:
EXTPROC = 0x00000800 // termios.h:175:1:
FLUSHO = 0x00800000 // termios.h:178:1:
HUPCL = 0x00004000 // termios.h:140:1:
ICANON = 0x00000100 // termios.h:170:1:
ICRNL = 0x00000100 // termios.h:98:1:
IEXTEN = 0x00000400 // termios.h:174:1:
IGNBRK = 0x00000001 // termios.h:90:1:
IGNCR = 0x00000080 // termios.h:97:1:
IGNPAR = 0x00000004 // termios.h:92:1:
IMAXBEL = 0x00002000 // termios.h:104:1:
INLCR = 0x00000040 // termios.h:96:1:
INPCK = 0x00000010 // termios.h:94:1:
IOCPARM_MASK = 0x1fff // ioccom.h:43:1:
ISIG = 0x00000080 // termios.h:169:1:
ISTRIP = 0x00000020 // termios.h:95:1:
IUCLC = 0x00001000 // termios.h:103:1:
IXANY = 0x00000800 // termios.h:102:1:
IXOFF = 0x00000400 // termios.h:100:1:
IXON = 0x00000200 // termios.h:99:1:
MDMBUF = 0x00100000 // termios.h:146:1:
MSTSDISC = 8 // ttycom.h:148:1:
NCCS = 20 // termios.h:79:1:
NMEADISC = 7 // ttycom.h:147:1:
NOFLSH = 0x80000000 // termios.h:183:1:
NOKERNINFO = 0x02000000 // termios.h:180:1:
OCRNL = 0x00000010 // termios.h:119:1:
OLCUC = 0x00000020 // termios.h:120:1:
ONLCR = 0x00000002 // termios.h:112:1:
ONLRET = 0x00000080 // termios.h:122:1:
ONOCR = 0x00000040 // termios.h:121:1:
ONOEOT = 0x00000008 // termios.h:116:1:
OPOST = 0x00000001 // termios.h:110:1:
OXTABS = 0x00000004 // termios.h:115:1:
PARENB = 0x00001000 // termios.h:138:1:
PARMRK = 0x00000008 // termios.h:93:1:
PARODD = 0x00002000 // termios.h:139:1:
PENDIN = 0x20000000 // termios.h:181:1:
PPPDISC = 5 // ttycom.h:145:1:
SLIPDISC = 4 // ttycom.h:144:1:
STRIPDISC = 6 // ttycom.h:146:1:
TABLDISC = 3 // ttycom.h:143:1:
TCIFLUSH = 1 // termios.h:242:1:
TCIOFF = 3 // termios.h:247:1:
TCIOFLUSH = 3 // termios.h:244:1:
TCION = 4 // termios.h:248:1:
TCOFLUSH = 2 // termios.h:243:1:
TCOOFF = 1 // termios.h:245:1:
TCOON = 2 // termios.h:246:1:
TCSADRAIN = 1 // termios.h:203:1:
TCSAFLUSH = 2 // termios.h:204:1:
TCSANOW = 0 // termios.h:202:1:
TCSASOFT = 0x10 // termios.h:206:1:
TIOCFLAG_CLOCAL = 0x02 // ttycom.h:131:1:
TIOCFLAG_CRTSCTS = 0x04 // ttycom.h:132:1:
TIOCFLAG_MDMBUF = 0x08 // ttycom.h:133:1:
TIOCFLAG_PPS = 0x10 // ttycom.h:134:1:
TIOCFLAG_SOFTCAR = 0x01 // ttycom.h:130:1:
TIOCM_CAR = 0100 // ttycom.h:69:1:
TIOCM_CD = 64 // ttycom.h:70:1:
TIOCM_CTS = 0040 // ttycom.h:68:1:
TIOCM_DSR = 0400 // ttycom.h:73:1:
TIOCM_DTR = 0002 // ttycom.h:64:1:
TIOCM_LE = 0001 // ttycom.h:63:1:
TIOCM_RI = 128 // ttycom.h:72:1:
TIOCM_RNG = 0200 // ttycom.h:71:1:
TIOCM_RTS = 0004 // ttycom.h:65:1:
TIOCM_SR = 0020 // ttycom.h:67:1:
TIOCM_ST = 0010 // ttycom.h:66:1:
TIOCPKT_DATA = 0x00 // ttycom.h:100:1:
TIOCPKT_DOSTOP = 0x20 // ttycom.h:106:1:
TIOCPKT_FLUSHREAD = 0x01 // ttycom.h:101:1:
TIOCPKT_FLUSHWRITE = 0x02 // ttycom.h:102:1:
TIOCPKT_IOCTL = 0x40 // ttycom.h:107:1:
TIOCPKT_NOSTOP = 0x10 // ttycom.h:105:1:
TIOCPKT_START = 0x08 // ttycom.h:104:1:
TIOCPKT_STOP = 0x04 // ttycom.h:103:1:
TOSTOP = 0x00400000 // termios.h:176:1:
TTYDEF_CFLAG = 19200 // ttydefaults.h:52:1:
TTYDEF_IFLAG = 11010 // ttydefaults.h:49:1:
TTYDEF_LFLAG = 1483 // ttydefaults.h:51:1:
TTYDEF_OFLAG = 3 // ttydefaults.h:50:1:
TTYDEF_SPEED = 9600 // ttydefaults.h:53:1:
TTYDISC = 0 // ttycom.h:142:1:
VDISCARD = 15 // termios.h:71:1:
VDSUSP = 11 // termios.h:65:1:
VEOF = 0 // termios.h:47:1:
VEOL = 1 // termios.h:48:1:
VEOL2 = 2 // termios.h:50:1:
VERASE = 3 // termios.h:52:1:
VINTR = 8 // termios.h:61:1:
VKILL = 5 // termios.h:56:1:
VLNEXT = 14 // termios.h:70:1:
VMIN = 16 // termios.h:73:1:
VQUIT = 9 // termios.h:62:1:
VREPRINT = 6 // termios.h:58:1:
VSTART = 12 // termios.h:67:1:
VSTATUS = 18 // termios.h:76:1:
VSTOP = 13 // termios.h:68:1:
VSUSP = 10 // termios.h:63:1:
VTIME = 17 // termios.h:74:1:
VWERASE = 4 // termios.h:54:1:
XCASE = 0x01000000 // termios.h:179:1:
X_FILE_OFFSET_BITS = 64 // <builtin>:25:1:
X_LP64 = 1 // <predefined>:1:1:
X_MACHINE_CDEFS_H_ = 0 // cdefs.h:9:1:
X_MACHINE__TYPES_H_ = 0 // _types.h:36:1:
X_MAX_PAGE_SHIFT = 12 // _types.h:52:1:
X_PID_T_DEFINED_ = 0 // termios.h:254:1:
X_POSIX_VDISABLE = 255 // termios.h:81:1:
X_RET_PROTECTOR = 1 // <predefined>:2:1:
X_STACKALIGNBYTES = 15 // _types.h:49:1:
X_SYS_CDEFS_H_ = 0 // cdefs.h:39:1:
X_SYS_IOCCOM_H_ = 0 // ioccom.h:36:1:
X_SYS_TERMIOS_H_ = 0 // termios.h:36:1:
X_SYS_TTYCOM_H_ = 0 // ttycom.h:41:1:
X_SYS_TTYDEFAULTS_H_ = 0 // ttydefaults.h:44:1:
X_SYS__TYPES_H_ = 0 // _types.h:35:1:
Unix = 1 // <predefined>:344:1:
)
type Ptrdiff_t = int64 /* <builtin>:3:26 */
type Size_t = uint64 /* <builtin>:9:23 */
type Wchar_t = int32 /* <builtin>:15:24 */
type X__int128_t = struct {
Flo int64
Fhi int64
} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
type X__uint128_t = struct {
Flo uint64
Fhi uint64
} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
// $OpenBSD: termios.h,v 1.13 2016/09/20 21:10:22 fcambus Exp $
// $NetBSD: termios.h,v 1.14 1996/04/09 20:55:41 cgd Exp $
// Copyright (c) 1988, 1989, 1993, 1994
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
//
// @(#)termios.h 8.3 (Berkeley) 3/28/94
// $OpenBSD: cdefs.h,v 1.43 2018/10/29 17:10:40 guenther Exp $
// $NetBSD: cdefs.h,v 1.16 1996/04/03 20:46:39 christos Exp $
// Copyright (c) 1991, 1993
// The Regents of the University of California. All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Berkeley Software Design, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
//
// @(#)cdefs.h 8.7 (Berkeley) 1/21/94
// $OpenBSD: cdefs.h,v 1.3 2013/03/28 17:30:45 martynas Exp $
// Written by J.T. Conklin <jtc@wimsey.com> 01/17/95.
// Public domain.
// Macro to test if we're using a specific version of gcc or later.
// The __CONCAT macro is used to concatenate parts of symbol names, e.g.
// with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo.
// The __CONCAT macro is a bit tricky -- make sure you don't put spaces
// in between its arguments. Do not use __CONCAT on double-quoted strings,
// such as those from the __STRING macro: to concatenate strings just put
// them next to each other.
// GCC1 and some versions of GCC2 declare dead (non-returning) and
// pure (no side effects) functions using "volatile" and "const";
// unfortunately, these then cause warnings under "-ansi -pedantic".
// GCC >= 2.5 uses the __attribute__((attrs)) style. All of these
// work for GNU C++ (modulo a slight glitch in the C++ grammar in
// the distribution version of 2.5.5).
// __returns_twice makes the compiler not assume the function
// only returns once. This affects registerisation of variables:
// even local variables need to be in memory across such a call.
// Example: setjmp()
// __only_inline makes the compiler only use this function definition
// for inlining; references that can't be inlined will be left as
// external references instead of generating a local copy. The
// matching library should include a simple extern definition for
// the function to handle those references. c.f. ctype.h
// GNU C version 2.96 adds explicit branch prediction so that
// the CPU back-end can hint the processor and also so that
// code blocks can be reordered such that the predicted path
// sees a more linear flow, thus improving cache behavior, etc.
//
// The following two macros provide us with a way to utilize this
// compiler feature. Use __predict_true() if you expect the expression
// to evaluate to true, and __predict_false() if you expect the
// expression to evaluate to false.
//
// A few notes about usage:
//
// * Generally, __predict_false() error condition checks (unless
// you have some _strong_ reason to do otherwise, in which case
// document it), and/or __predict_true() `no-error' condition
// checks, assuming you want to optimize for the no-error case.
//
// * Other than that, if you don't know the likelihood of a test
// succeeding from empirical or other `hard' evidence, don't
// make predictions.
//
// * These are meant to be used in places that are run `a lot'.
// It is wasteful to make predictions in code that is run
// seldomly (e.g. at subsystem initialization time) as the
// basic block reordering that this affects can often generate
// larger code.
// Delete pseudo-keywords wherever they are not available or needed.
// The __packed macro indicates that a variable or structure members
// should have the smallest possible alignment, despite any host CPU
// alignment requirements.
//
// The __aligned(x) macro specifies the minimum alignment of a
// variable or structure.
//
// These macros together are useful for describing the layout and
// alignment of messages exchanged with hardware or other systems.
// "The nice thing about standards is that there are so many to choose from."
// There are a number of "feature test macros" specified by (different)
// standards that determine which interfaces and types the header files
// should expose.
//
// Because of inconsistencies in these macros, we define our own
// set in the private name space that end in _VISIBLE. These are
// always defined and so headers can test their values easily.
// Things can get tricky when multiple feature macros are defined.
// We try to take the union of all the features requested.
//
// The following macros are guaranteed to have a value after cdefs.h
// has been included:
// __POSIX_VISIBLE
// __XPG_VISIBLE
// __ISO_C_VISIBLE
// __BSD_VISIBLE
// X/Open Portability Guides and Single Unix Specifications.
// _XOPEN_SOURCE XPG3
// _XOPEN_SOURCE && _XOPEN_VERSION = 4 XPG4
// _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED = 1 XPG4v2
// _XOPEN_SOURCE == 500 XPG5
// _XOPEN_SOURCE == 520 XPG5v2
// _XOPEN_SOURCE == 600 POSIX 1003.1-2001 with XSI
// _XOPEN_SOURCE == 700 POSIX 1003.1-2008 with XSI
//
// The XPG spec implies a specific value for _POSIX_C_SOURCE.
// POSIX macros, these checks must follow the XOPEN ones above.
//
// _POSIX_SOURCE == 1 1003.1-1988 (superseded by _POSIX_C_SOURCE)
// _POSIX_C_SOURCE == 1 1003.1-1990
// _POSIX_C_SOURCE == 2 1003.2-1992
// _POSIX_C_SOURCE == 199309L 1003.1b-1993
// _POSIX_C_SOURCE == 199506L 1003.1c-1995, 1003.1i-1995,
// and the omnibus ISO/IEC 9945-1:1996
// _POSIX_C_SOURCE == 200112L 1003.1-2001
// _POSIX_C_SOURCE == 200809L 1003.1-2008
//
// The POSIX spec implies a specific value for __ISO_C_VISIBLE, though
// this may be overridden by the _ISOC99_SOURCE macro later.
// _ANSI_SOURCE means to expose ANSI C89 interfaces only.
// If the user defines it in addition to one of the POSIX or XOPEN
// macros, assume the POSIX/XOPEN macro(s) should take precedence.
// _ISOC99_SOURCE, _ISOC11_SOURCE, __STDC_VERSION__, and __cplusplus
// override any of the other macros since they are non-exclusive.
// Finally deal with BSD-specific interfaces that are not covered
// by any standards. We expose these when none of the POSIX or XPG
// macros is defined or if the user explicitly asks for them.
// Default values.
// Special Control Characters
//
// Index into c_cc[] character array.
//
// Name Subscript Enabled by
// 7 spare 1
// 19 spare 2
// Input flags - software input processing
// Output flags - software output processing
// Control flags - hardware control of terminal
// "Local" flags - dumping ground for other state
//
// Warning: some flags in this structure begin with
// the letter "I" and look like they belong in the
// input flag.
type Tcflag_t = uint32 /* termios.h:185:22 */
type Cc_t = uint8 /* termios.h:186:23 */
type Speed_t = uint32 /* termios.h:187:22 */
type Termios = struct {
Fc_iflag Tcflag_t
Fc_oflag Tcflag_t
Fc_cflag Tcflag_t
Fc_lflag Tcflag_t
Fc_cc [20]Cc_t
Fc_ispeed int32
Fc_ospeed int32
} /* termios.h:189:1 */
// Commands passed to tcsetattr() for setting the termios structure.
// Standard speeds
// $OpenBSD: _types.h,v 1.10 2022/08/06 13:31:13 semarie Exp $
// -
// Copyright (c) 1990, 1993
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
//
// @(#)types.h 8.3 (Berkeley) 1/5/94
// $OpenBSD: _types.h,v 1.17 2018/03/05 01:15:25 deraadt Exp $
// -
// Copyright (c) 1990, 1993
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
//
// @(#)types.h 8.3 (Berkeley) 1/5/94
// @(#)ansi.h 8.2 (Berkeley) 1/4/94
// _ALIGN(p) rounds p (pointer or byte index) up to a correctly-aligned
// value for all data types (int, long, ...). The result is an
// unsigned long and must be cast to any desired pointer type.
//
// _ALIGNED_POINTER is a boolean macro that checks whether an address
// is valid to fetch data elements of type t from on this architecture.
// This does not reflect the optimal alignment, just the possibility
// (within reasonable limits).
// 7.18.1.1 Exact-width integer types
type X__int8_t = int8 /* _types.h:61:22 */
type X__uint8_t = uint8 /* _types.h:62:24 */
type X__int16_t = int16 /* _types.h:63:17 */
type X__uint16_t = uint16 /* _types.h:64:25 */
type X__int32_t = int32 /* _types.h:65:15 */
type X__uint32_t = uint32 /* _types.h:66:23 */
type X__int64_t = int64 /* _types.h:67:20 */
type X__uint64_t = uint64 /* _types.h:68:28 */
// 7.18.1.2 Minimum-width integer types
type X__int_least8_t = X__int8_t /* _types.h:71:19 */
type X__uint_least8_t = X__uint8_t /* _types.h:72:20 */
type X__int_least16_t = X__int16_t /* _types.h:73:20 */
type X__uint_least16_t = X__uint16_t /* _types.h:74:21 */
type X__int_least32_t = X__int32_t /* _types.h:75:20 */
type X__uint_least32_t = X__uint32_t /* _types.h:76:21 */
type X__int_least64_t = X__int64_t /* _types.h:77:20 */
type X__uint_least64_t = X__uint64_t /* _types.h:78:21 */
// 7.18.1.3 Fastest minimum-width integer types
type X__int_fast8_t = X__int32_t /* _types.h:81:20 */
type X__uint_fast8_t = X__uint32_t /* _types.h:82:21 */
type X__int_fast16_t = X__int32_t /* _types.h:83:20 */
type X__uint_fast16_t = X__uint32_t /* _types.h:84:21 */
type X__int_fast32_t = X__int32_t /* _types.h:85:20 */
type X__uint_fast32_t = X__uint32_t /* _types.h:86:21 */
type X__int_fast64_t = X__int64_t /* _types.h:87:20 */
type X__uint_fast64_t = X__uint64_t /* _types.h:88:21 */
// 7.18.1.4 Integer types capable of holding object pointers
type X__intptr_t = int64 /* _types.h:103:16 */
type X__uintptr_t = uint64 /* _types.h:104:24 */
// 7.18.1.5 Greatest-width integer types
type X__intmax_t = X__int64_t /* _types.h:107:20 */
type X__uintmax_t = X__uint64_t /* _types.h:108:21 */
// Register size
type X__register_t = int64 /* _types.h:111:16 */
// VM system types
type X__vaddr_t = uint64 /* _types.h:114:24 */
type X__paddr_t = uint64 /* _types.h:115:24 */
type X__vsize_t = uint64 /* _types.h:116:24 */
type X__psize_t = uint64 /* _types.h:117:24 */
// Standard system types
type X__double_t = float64 /* _types.h:120:18 */
type X__float_t = float32 /* _types.h:121:17 */
type X__ptrdiff_t = int64 /* _types.h:122:16 */
type X__size_t = uint64 /* _types.h:123:24 */
type X__ssize_t = int64 /* _types.h:124:16 */
type X__va_list = X__builtin_va_list /* _types.h:126:27 */
// Wide character support types
type X__wchar_t = int32 /* _types.h:133:15 */
type X__wint_t = int32 /* _types.h:135:15 */
type X__rune_t = int32 /* _types.h:136:15 */
type X__wctrans_t = uintptr /* _types.h:137:14 */
type X__wctype_t = uintptr /* _types.h:138:14 */
type X__blkcnt_t = X__int64_t /* _types.h:39:19 */ // blocks allocated for file
type X__blksize_t = X__int32_t /* _types.h:40:19 */ // optimal blocksize for I/O
type X__clock_t = X__int64_t /* _types.h:41:19 */ // ticks in CLOCKS_PER_SEC
type X__clockid_t = X__int32_t /* _types.h:42:19 */ // CLOCK_* identifiers
type X__cpuid_t = uint64 /* _types.h:43:23 */ // CPU id
type X__dev_t = X__int32_t /* _types.h:44:19 */ // device number
type X__fixpt_t = X__uint32_t /* _types.h:45:20 */ // fixed point number
type X__fsblkcnt_t = X__uint64_t /* _types.h:46:20 */ // file system block count
type X__fsfilcnt_t = X__uint64_t /* _types.h:47:20 */ // file system file count
type X__gid_t = X__uint32_t /* _types.h:48:20 */ // group id
type X__id_t = X__uint32_t /* _types.h:49:20 */ // may contain pid, uid or gid
type X__in_addr_t = X__uint32_t /* _types.h:50:20 */ // base type for internet address
type X__in_port_t = X__uint16_t /* _types.h:51:20 */ // IP port type
type X__ino_t = X__uint64_t /* _types.h:52:20 */ // inode number
type X__key_t = int64 /* _types.h:53:15 */ // IPC key (for Sys V IPC)
type X__mode_t = X__uint32_t /* _types.h:54:20 */ // permissions
type X__nlink_t = X__uint32_t /* _types.h:55:20 */ // link count
type X__off_t = X__int64_t /* _types.h:56:19 */ // file offset or size
type X__pid_t = X__int32_t /* _types.h:57:19 */ // process id
type X__rlim_t = X__uint64_t /* _types.h:58:20 */ // resource limit
type X__sa_family_t = X__uint8_t /* _types.h:59:19 */ // sockaddr address family type
type X__segsz_t = X__int32_t /* _types.h:60:19 */ // segment size
type X__socklen_t = X__uint32_t /* _types.h:61:20 */ // length type for network syscalls
type X__suseconds_t = int64 /* _types.h:62:15 */ // microseconds (signed)
type X__time_t = X__int64_t /* _types.h:63:19 */ // epoch time
type X__timer_t = X__int32_t /* _types.h:64:19 */ // POSIX timer identifiers
type X__uid_t = X__uint32_t /* _types.h:65:20 */ // user id
type X__useconds_t = X__uint32_t /* _types.h:66:20 */ // microseconds
// mbstate_t is an opaque object to keep conversion state, during multibyte
// stream conversions. The content must not be referenced by user programs.
type X__mbstate_t = struct {
F__ccgo_pad1 [0]uint64
F__mbstate8 [128]int8
} /* _types.h:75:3 */
type Pid_t = X__pid_t /* termios.h:255:18 */
// Include tty ioctl's that aren't just for backwards compatibility
// with the old tty driver. These ioctl definitions were previously
// in <sys/ioctl.h>.
// $OpenBSD: ttycom.h,v 1.17 2018/06/16 13:55:03 deraadt Exp $
// $NetBSD: ttycom.h,v 1.4 1996/05/19 17:17:53 jonathan Exp $
// -
// Copyright (c) 1982, 1986, 1990, 1993, 1994
// The Regents of the University of California. All rights reserved.
// (c) UNIX System Laboratories, Inc.
// All or some portions of this file are derived from material licensed
// to the University of California by American Telephone and Telegraph
// Co. or Unix System Laboratories, Inc. and are reproduced herein with
// the permission of UNIX System Laboratories, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
//
// @(#)ttycom.h 8.1 (Berkeley) 3/28/94
// $OpenBSD: ioccom.h,v 1.5 2013/03/22 21:22:05 deraadt Exp $
// $NetBSD: ioccom.h,v 1.4 1994/10/30 21:49:56 cgd Exp $
// -
// Copyright (c) 1982, 1986, 1990, 1993, 1994
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
//
// @(#)ioccom.h 8.2 (Berkeley) 3/28/94
// Ioctl's have the command encoded in the lower word, and the size of
// any in or out parameters in the upper word. The high 3 bits of the
// upper word are used to encode the in/out status of the parameter.
// no parameters
// copy parameters out
// copy parameters in
// copy parameters in and out
// mask for IN/OUT/VOID
// this should be _IORW, but stdio got there first
// Tty ioctl's.
// Window/terminal size structure. This information is stored by the kernel
// in order to provide a consistent interface, but is not used by the kernel.
type Winsize = struct {
Fws_row uint16
Fws_col uint16
Fws_xpixel uint16
Fws_ypixel uint16
} /* ttycom.h:51:1 */
type Tstamps = struct {
Fts_set int32
Fts_clr int32
} /* ttycom.h:58:1 */
// 8-10 compat
// 15 unused
// 17-18 compat
// 127-124 compat
// 117-116 compat
// Backwards compatibility
// END OF PROTECTED INCLUDE.
// $OpenBSD: ttydefaults.h,v 1.7 2019/03/12 11:01:25 nicm Exp $
// $NetBSD: ttydefaults.h,v 1.8 1996/04/09 20:55:45 cgd Exp $
// -
// Copyright (c) 1982, 1986, 1993
// The Regents of the University of California. All rights reserved.
// (c) UNIX System Laboratories, Inc.
// All or some portions of this file are derived from material licensed
// to the University of California by American Telephone and Telegraph
// Co. or Unix System Laboratories, Inc. and are reproduced herein with
// the permission of UNIX System Laboratories, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
//
// @(#)ttydefaults.h 8.4 (Berkeley) 1/21/94
// System wide defaults for terminal state.
// Defaults on "first" open.
// Control Character Defaults
// compat
// PROTECTED INCLUSION ENDS HERE
// #define TTYDEFCHARS to include an array of default control characters.
var _ int8 /* gen.c:2:13: */

View file

@ -0,0 +1,786 @@
// Code generated by 'ccgo termios/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o termios/termios_openbsd_arm64.go -pkgname termios', DO NOT EDIT.
package termios
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
ALTWERASE = 0x00000200 // termios.h:172:1:
B0 = 0 // termios.h:212:1:
B110 = 110 // termios.h:215:1:
B115200 = 115200 // termios.h:234:1:
B1200 = 1200 // termios.h:221:1:
B134 = 134 // termios.h:216:1:
B14400 = 14400 // termios.h:230:1:
B150 = 150 // termios.h:217:1:
B1800 = 1800 // termios.h:222:1:
B19200 = 19200 // termios.h:226:1:
B200 = 200 // termios.h:218:1:
B230400 = 230400 // termios.h:235:1:
B2400 = 2400 // termios.h:223:1:
B28800 = 28800 // termios.h:231:1:
B300 = 300 // termios.h:219:1:
B38400 = 38400 // termios.h:227:1:
B4800 = 4800 // termios.h:224:1:
B50 = 50 // termios.h:213:1:
B57600 = 57600 // termios.h:232:1:
B600 = 600 // termios.h:220:1:
B7200 = 7200 // termios.h:229:1:
B75 = 75 // termios.h:214:1:
B76800 = 76800 // termios.h:233:1:
B9600 = 9600 // termios.h:225:1:
BRKINT = 0x00000002 // termios.h:91:1:
CCTS_OFLOW = 65536 // termios.h:145:1:
CDISCARD = 15 // ttydefaults.h:73:1:
CDSUSP = 25 // ttydefaults.h:69:1:
CEOF = 4 // ttydefaults.h:59:1:
CEOT = 4 // ttydefaults.h:76:1:
CERASE = 0177 // ttydefaults.h:61:1:
CFLUSH = 15 // ttydefaults.h:80:1:
CHWFLOW = 1114112 // termios.h:147:1:
CIGNORE = 0x00000001 // termios.h:129:1:
CINTR = 3 // ttydefaults.h:62:1:
CKILL = 21 // ttydefaults.h:64:1:
CLNEXT = 22 // ttydefaults.h:72:1:
CLOCAL = 0x00008000 // termios.h:141:1:
CMIN = 1 // ttydefaults.h:65:1:
CQUIT = 034 // ttydefaults.h:66:1:
CREAD = 0x00000800 // termios.h:137:1:
CREPRINT = 18 // ttydefaults.h:75:1:
CRPRNT = 18 // ttydefaults.h:79:1:
CRTSCTS = 0x00010000 // termios.h:143:1:
CRTS_IFLOW = 65536 // termios.h:144:1:
CS5 = 0x00000000 // termios.h:132:1:
CS6 = 0x00000100 // termios.h:133:1:
CS7 = 0x00000200 // termios.h:134:1:
CS8 = 0x00000300 // termios.h:135:1:
CSIZE = 0x00000300 // termios.h:131:1:
CSTART = 17 // ttydefaults.h:70:1:
CSTOP = 19 // ttydefaults.h:71:1:
CSTOPB = 0x00000400 // termios.h:136:1:
CSUSP = 26 // ttydefaults.h:67:1:
CTIME = 0 // ttydefaults.h:68:1:
CWERASE = 23 // ttydefaults.h:74:1:
ECHO = 0x00000008 // termios.h:163:1:
ECHOCTL = 0x00000040 // termios.h:167:1:
ECHOE = 0x00000002 // termios.h:161:1:
ECHOK = 0x00000004 // termios.h:162:1:
ECHOKE = 0x00000001 // termios.h:159:1:
ECHONL = 0x00000010 // termios.h:164:1:
ECHOPRT = 0x00000020 // termios.h:166:1:
ENDRUNDISC = 9 // ttycom.h:149:1:
EXTA = 19200 // termios.h:236:1:
EXTB = 38400 // termios.h:237:1:
EXTPROC = 0x00000800 // termios.h:175:1:
FLUSHO = 0x00800000 // termios.h:178:1:
HUPCL = 0x00004000 // termios.h:140:1:
ICANON = 0x00000100 // termios.h:170:1:
ICRNL = 0x00000100 // termios.h:98:1:
IEXTEN = 0x00000400 // termios.h:174:1:
IGNBRK = 0x00000001 // termios.h:90:1:
IGNCR = 0x00000080 // termios.h:97:1:
IGNPAR = 0x00000004 // termios.h:92:1:
IMAXBEL = 0x00002000 // termios.h:104:1:
INLCR = 0x00000040 // termios.h:96:1:
INPCK = 0x00000010 // termios.h:94:1:
IOCPARM_MASK = 0x1fff // ioccom.h:43:1:
ISIG = 0x00000080 // termios.h:169:1:
ISTRIP = 0x00000020 // termios.h:95:1:
IUCLC = 0x00001000 // termios.h:103:1:
IXANY = 0x00000800 // termios.h:102:1:
IXOFF = 0x00000400 // termios.h:100:1:
IXON = 0x00000200 // termios.h:99:1:
MDMBUF = 0x00100000 // termios.h:146:1:
MSTSDISC = 8 // ttycom.h:148:1:
NCCS = 20 // termios.h:79:1:
NMEADISC = 7 // ttycom.h:147:1:
NOFLSH = 0x80000000 // termios.h:183:1:
NOKERNINFO = 0x02000000 // termios.h:180:1:
OCRNL = 0x00000010 // termios.h:119:1:
OLCUC = 0x00000020 // termios.h:120:1:
ONLCR = 0x00000002 // termios.h:112:1:
ONLRET = 0x00000080 // termios.h:122:1:
ONOCR = 0x00000040 // termios.h:121:1:
ONOEOT = 0x00000008 // termios.h:116:1:
OPOST = 0x00000001 // termios.h:110:1:
OXTABS = 0x00000004 // termios.h:115:1:
PARENB = 0x00001000 // termios.h:138:1:
PARMRK = 0x00000008 // termios.h:93:1:
PARODD = 0x00002000 // termios.h:139:1:
PENDIN = 0x20000000 // termios.h:181:1:
PPPDISC = 5 // ttycom.h:145:1:
SLIPDISC = 4 // ttycom.h:144:1:
STRIPDISC = 6 // ttycom.h:146:1:
TABLDISC = 3 // ttycom.h:143:1:
TCIFLUSH = 1 // termios.h:242:1:
TCIOFF = 3 // termios.h:247:1:
TCIOFLUSH = 3 // termios.h:244:1:
TCION = 4 // termios.h:248:1:
TCOFLUSH = 2 // termios.h:243:1:
TCOOFF = 1 // termios.h:245:1:
TCOON = 2 // termios.h:246:1:
TCSADRAIN = 1 // termios.h:203:1:
TCSAFLUSH = 2 // termios.h:204:1:
TCSANOW = 0 // termios.h:202:1:
TCSASOFT = 0x10 // termios.h:206:1:
TIOCFLAG_CLOCAL = 0x02 // ttycom.h:131:1:
TIOCFLAG_CRTSCTS = 0x04 // ttycom.h:132:1:
TIOCFLAG_MDMBUF = 0x08 // ttycom.h:133:1:
TIOCFLAG_PPS = 0x10 // ttycom.h:134:1:
TIOCFLAG_SOFTCAR = 0x01 // ttycom.h:130:1:
TIOCM_CAR = 0100 // ttycom.h:69:1:
TIOCM_CD = 64 // ttycom.h:70:1:
TIOCM_CTS = 0040 // ttycom.h:68:1:
TIOCM_DSR = 0400 // ttycom.h:73:1:
TIOCM_DTR = 0002 // ttycom.h:64:1:
TIOCM_LE = 0001 // ttycom.h:63:1:
TIOCM_RI = 128 // ttycom.h:72:1:
TIOCM_RNG = 0200 // ttycom.h:71:1:
TIOCM_RTS = 0004 // ttycom.h:65:1:
TIOCM_SR = 0020 // ttycom.h:67:1:
TIOCM_ST = 0010 // ttycom.h:66:1:
TIOCPKT_DATA = 0x00 // ttycom.h:100:1:
TIOCPKT_DOSTOP = 0x20 // ttycom.h:106:1:
TIOCPKT_FLUSHREAD = 0x01 // ttycom.h:101:1:
TIOCPKT_FLUSHWRITE = 0x02 // ttycom.h:102:1:
TIOCPKT_IOCTL = 0x40 // ttycom.h:107:1:
TIOCPKT_NOSTOP = 0x10 // ttycom.h:105:1:
TIOCPKT_START = 0x08 // ttycom.h:104:1:
TIOCPKT_STOP = 0x04 // ttycom.h:103:1:
TOSTOP = 0x00400000 // termios.h:176:1:
TTYDEF_CFLAG = 19200 // ttydefaults.h:52:1:
TTYDEF_IFLAG = 11010 // ttydefaults.h:49:1:
TTYDEF_LFLAG = 1483 // ttydefaults.h:51:1:
TTYDEF_OFLAG = 3 // ttydefaults.h:50:1:
TTYDEF_SPEED = 9600 // ttydefaults.h:53:1:
TTYDISC = 0 // ttycom.h:142:1:
VDISCARD = 15 // termios.h:71:1:
VDSUSP = 11 // termios.h:65:1:
VEOF = 0 // termios.h:47:1:
VEOL = 1 // termios.h:48:1:
VEOL2 = 2 // termios.h:50:1:
VERASE = 3 // termios.h:52:1:
VINTR = 8 // termios.h:61:1:
VKILL = 5 // termios.h:56:1:
VLNEXT = 14 // termios.h:70:1:
VMIN = 16 // termios.h:73:1:
VQUIT = 9 // termios.h:62:1:
VREPRINT = 6 // termios.h:58:1:
VSTART = 12 // termios.h:67:1:
VSTATUS = 18 // termios.h:76:1:
VSTOP = 13 // termios.h:68:1:
VSUSP = 10 // termios.h:63:1:
VTIME = 17 // termios.h:74:1:
VWERASE = 4 // termios.h:54:1:
XCASE = 0x01000000 // termios.h:179:1:
X_FILE_OFFSET_BITS = 64 // <builtin>:25:1:
X_LP64 = 1 // <predefined>:1:1:
X_MACHINE_CDEFS_H_ = 0 // cdefs.h:4:1:
X_MACHINE__TYPES_H_ = 0 // _types.h:35:1:
X_MAX_PAGE_SHIFT = 12 // _types.h:57:1:
X_PID_T_DEFINED_ = 0 // termios.h:254:1:
X_POSIX_VDISABLE = 255 // termios.h:81:1:
X_RET_PROTECTOR = 1 // <predefined>:2:1:
X_STACKALIGNBYTES = 15 // _types.h:54:1:
X_SYS_CDEFS_H_ = 0 // cdefs.h:39:1:
X_SYS_IOCCOM_H_ = 0 // ioccom.h:36:1:
X_SYS_TERMIOS_H_ = 0 // termios.h:36:1:
X_SYS_TTYCOM_H_ = 0 // ttycom.h:41:1:
X_SYS_TTYDEFAULTS_H_ = 0 // ttydefaults.h:44:1:
X_SYS__TYPES_H_ = 0 // _types.h:35:1:
Unix = 1 // <predefined>:360:1:
)
type Ptrdiff_t = int64 /* <builtin>:3:26 */
type Size_t = uint64 /* <builtin>:9:23 */
type Wchar_t = int32 /* <builtin>:15:24 */
type X__int128_t = struct {
Flo int64
Fhi int64
} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
type X__uint128_t = struct {
Flo uint64
Fhi uint64
} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
// $OpenBSD: termios.h,v 1.13 2016/09/20 21:10:22 fcambus Exp $
// $NetBSD: termios.h,v 1.14 1996/04/09 20:55:41 cgd Exp $
// Copyright (c) 1988, 1989, 1993, 1994
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
//
// @(#)termios.h 8.3 (Berkeley) 3/28/94
// $OpenBSD: cdefs.h,v 1.43 2018/10/29 17:10:40 guenther Exp $
// $NetBSD: cdefs.h,v 1.16 1996/04/03 20:46:39 christos Exp $
// Copyright (c) 1991, 1993
// The Regents of the University of California. All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Berkeley Software Design, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
//
// @(#)cdefs.h 8.7 (Berkeley) 1/21/94
// $OpenBSD: cdefs.h,v 1.1 2016/12/17 23:38:33 patrick Exp $
// Macro to test if we're using a specific version of gcc or later.
// The __CONCAT macro is used to concatenate parts of symbol names, e.g.
// with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo.
// The __CONCAT macro is a bit tricky -- make sure you don't put spaces
// in between its arguments. Do not use __CONCAT on double-quoted strings,
// such as those from the __STRING macro: to concatenate strings just put
// them next to each other.
// GCC1 and some versions of GCC2 declare dead (non-returning) and
// pure (no side effects) functions using "volatile" and "const";
// unfortunately, these then cause warnings under "-ansi -pedantic".
// GCC >= 2.5 uses the __attribute__((attrs)) style. All of these
// work for GNU C++ (modulo a slight glitch in the C++ grammar in
// the distribution version of 2.5.5).
// __returns_twice makes the compiler not assume the function
// only returns once. This affects registerisation of variables:
// even local variables need to be in memory across such a call.
// Example: setjmp()
// __only_inline makes the compiler only use this function definition
// for inlining; references that can't be inlined will be left as
// external references instead of generating a local copy. The
// matching library should include a simple extern definition for
// the function to handle those references. c.f. ctype.h
// GNU C version 2.96 adds explicit branch prediction so that
// the CPU back-end can hint the processor and also so that
// code blocks can be reordered such that the predicted path
// sees a more linear flow, thus improving cache behavior, etc.
//
// The following two macros provide us with a way to utilize this
// compiler feature. Use __predict_true() if you expect the expression
// to evaluate to true, and __predict_false() if you expect the
// expression to evaluate to false.
//
// A few notes about usage:
//
// * Generally, __predict_false() error condition checks (unless
// you have some _strong_ reason to do otherwise, in which case
// document it), and/or __predict_true() `no-error' condition
// checks, assuming you want to optimize for the no-error case.
//
// * Other than that, if you don't know the likelihood of a test
// succeeding from empirical or other `hard' evidence, don't
// make predictions.
//
// * These are meant to be used in places that are run `a lot'.
// It is wasteful to make predictions in code that is run
// seldomly (e.g. at subsystem initialization time) as the
// basic block reordering that this affects can often generate
// larger code.
// Delete pseudo-keywords wherever they are not available or needed.
// The __packed macro indicates that a variable or structure members
// should have the smallest possible alignment, despite any host CPU
// alignment requirements.
//
// The __aligned(x) macro specifies the minimum alignment of a
// variable or structure.
//
// These macros together are useful for describing the layout and
// alignment of messages exchanged with hardware or other systems.
// "The nice thing about standards is that there are so many to choose from."
// There are a number of "feature test macros" specified by (different)
// standards that determine which interfaces and types the header files
// should expose.
//
// Because of inconsistencies in these macros, we define our own
// set in the private name space that end in _VISIBLE. These are
// always defined and so headers can test their values easily.
// Things can get tricky when multiple feature macros are defined.
// We try to take the union of all the features requested.
//
// The following macros are guaranteed to have a value after cdefs.h
// has been included:
// __POSIX_VISIBLE
// __XPG_VISIBLE
// __ISO_C_VISIBLE
// __BSD_VISIBLE
// X/Open Portability Guides and Single Unix Specifications.
// _XOPEN_SOURCE XPG3
// _XOPEN_SOURCE && _XOPEN_VERSION = 4 XPG4
// _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED = 1 XPG4v2
// _XOPEN_SOURCE == 500 XPG5
// _XOPEN_SOURCE == 520 XPG5v2
// _XOPEN_SOURCE == 600 POSIX 1003.1-2001 with XSI
// _XOPEN_SOURCE == 700 POSIX 1003.1-2008 with XSI
//
// The XPG spec implies a specific value for _POSIX_C_SOURCE.
// POSIX macros, these checks must follow the XOPEN ones above.
//
// _POSIX_SOURCE == 1 1003.1-1988 (superseded by _POSIX_C_SOURCE)
// _POSIX_C_SOURCE == 1 1003.1-1990
// _POSIX_C_SOURCE == 2 1003.2-1992
// _POSIX_C_SOURCE == 199309L 1003.1b-1993
// _POSIX_C_SOURCE == 199506L 1003.1c-1995, 1003.1i-1995,
// and the omnibus ISO/IEC 9945-1:1996
// _POSIX_C_SOURCE == 200112L 1003.1-2001
// _POSIX_C_SOURCE == 200809L 1003.1-2008
//
// The POSIX spec implies a specific value for __ISO_C_VISIBLE, though
// this may be overridden by the _ISOC99_SOURCE macro later.
// _ANSI_SOURCE means to expose ANSI C89 interfaces only.
// If the user defines it in addition to one of the POSIX or XOPEN
// macros, assume the POSIX/XOPEN macro(s) should take precedence.
// _ISOC99_SOURCE, _ISOC11_SOURCE, __STDC_VERSION__, and __cplusplus
// override any of the other macros since they are non-exclusive.
// Finally deal with BSD-specific interfaces that are not covered
// by any standards. We expose these when none of the POSIX or XPG
// macros is defined or if the user explicitly asks for them.
// Default values.
// Special Control Characters
//
// Index into c_cc[] character array.
//
// Name Subscript Enabled by
// 7 spare 1
// 19 spare 2
// Input flags - software input processing
// Output flags - software output processing
// Control flags - hardware control of terminal
// "Local" flags - dumping ground for other state
//
// Warning: some flags in this structure begin with
// the letter "I" and look like they belong in the
// input flag.
type Tcflag_t = uint32 /* termios.h:185:22 */
type Cc_t = uint8 /* termios.h:186:23 */
type Speed_t = uint32 /* termios.h:187:22 */
type Termios = struct {
Fc_iflag Tcflag_t
Fc_oflag Tcflag_t
Fc_cflag Tcflag_t
Fc_lflag Tcflag_t
Fc_cc [20]Cc_t
Fc_ispeed int32
Fc_ospeed int32
} /* termios.h:189:1 */
// Commands passed to tcsetattr() for setting the termios structure.
// Standard speeds
// $OpenBSD: _types.h,v 1.10 2022/08/06 13:31:13 semarie Exp $
// -
// Copyright (c) 1990, 1993
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
//
// @(#)types.h 8.3 (Berkeley) 1/5/94
// $OpenBSD: _types.h,v 1.4 2018/03/05 01:15:25 deraadt Exp $
// -
// Copyright (c) 1990, 1993
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
//
// @(#)types.h 8.3 (Berkeley) 1/5/94
// @(#)ansi.h 8.2 (Berkeley) 1/4/94
// _ALIGN(p) rounds p (pointer or byte index) up to a correctly-aligned
// value for all data types (int, long, ...). The result is an
// unsigned long and must be cast to any desired pointer type.
//
// _ALIGNED_POINTER is a boolean macro that checks whether an address
// is valid to fetch data elements of type t from on this architecture.
// This does not reflect the optimal alignment, just the possibility
// (within reasonable limits).
// 7.18.1.1 Exact-width integer types
type X__int8_t = int8 /* _types.h:60:22 */
type X__uint8_t = uint8 /* _types.h:61:24 */
type X__int16_t = int16 /* _types.h:62:17 */
type X__uint16_t = uint16 /* _types.h:63:25 */
type X__int32_t = int32 /* _types.h:64:15 */
type X__uint32_t = uint32 /* _types.h:65:23 */
// LONGLONG
type X__int64_t = int64 /* _types.h:67:20 */
// LONGLONG
type X__uint64_t = uint64 /* _types.h:69:28 */
// 7.18.1.2 Minimum-width integer types
type X__int_least8_t = X__int8_t /* _types.h:72:19 */
type X__uint_least8_t = X__uint8_t /* _types.h:73:20 */
type X__int_least16_t = X__int16_t /* _types.h:74:20 */
type X__uint_least16_t = X__uint16_t /* _types.h:75:21 */
type X__int_least32_t = X__int32_t /* _types.h:76:20 */
type X__uint_least32_t = X__uint32_t /* _types.h:77:21 */
type X__int_least64_t = X__int64_t /* _types.h:78:20 */
type X__uint_least64_t = X__uint64_t /* _types.h:79:21 */
// 7.18.1.3 Fastest minimum-width integer types
type X__int_fast8_t = X__int32_t /* _types.h:82:20 */
type X__uint_fast8_t = X__uint32_t /* _types.h:83:21 */
type X__int_fast16_t = X__int32_t /* _types.h:84:20 */
type X__uint_fast16_t = X__uint32_t /* _types.h:85:21 */
type X__int_fast32_t = X__int32_t /* _types.h:86:20 */
type X__uint_fast32_t = X__uint32_t /* _types.h:87:21 */
type X__int_fast64_t = X__int64_t /* _types.h:88:20 */
type X__uint_fast64_t = X__uint64_t /* _types.h:89:21 */
// 7.18.1.4 Integer types capable of holding object pointers
type X__intptr_t = int64 /* _types.h:104:16 */
type X__uintptr_t = uint64 /* _types.h:105:24 */
// 7.18.1.5 Greatest-width integer types
type X__intmax_t = X__int64_t /* _types.h:108:20 */
type X__uintmax_t = X__uint64_t /* _types.h:109:21 */
// Register size
type X__register_t = int64 /* _types.h:112:16 */
// VM system types
type X__vaddr_t = uint64 /* _types.h:115:24 */
type X__paddr_t = uint64 /* _types.h:116:24 */
type X__vsize_t = uint64 /* _types.h:117:24 */
type X__psize_t = uint64 /* _types.h:118:24 */
// Standard system types
type X__double_t = float64 /* _types.h:121:18 */
type X__float_t = float32 /* _types.h:122:17 */
type X__ptrdiff_t = int64 /* _types.h:123:16 */
type X__size_t = uint64 /* _types.h:124:24 */
type X__ssize_t = int64 /* _types.h:125:16 */
type X__va_list = X__builtin_va_list /* _types.h:127:27 */
// Wide character support types
type X__wchar_t = int32 /* _types.h:137:15 */
type X__wint_t = int32 /* _types.h:140:15 */
type X__rune_t = int32 /* _types.h:141:15 */
type X__wctrans_t = uintptr /* _types.h:142:14 */
type X__wctype_t = uintptr /* _types.h:143:14 */
type X__blkcnt_t = X__int64_t /* _types.h:39:19 */ // blocks allocated for file
type X__blksize_t = X__int32_t /* _types.h:40:19 */ // optimal blocksize for I/O
type X__clock_t = X__int64_t /* _types.h:41:19 */ // ticks in CLOCKS_PER_SEC
type X__clockid_t = X__int32_t /* _types.h:42:19 */ // CLOCK_* identifiers
type X__cpuid_t = uint64 /* _types.h:43:23 */ // CPU id
type X__dev_t = X__int32_t /* _types.h:44:19 */ // device number
type X__fixpt_t = X__uint32_t /* _types.h:45:20 */ // fixed point number
type X__fsblkcnt_t = X__uint64_t /* _types.h:46:20 */ // file system block count
type X__fsfilcnt_t = X__uint64_t /* _types.h:47:20 */ // file system file count
type X__gid_t = X__uint32_t /* _types.h:48:20 */ // group id
type X__id_t = X__uint32_t /* _types.h:49:20 */ // may contain pid, uid or gid
type X__in_addr_t = X__uint32_t /* _types.h:50:20 */ // base type for internet address
type X__in_port_t = X__uint16_t /* _types.h:51:20 */ // IP port type
type X__ino_t = X__uint64_t /* _types.h:52:20 */ // inode number
type X__key_t = int64 /* _types.h:53:15 */ // IPC key (for Sys V IPC)
type X__mode_t = X__uint32_t /* _types.h:54:20 */ // permissions
type X__nlink_t = X__uint32_t /* _types.h:55:20 */ // link count
type X__off_t = X__int64_t /* _types.h:56:19 */ // file offset or size
type X__pid_t = X__int32_t /* _types.h:57:19 */ // process id
type X__rlim_t = X__uint64_t /* _types.h:58:20 */ // resource limit
type X__sa_family_t = X__uint8_t /* _types.h:59:19 */ // sockaddr address family type
type X__segsz_t = X__int32_t /* _types.h:60:19 */ // segment size
type X__socklen_t = X__uint32_t /* _types.h:61:20 */ // length type for network syscalls
type X__suseconds_t = int64 /* _types.h:62:15 */ // microseconds (signed)
type X__time_t = X__int64_t /* _types.h:63:19 */ // epoch time
type X__timer_t = X__int32_t /* _types.h:64:19 */ // POSIX timer identifiers
type X__uid_t = X__uint32_t /* _types.h:65:20 */ // user id
type X__useconds_t = X__uint32_t /* _types.h:66:20 */ // microseconds
// mbstate_t is an opaque object to keep conversion state, during multibyte
// stream conversions. The content must not be referenced by user programs.
type X__mbstate_t = struct {
F__ccgo_pad1 [0]uint64
F__mbstate8 [128]int8
} /* _types.h:75:3 */
type Pid_t = X__pid_t /* termios.h:255:18 */
// Include tty ioctl's that aren't just for backwards compatibility
// with the old tty driver. These ioctl definitions were previously
// in <sys/ioctl.h>.
// $OpenBSD: ttycom.h,v 1.17 2018/06/16 13:55:03 deraadt Exp $
// $NetBSD: ttycom.h,v 1.4 1996/05/19 17:17:53 jonathan Exp $
// -
// Copyright (c) 1982, 1986, 1990, 1993, 1994
// The Regents of the University of California. All rights reserved.
// (c) UNIX System Laboratories, Inc.
// All or some portions of this file are derived from material licensed
// to the University of California by American Telephone and Telegraph
// Co. or Unix System Laboratories, Inc. and are reproduced herein with
// the permission of UNIX System Laboratories, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
//
// @(#)ttycom.h 8.1 (Berkeley) 3/28/94
// $OpenBSD: ioccom.h,v 1.5 2013/03/22 21:22:05 deraadt Exp $
// $NetBSD: ioccom.h,v 1.4 1994/10/30 21:49:56 cgd Exp $
// -
// Copyright (c) 1982, 1986, 1990, 1993, 1994
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
//
// @(#)ioccom.h 8.2 (Berkeley) 3/28/94
// Ioctl's have the command encoded in the lower word, and the size of
// any in or out parameters in the upper word. The high 3 bits of the
// upper word are used to encode the in/out status of the parameter.
// no parameters
// copy parameters out
// copy parameters in
// copy parameters in and out
// mask for IN/OUT/VOID
// this should be _IORW, but stdio got there first
// Tty ioctl's.
// Window/terminal size structure. This information is stored by the kernel
// in order to provide a consistent interface, but is not used by the kernel.
type Winsize = struct {
Fws_row uint16
Fws_col uint16
Fws_xpixel uint16
Fws_ypixel uint16
} /* ttycom.h:51:1 */
type Tstamps = struct {
Fts_set int32
Fts_clr int32
} /* ttycom.h:58:1 */
// 8-10 compat
// 15 unused
// 17-18 compat
// 127-124 compat
// 117-116 compat
// Backwards compatibility
// END OF PROTECTED INCLUDE.
// $OpenBSD: ttydefaults.h,v 1.7 2019/03/12 11:01:25 nicm Exp $
// $NetBSD: ttydefaults.h,v 1.8 1996/04/09 20:55:45 cgd Exp $
// -
// Copyright (c) 1982, 1986, 1993
// The Regents of the University of California. All rights reserved.
// (c) UNIX System Laboratories, Inc.
// All or some portions of this file are derived from material licensed
// to the University of California by American Telephone and Telegraph
// Co. or Unix System Laboratories, Inc. and are reproduced herein with
// the permission of UNIX System Laboratories, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
//
// @(#)ttydefaults.h 8.4 (Berkeley) 1/21/94
// System wide defaults for terminal state.
// Defaults on "first" open.
// Control Character Defaults
// compat
// PROTECTED INCLUSION ENDS HERE
// #define TTYDEFCHARS to include an array of default control characters.
var _ int8 /* gen.c:2:13: */