github.com/afumu/libc@v0.0.6/termios/termios_darwin_amd64.go (about)

     1  // 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.
     2  
     3  package termios
     4  
     5  import (
     6  	"math"
     7  	"reflect"
     8  	"sync/atomic"
     9  	"unsafe"
    10  )
    11  
    12  var _ = math.Pi
    13  var _ reflect.Kind
    14  var _ atomic.Value
    15  var _ unsafe.Pointer
    16  
    17  const (
    18  	ALTWERASE                              = 0x00000200 // termios.h:249:1:
    19  	B0                                     = 0          // termios.h:291:1:
    20  	B110                                   = 110        // termios.h:294:1:
    21  	B115200                                = 115200     // termios.h:313:1:
    22  	B1200                                  = 1200       // termios.h:300:1:
    23  	B134                                   = 134        // termios.h:295:1:
    24  	B14400                                 = 14400      // termios.h:309:1:
    25  	B150                                   = 150        // termios.h:296:1:
    26  	B1800                                  = 1800       // termios.h:301:1:
    27  	B19200                                 = 19200      // termios.h:305:1:
    28  	B200                                   = 200        // termios.h:297:1:
    29  	B230400                                = 230400     // termios.h:314:1:
    30  	B2400                                  = 2400       // termios.h:302:1:
    31  	B28800                                 = 28800      // termios.h:310:1:
    32  	B300                                   = 300        // termios.h:298:1:
    33  	B38400                                 = 38400      // termios.h:306:1:
    34  	B4800                                  = 4800       // termios.h:303:1:
    35  	B50                                    = 50         // termios.h:292:1:
    36  	B57600                                 = 57600      // termios.h:311:1:
    37  	B600                                   = 600        // termios.h:299:1:
    38  	B7200                                  = 7200       // termios.h:308:1:
    39  	B75                                    = 75         // termios.h:293:1:
    40  	B76800                                 = 76800      // termios.h:312:1:
    41  	B9600                                  = 9600       // termios.h:304:1:
    42  	BRKINT                                 = 0x00000002 // termios.h:120:1:
    43  	BS0                                    = 0x00000000 // termios.h:190:1:
    44  	BS1                                    = 0x00008000 // termios.h:191:1:
    45  	BSDLY                                  = 0x00008000 // termios.h:159:1:
    46  	CBRK                                   = 255        // ttydefaults.h:107:1:
    47  	CCAR_OFLOW                             = 0x00100000 // termios.h:222:1:
    48  	CCTS_OFLOW                             = 0x00010000 // termios.h:217:1:
    49  	CDISCARD                               = 15         // ttydefaults.h:102:1:
    50  	CDSR_OFLOW                             = 0x00080000 // termios.h:221:1:
    51  	CDSUSP                                 = 25         // ttydefaults.h:98:1:
    52  	CDTR_IFLOW                             = 0x00040000 // termios.h:220:1:
    53  	CEOF                                   = 4          // ttydefaults.h:88:1:
    54  	CEOL                                   = 0xff       // ttydefaults.h:89:1:
    55  	CEOT                                   = 4          // ttydefaults.h:105:1:
    56  	CERASE                                 = 0177       // ttydefaults.h:90:1:
    57  	CFLUSH                                 = 15         // ttydefaults.h:109:1:
    58  	CIGNORE                                = 0x00000001 // termios.h:203:1:
    59  	CINTR                                  = 3          // ttydefaults.h:91:1:
    60  	CKILL                                  = 21         // ttydefaults.h:93:1:
    61  	CLNEXT                                 = 22         // ttydefaults.h:101:1:
    62  	CLOCAL                                 = 0x00008000 // termios.h:215:1:
    63  	CMIN                                   = 1          // ttydefaults.h:94:1:
    64  	CQUIT                                  = 034        // ttydefaults.h:95:1:
    65  	CR0                                    = 0x00000000 // termios.h:184:1:
    66  	CR1                                    = 0x00001000 // termios.h:185:1:
    67  	CR2                                    = 0x00002000 // termios.h:186:1:
    68  	CR3                                    = 0x00003000 // termios.h:187:1:
    69  	CRDLY                                  = 0x00003000 // termios.h:157:1:
    70  	CREAD                                  = 0x00000800 // termios.h:211:1:
    71  	CREPRINT                               = 18         // ttydefaults.h:104:1:
    72  	CRPRNT                                 = 18         // ttydefaults.h:108:1:
    73  	CRTSCTS                                = 196608     // termios.h:218:1:
    74  	CRTS_IFLOW                             = 0x00020000 // termios.h:219:1:
    75  	CS5                                    = 0x00000000 // termios.h:206:1:
    76  	CS6                                    = 0x00000100 // termios.h:207:1:
    77  	CS7                                    = 0x00000200 // termios.h:208:1:
    78  	CS8                                    = 0x00000300 // termios.h:209:1:
    79  	CSIZE                                  = 0x00000300 // termios.h:205:1:
    80  	CSTART                                 = 17         // ttydefaults.h:99:1:
    81  	CSTATUS                                = 20         // ttydefaults.h:92:1:
    82  	CSTOP                                  = 19         // ttydefaults.h:100:1:
    83  	CSTOPB                                 = 0x00000400 // termios.h:210:1:
    84  	CSUSP                                  = 26         // ttydefaults.h:96:1:
    85  	CTIME                                  = 0          // ttydefaults.h:97:1:
    86  	CWERASE                                = 23         // ttydefaults.h:103:1:
    87  	ECHO                                   = 0x00000008 // termios.h:240:1:
    88  	ECHOCTL                                = 0x00000040 // termios.h:244:1:
    89  	ECHOE                                  = 0x00000002 // termios.h:238:1:
    90  	ECHOK                                  = 0x00000004 // termios.h:239:1:
    91  	ECHOKE                                 = 0x00000001 // termios.h:236:1:
    92  	ECHONL                                 = 0x00000010 // termios.h:241:1:
    93  	ECHOPRT                                = 0x00000020 // termios.h:243:1:
    94  	EXTA                                   = 19200      // termios.h:315:1:
    95  	EXTB                                   = 38400      // termios.h:316:1:
    96  	EXTPROC                                = 0x00000800 // termios.h:253:1:
    97  	FF0                                    = 0x00000000 // termios.h:188:1:
    98  	FF1                                    = 0x00004000 // termios.h:189:1:
    99  	FFDLY                                  = 0x00004000 // termios.h:158:1:
   100  	FLUSHO                                 = 0x00800000 // termios.h:257:1:
   101  	HUPCL                                  = 0x00004000 // termios.h:214:1:
   102  	ICANON                                 = 0x00000100 // termios.h:247:1:
   103  	ICRNL                                  = 0x00000100 // termios.h:127:1:
   104  	IEXTEN                                 = 0x00000400 // termios.h:251:1:
   105  	IGNBRK                                 = 0x00000001 // termios.h:119:1:
   106  	IGNCR                                  = 0x00000080 // termios.h:126:1:
   107  	IGNPAR                                 = 0x00000004 // termios.h:121:1:
   108  	IMAXBEL                                = 0x00002000 // termios.h:132:1:
   109  	INLCR                                  = 0x00000040 // termios.h:125:1:
   110  	INPCK                                  = 0x00000010 // termios.h:123:1:
   111  	IOCPARM_MASK                           = 0x1fff     // ioccom.h:74:1:
   112  	IOCPARM_MAX                            = 8192       // ioccom.h:79:1:
   113  	ISIG                                   = 0x00000080 // termios.h:246:1:
   114  	ISTRIP                                 = 0x00000020 // termios.h:124:1:
   115  	IUTF8                                  = 0x00004000 // termios.h:133:1:
   116  	IXANY                                  = 0x00000800 // termios.h:130:1:
   117  	IXOFF                                  = 0x00000400 // termios.h:129:1:
   118  	IXON                                   = 0x00000200 // termios.h:128:1:
   119  	MDMBUF                                 = 0x00100000 // termios.h:223:1:
   120  	NCCS                                   = 20         // termios.h:108:1:
   121  	NL0                                    = 0x00000000 // termios.h:173:1:
   122  	NL1                                    = 0x00000100 // termios.h:174:1:
   123  	NL2                                    = 0x00000200 // termios.h:176:1:
   124  	NL3                                    = 0x00000300 // termios.h:177:1:
   125  	NLDLY                                  = 0x00000300 // termios.h:155:1:
   126  	NOFLSH                                 = 0x80000000 // termios.h:261:1:
   127  	NOKERNINFO                             = 0x02000000 // termios.h:258:1:
   128  	OCRNL                                  = 0x00000010 // termios.h:151:1:
   129  	OFDEL                                  = 0x00020000 // termios.h:161:1:
   130  	OFILL                                  = 0x00000080 // termios.h:154:1:
   131  	ONLCR                                  = 0x00000002 // termios.h:140:1:
   132  	ONLRET                                 = 0x00000040 // termios.h:153:1:
   133  	ONOCR                                  = 0x00000020 // termios.h:152:1:
   134  	ONOEOT                                 = 0x00000008 // termios.h:143:1:
   135  	OPOST                                  = 0x00000001 // termios.h:139:1:
   136  	OXTABS                                 = 0x00000004 // termios.h:142:1:
   137  	PARENB                                 = 0x00001000 // termios.h:212:1:
   138  	PARMRK                                 = 0x00000008 // termios.h:122:1:
   139  	PARODD                                 = 0x00002000 // termios.h:213:1:
   140  	PENDIN                                 = 0x20000000 // termios.h:259:1:
   141  	PPPDISC                                = 5          // ttycom.h:171:1:
   142  	SLIPDISC                               = 4          // ttycom.h:170:1:
   143  	TAB0                                   = 0x00000000 // termios.h:179:1:
   144  	TAB1                                   = 0x00000400 // termios.h:180:1:
   145  	TAB2                                   = 0x00000800 // termios.h:181:1:
   146  	TAB3                                   = 0x00000004 // termios.h:183:1:
   147  	TABDLY                                 = 0x00000c04 // termios.h:156:1:
   148  	TABLDISC                               = 3          // ttycom.h:169:1:
   149  	TCIFLUSH                               = 1          // termios.h:320:1:
   150  	TCIOFF                                 = 3          // termios.h:325:1:
   151  	TCIOFLUSH                              = 3          // termios.h:322:1:
   152  	TCION                                  = 4          // termios.h:326:1:
   153  	TCOFLUSH                               = 2          // termios.h:321:1:
   154  	TCOOFF                                 = 1          // termios.h:323:1:
   155  	TCOON                                  = 2          // termios.h:324:1:
   156  	TCSADRAIN                              = 1          // termios.h:282:1:
   157  	TCSAFLUSH                              = 2          // termios.h:283:1:
   158  	TCSANOW                                = 0          // termios.h:281:1:
   159  	TCSASOFT                               = 0x10       // termios.h:285:1:
   160  	TIOCM_CAR                              = 0100       // ttycom.h:97:1:
   161  	TIOCM_CD                               = 64         // ttycom.h:98:1:
   162  	TIOCM_CTS                              = 0040       // ttycom.h:96:1:
   163  	TIOCM_DSR                              = 0400       // ttycom.h:101:1:
   164  	TIOCM_DTR                              = 0002       // ttycom.h:92:1:
   165  	TIOCM_LE                               = 0001       // ttycom.h:91:1:
   166  	TIOCM_RI                               = 128        // ttycom.h:100:1:
   167  	TIOCM_RNG                              = 0200       // ttycom.h:99:1:
   168  	TIOCM_RTS                              = 0004       // ttycom.h:93:1:
   169  	TIOCM_SR                               = 0020       // ttycom.h:95:1:
   170  	TIOCM_ST                               = 0010       // ttycom.h:94:1:
   171  	TIOCPKT_DATA                           = 0x00       // ttycom.h:128:1:
   172  	TIOCPKT_DOSTOP                         = 0x20       // ttycom.h:134:1:
   173  	TIOCPKT_FLUSHREAD                      = 0x01       // ttycom.h:129:1:
   174  	TIOCPKT_FLUSHWRITE                     = 0x02       // ttycom.h:130:1:
   175  	TIOCPKT_IOCTL                          = 0x40       // ttycom.h:135:1:
   176  	TIOCPKT_NOSTOP                         = 0x10       // ttycom.h:133:1:
   177  	TIOCPKT_START                          = 0x08       // ttycom.h:132:1:
   178  	TIOCPKT_STOP                           = 0x04       // ttycom.h:131:1:
   179  	TOSTOP                                 = 0x00400000 // termios.h:255:1:
   180  	TTYDEF_CFLAG                           = 19200      // ttydefaults.h:81:1:
   181  	TTYDEF_IFLAG                           = 11010      // ttydefaults.h:78:1:
   182  	TTYDEF_LFLAG                           = 1483       // ttydefaults.h:80:1:
   183  	TTYDEF_OFLAG                           = 3          // ttydefaults.h:79:1:
   184  	TTYDEF_SPEED                           = 9600       // ttydefaults.h:82:1:
   185  	TTYDISC                                = 0          // ttycom.h:168:1:
   186  	VDISCARD                               = 15         // termios.h:100:1:
   187  	VDSUSP                                 = 11         // termios.h:94:1:
   188  	VEOF                                   = 0          // termios.h:76:1:
   189  	VEOL                                   = 1          // termios.h:77:1:
   190  	VEOL2                                  = 2          // termios.h:79:1:
   191  	VERASE                                 = 3          // termios.h:81:1:
   192  	VINTR                                  = 8          // termios.h:90:1:
   193  	VKILL                                  = 5          // termios.h:85:1:
   194  	VLNEXT                                 = 14         // termios.h:99:1:
   195  	VMIN                                   = 16         // termios.h:102:1:
   196  	VQUIT                                  = 9          // termios.h:91:1:
   197  	VREPRINT                               = 6          // termios.h:87:1:
   198  	VSTART                                 = 12         // termios.h:96:1:
   199  	VSTATUS                                = 18         // termios.h:105:1:
   200  	VSTOP                                  = 13         // termios.h:97:1:
   201  	VSUSP                                  = 10         // termios.h:92:1:
   202  	VT0                                    = 0x00000000 // termios.h:192:1:
   203  	VT1                                    = 0x00010000 // termios.h:193:1:
   204  	VTDLY                                  = 0x00010000 // termios.h:160:1:
   205  	VTIME                                  = 17         // termios.h:103:1:
   206  	VWERASE                                = 4          // termios.h:83:1:
   207  	X_BSD_I386__TYPES_H_                   = 0          // _types.h:29:1:
   208  	X_BSD_MACHINE__TYPES_H_                = 0          // _types.h:29:1:
   209  	X_CDEFS_H_                             = 0          // cdefs.h:68:1:
   210  	X_DARWIN_FEATURE_64_BIT_INODE          = 1          // cdefs.h:745:1:
   211  	X_DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE = 1          // cdefs.h:771:1:
   212  	X_DARWIN_FEATURE_UNIX_CONFORMANCE      = 3          // cdefs.h:779:1:
   213  	X_FILE_OFFSET_BITS                     = 64         // <builtin>:25:1:
   214  	X_FORTIFY_SOURCE                       = 2          // _types.h:65:1:
   215  	X_LP64                                 = 1          // <predefined>:1:1:
   216  	X_Nonnull                              = 0          // cdefs.h:243:1:
   217  	X_Null_unspecified                     = 0          // cdefs.h:246:1:
   218  	X_Nullable                             = 0          // cdefs.h:240:1:
   219  	X_PID_T                                = 0          // _pid_t.h:29:1:
   220  	X_SYS_IOCCOM_H_                        = 0          // ioccom.h:65:1:
   221  	X_SYS_TERMIOS_H_                       = 0          // termios.h:65:1:
   222  	X_SYS_TTYCOM_H_                        = 0          // ttycom.h:70:1:
   223  	X_SYS_TTYDEFAULTS_H_                   = 0          // ttydefaults.h:73:1:
   224  	X_SYS__PTHREAD_TYPES_H_                = 0          // _pthread_types.h:30:1:
   225  	X_SYS__TYPES_H_                        = 0          // _types.h:30:1:
   226  )
   227  
   228  type Ptrdiff_t = int64 /* <builtin>:3:26 */
   229  
   230  type Size_t = uint64 /* <builtin>:9:23 */
   231  
   232  type Wchar_t = int32 /* <builtin>:15:24 */
   233  
   234  type X__int128_t = struct {
   235  	Flo int64
   236  	Fhi int64
   237  } /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
   238  type X__uint128_t = struct {
   239  	Flo uint64
   240  	Fhi uint64
   241  } /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
   242  
   243  type X__builtin_va_list = uintptr /* <builtin>:46:14 */
   244  type X__float128 = float64        /* <builtin>:47:21 */
   245  
   246  var X__darwin_check_fd_set_overflow uintptr /* <builtin>:146:5: */
   247  
   248  // Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
   249  //
   250  // @APPLE_LICENSE_HEADER_START@
   251  //
   252  // This file contains Original Code and/or Modifications of Original Code
   253  // as defined in and that are subject to the Apple Public Source License
   254  // Version 2.0 (the 'License'). You may not use this file except in
   255  // compliance with the License. Please obtain a copy of the License at
   256  // http://www.opensource.apple.com/apsl/ and read it before using this
   257  // file.
   258  //
   259  // The Original Code and all software distributed under the License are
   260  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
   261  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
   262  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
   263  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
   264  // Please see the License for the specific language governing rights and
   265  // limitations under the License.
   266  //
   267  // @APPLE_LICENSE_HEADER_END@
   268  
   269  // Copyright (c) 2000-2018 Apple Inc. All rights reserved.
   270  //
   271  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
   272  //
   273  // This file contains Original Code and/or Modifications of Original Code
   274  // as defined in and that are subject to the Apple Public Source License
   275  // Version 2.0 (the 'License'). You may not use this file except in
   276  // compliance with the License. The rights granted to you under the License
   277  // may not be used to create, or enable the creation or redistribution of,
   278  // unlawful or unlicensed copies of an Apple operating system, or to
   279  // circumvent, violate, or enable the circumvention or violation of, any
   280  // terms of an Apple operating system software license agreement.
   281  //
   282  // Please obtain a copy of the License at
   283  // http://www.opensource.apple.com/apsl/ and read it before using this file.
   284  //
   285  // The Original Code and all software distributed under the License are
   286  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
   287  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
   288  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
   289  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
   290  // Please see the License for the specific language governing rights and
   291  // limitations under the License.
   292  //
   293  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
   294  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
   295  // Copyright (c) 1991, 1993
   296  //	The Regents of the University of California.  All rights reserved.
   297  //
   298  // This code is derived from software contributed to Berkeley by
   299  // Berkeley Software Design, Inc.
   300  //
   301  // Redistribution and use in source and binary forms, with or without
   302  // modification, are permitted provided that the following conditions
   303  // are met:
   304  // 1. Redistributions of source code must retain the above copyright
   305  //    notice, this list of conditions and the following disclaimer.
   306  // 2. Redistributions in binary form must reproduce the above copyright
   307  //    notice, this list of conditions and the following disclaimer in the
   308  //    documentation and/or other materials provided with the distribution.
   309  // 3. All advertising materials mentioning features or use of this software
   310  //    must display the following acknowledgement:
   311  //	This product includes software developed by the University of
   312  //	California, Berkeley and its contributors.
   313  // 4. Neither the name of the University nor the names of its contributors
   314  //    may be used to endorse or promote products derived from this software
   315  //    without specific prior written permission.
   316  //
   317  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
   318  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   319  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   320  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
   321  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   322  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   323  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   324  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   325  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   326  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   327  // SUCH DAMAGE.
   328  //
   329  //	@(#)cdefs.h	8.8 (Berkeley) 1/9/95
   330  
   331  // This SDK is designed to work with clang and specific versions of
   332  // gcc >= 4.0 with Apple's patch sets
   333  
   334  // Compatibility with compilers and environments that don't support compiler
   335  // feature checking function-like macros.
   336  
   337  // The __CONCAT macro is used to concatenate parts of symbol names, e.g.
   338  // with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo.
   339  // The __CONCAT macro is a bit tricky -- make sure you don't put spaces
   340  // in between its arguments.  __CONCAT can also concatenate double-quoted
   341  // strings produced by the __STRING macro, but this only works with ANSI C.
   342  
   343  // In non-ANSI C environments, new programs will want ANSI-only C keywords
   344  // deleted from the program and old programs will want them left alone.
   345  // When using a compiler other than gcc, programs using the ANSI C keywords
   346  // const, inline etc. as normal identifiers should define -DNO_ANSI_KEYWORDS.
   347  // When using "gcc -traditional", we assume that this is the intent; if
   348  // __GNUC__ is defined but __STDC__ is not, we leave the new keywords alone.
   349  
   350  // __unused denotes variables and functions that may not be used, preventing
   351  // the compiler from warning about it if not used.
   352  
   353  // __used forces variables and functions to be included even if it appears
   354  // to the compiler that they are not used (and would thust be discarded).
   355  
   356  // __cold marks code used for debugging or that is rarely taken
   357  // and tells the compiler to optimize for size and outline code.
   358  
   359  // __deprecated causes the compiler to produce a warning when encountering
   360  // code using the deprecated functionality.
   361  // __deprecated_msg() does the same, and compilers that support it will print
   362  // a message along with the deprecation warning.
   363  // This may require turning on such warning with the -Wdeprecated flag.
   364  // __deprecated_enum_msg() should be used on enums, and compilers that support
   365  // it will print the deprecation warning.
   366  // __kpi_deprecated() specifically indicates deprecation of kernel programming
   367  // interfaces in Kernel.framework used by KEXTs.
   368  
   369  // __unavailable causes the compiler to error out when encountering
   370  // code using the tagged function of variable.
   371  
   372  // Delete pseudo-keywords wherever they are not available or needed.
   373  
   374  // We use `__restrict' as a way to define the `restrict' type qualifier
   375  // without disturbing older software that is unaware of C99 keywords.
   376  
   377  // Compatibility with compilers and environments that don't support the
   378  // nullability feature.
   379  
   380  // __disable_tail_calls causes the compiler to not perform tail call
   381  // optimization inside the marked function.
   382  
   383  // __not_tail_called causes the compiler to prevent tail call optimization
   384  // on statically bound calls to the function.  It has no effect on indirect
   385  // calls.  Virtual functions, objective-c methods, and functions marked as
   386  // "always_inline" cannot be marked as __not_tail_called.
   387  
   388  // __result_use_check warns callers of a function that not using the function
   389  // return value is a bug, i.e. dismissing malloc() return value results in a
   390  // memory leak.
   391  
   392  // __swift_unavailable causes the compiler to mark a symbol as specifically
   393  // unavailable in Swift, regardless of any other availability in C.
   394  
   395  // __abortlike is the attribute to put on functions like abort() that are
   396  // typically used to mark assertions. These optimize the codegen
   397  // for outlining while still maintaining debugability.
   398  
   399  // Declaring inline functions within headers is error-prone due to differences
   400  // across various versions of the C language and extensions.  __header_inline
   401  // can be used to declare inline functions within system headers.  In cases
   402  // where you want to force inlining instead of letting the compiler make
   403  // the decision, you can use __header_always_inline.
   404  //
   405  // Be aware that using inline for functions which compilers may also provide
   406  // builtins can behave differently under various compilers.  If you intend to
   407  // provide an inline version of such a function, you may want to use a macro
   408  // instead.
   409  //
   410  // The check for !__GNUC__ || __clang__ is because gcc doesn't correctly
   411  // support c99 inline in some cases:
   412  // http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55965
   413  
   414  // Compiler-dependent macros that bracket portions of code where the
   415  // "-Wunreachable-code" warning should be ignored. Please use sparingly.
   416  
   417  // Compiler-dependent macros to declare that functions take printf-like
   418  // or scanf-like arguments.  They are null except for versions of gcc
   419  // that are known to support the features properly.  Functions declared
   420  // with these attributes will cause compilation warnings if there is a
   421  // mismatch between the format string and subsequent function parameter
   422  // types.
   423  
   424  // Source compatibility only, ID string not emitted in object file
   425  
   426  // __alloc_size can be used to label function arguments that represent the
   427  // size of memory that the function allocates and returns. The one-argument
   428  // form labels a single argument that gives the allocation size (where the
   429  // arguments are numbered from 1):
   430  //
   431  // void	*malloc(size_t __size) __alloc_size(1);
   432  //
   433  // The two-argument form handles the case where the size is calculated as the
   434  // product of two arguments:
   435  //
   436  // void	*calloc(size_t __count, size_t __size) __alloc_size(1,2);
   437  
   438  // COMPILATION ENVIRONMENTS -- see compat(5) for additional detail
   439  //
   440  // DEFAULT	By default newly complied code will get POSIX APIs plus
   441  //		Apple API extensions in scope.
   442  //
   443  //		Most users will use this compilation environment to avoid
   444  //		behavioral differences between 32 and 64 bit code.
   445  //
   446  // LEGACY	Defining _NONSTD_SOURCE will get pre-POSIX APIs plus Apple
   447  //		API extensions in scope.
   448  //
   449  //		This is generally equivalent to the Tiger release compilation
   450  //		environment, except that it cannot be applied to 64 bit code;
   451  //		its use is discouraged.
   452  //
   453  //		We expect this environment to be deprecated in the future.
   454  //
   455  // STRICT	Defining _POSIX_C_SOURCE or _XOPEN_SOURCE restricts the
   456  //		available APIs to exactly the set of APIs defined by the
   457  //		corresponding standard, based on the value defined.
   458  //
   459  //		A correct, portable definition for _POSIX_C_SOURCE is 200112L.
   460  //		A correct, portable definition for _XOPEN_SOURCE is 600L.
   461  //
   462  //		Apple API extensions are not visible in this environment,
   463  //		which can cause Apple specific code to fail to compile,
   464  //		or behave incorrectly if prototypes are not in scope or
   465  //		warnings about missing prototypes are not enabled or ignored.
   466  //
   467  // In any compilation environment, for correct symbol resolution to occur,
   468  // function prototypes must be in scope.  It is recommended that all Apple
   469  // tools users add either the "-Wall" or "-Wimplicit-function-declaration"
   470  // compiler flags to their projects to be warned when a function is being
   471  // used without a prototype in scope.
   472  
   473  // These settings are particular to each product.
   474  // Platform: MacOSX
   475  // #undef __DARWIN_ONLY_UNIX_CONFORMANCE (automatically set for 64-bit)
   476  
   477  // The __DARWIN_ALIAS macros are used to do symbol renaming; they allow
   478  // legacy code to use the old symbol, thus maintaining binary compatibility
   479  // while new code can use a standards compliant version of the same function.
   480  //
   481  // __DARWIN_ALIAS is used by itself if the function signature has not
   482  // changed, it is used along with a #ifdef check for __DARWIN_UNIX03
   483  // if the signature has changed.  Because the __LP64__ environment
   484  // only supports UNIX03 semantics it causes __DARWIN_UNIX03 to be
   485  // defined, but causes __DARWIN_ALIAS to do no symbol mangling.
   486  //
   487  // As a special case, when XCode is used to target a specific version of the
   488  // OS, the manifest constant __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
   489  // will be defined by the compiler, with the digits representing major version
   490  // time 100 + minor version times 10 (e.g. 10.5 := 1050).  If we are targeting
   491  // pre-10.5, and it is the default compilation environment, revert the
   492  // compilation environment to pre-__DARWIN_UNIX03.
   493  
   494  // symbol suffixes used for symbol versioning
   495  
   496  // symbol versioning macros
   497  
   498  // symbol release macros
   499  // Copyright (c) 2010 Apple Inc. All rights reserved.
   500  //
   501  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
   502  //
   503  // This file contains Original Code and/or Modifications of Original Code
   504  // as defined in and that are subject to the Apple Public Source License
   505  // Version 2.0 (the 'License'). You may not use this file except in
   506  // compliance with the License. The rights granted to you under the License
   507  // may not be used to create, or enable the creation or redistribution of,
   508  // unlawful or unlicensed copies of an Apple operating system, or to
   509  // circumvent, violate, or enable the circumvention or violation of, any
   510  // terms of an Apple operating system software license agreement.
   511  //
   512  // Please obtain a copy of the License at
   513  // http://www.opensource.apple.com/apsl/ and read it before using this file.
   514  //
   515  // The Original Code and all software distributed under the License are
   516  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
   517  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
   518  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
   519  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
   520  // Please see the License for the specific language governing rights and
   521  // limitations under the License.
   522  //
   523  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
   524  
   525  // POSIX.1 requires that the macros we test be defined before any standard
   526  // header file is included.  This permits us to convert values for feature
   527  // testing, as necessary, using only _POSIX_C_SOURCE.
   528  //
   529  // Here's a quick run-down of the versions:
   530  //  defined(_POSIX_SOURCE)		1003.1-1988
   531  //  _POSIX_C_SOURCE == 1L		1003.1-1990
   532  //  _POSIX_C_SOURCE == 2L		1003.2-1992 C Language Binding Option
   533  //  _POSIX_C_SOURCE == 199309L		1003.1b-1993
   534  //  _POSIX_C_SOURCE == 199506L		1003.1c-1995, 1003.1i-1995,
   535  //					and the omnibus ISO/IEC 9945-1: 1996
   536  //  _POSIX_C_SOURCE == 200112L		1003.1-2001
   537  //  _POSIX_C_SOURCE == 200809L		1003.1-2008
   538  //
   539  // In addition, the X/Open Portability Guide, which is now the Single UNIX
   540  // Specification, defines a feature-test macro which indicates the version of
   541  // that specification, and which subsumes _POSIX_C_SOURCE.
   542  
   543  // Deal with IEEE Std. 1003.1-1990, in which _POSIX_C_SOURCE == 1L.
   544  
   545  // Deal with IEEE Std. 1003.2-1992, in which _POSIX_C_SOURCE == 2L.
   546  
   547  // Deal with various X/Open Portability Guides and Single UNIX Spec.
   548  
   549  // Deal with all versions of POSIX.  The ordering relative to the tests above is
   550  // important.
   551  
   552  // POSIX C deprecation macros
   553  // Copyright (c) 2010 Apple Inc. All rights reserved.
   554  //
   555  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
   556  //
   557  // This file contains Original Code and/or Modifications of Original Code
   558  // as defined in and that are subject to the Apple Public Source License
   559  // Version 2.0 (the 'License'). You may not use this file except in
   560  // compliance with the License. The rights granted to you under the License
   561  // may not be used to create, or enable the creation or redistribution of,
   562  // unlawful or unlicensed copies of an Apple operating system, or to
   563  // circumvent, violate, or enable the circumvention or violation of, any
   564  // terms of an Apple operating system software license agreement.
   565  //
   566  // Please obtain a copy of the License at
   567  // http://www.opensource.apple.com/apsl/ and read it before using this file.
   568  //
   569  // The Original Code and all software distributed under the License are
   570  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
   571  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
   572  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
   573  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
   574  // Please see the License for the specific language governing rights and
   575  // limitations under the License.
   576  //
   577  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
   578  
   579  // Set a single macro which will always be defined and can be used to determine
   580  // the appropriate namespace.  For POSIX, these values will correspond to
   581  // _POSIX_C_SOURCE value.  Currently there are two additional levels corresponding
   582  // to ANSI (_ANSI_SOURCE) and Darwin extensions (_DARWIN_C_SOURCE)
   583  
   584  // If the developer has neither requested a strict language mode nor a version
   585  // of POSIX, turn on functionality provided by __STDC_WANT_LIB_EXT1__ as part
   586  // of __DARWIN_C_FULL.
   587  
   588  // long long is not supported in c89 (__STRICT_ANSI__), but g++ -ansi and
   589  // c99 still want long longs.  While not perfect, we allow long longs for
   590  // g++.
   591  
   592  // ****************************************
   593  //
   594  //  Public darwin-specific feature macros
   595  //
   596  
   597  // _DARWIN_FEATURE_64_BIT_INODE indicates that the ino_t type is 64-bit, and
   598  // structures modified for 64-bit inodes (like struct stat) will be used.
   599  
   600  // _DARWIN_FEATURE_64_ONLY_BIT_INODE indicates that the ino_t type may only
   601  // be 64-bit; there is no support for 32-bit ino_t when this macro is defined
   602  // (and non-zero).  There is no struct stat64 either, as the regular
   603  // struct stat will already be the 64-bit version.
   604  
   605  // _DARWIN_FEATURE_ONLY_VERS_1050 indicates that only those APIs updated
   606  // in 10.5 exists; no pre-10.5 variants are available.
   607  
   608  // _DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE indicates only UNIX conforming API
   609  // are available (the legacy BSD APIs are not available)
   610  
   611  // _DARWIN_FEATURE_UNIX_CONFORMANCE indicates whether UNIX conformance is on,
   612  // and specifies the conformance level (3 is SUSv3)
   613  
   614  // This macro casts away the qualifier from the variable
   615  //
   616  // Note: use at your own risk, removing qualifiers can result in
   617  // catastrophic run-time failures.
   618  
   619  // __XNU_PRIVATE_EXTERN is a linkage decoration indicating that a symbol can be
   620  // used from other compilation units, but not other libraries or executables.
   621  
   622  // Architecture validation for current SDK
   623  
   624  // Similar to OS_ENUM/OS_CLOSED_ENUM/OS_OPTIONS/OS_CLOSED_OPTIONS
   625  //
   626  // This provides more advanced type checking on compilers supporting
   627  // the proper extensions, even in C.
   628  
   629  // Copyright (c) 2000-2006 Apple Computer, Inc. All rights reserved.
   630  //
   631  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
   632  //
   633  // This file contains Original Code and/or Modifications of Original Code
   634  // as defined in and that are subject to the Apple Public Source License
   635  // Version 2.0 (the 'License'). You may not use this file except in
   636  // compliance with the License. The rights granted to you under the License
   637  // may not be used to create, or enable the creation or redistribution of,
   638  // unlawful or unlicensed copies of an Apple operating system, or to
   639  // circumvent, violate, or enable the circumvention or violation of, any
   640  // terms of an Apple operating system software license agreement.
   641  //
   642  // Please obtain a copy of the License at
   643  // http://www.opensource.apple.com/apsl/ and read it before using this file.
   644  //
   645  // The Original Code and all software distributed under the License are
   646  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
   647  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
   648  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
   649  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
   650  // Please see the License for the specific language governing rights and
   651  // limitations under the License.
   652  //
   653  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
   654  // Copyright (c) 1997 Apple Computer, Inc. All Rights Reserved
   655  // Copyright (c) 1988, 1989, 1993, 1994
   656  //	The Regents of the University of California.  All rights reserved.
   657  //
   658  // Redistribution and use in source and binary forms, with or without
   659  // modification, are permitted provided that the following conditions
   660  // are met:
   661  // 1. Redistributions of source code must retain the above copyright
   662  //    notice, this list of conditions and the following disclaimer.
   663  // 2. Redistributions in binary form must reproduce the above copyright
   664  //    notice, this list of conditions and the following disclaimer in the
   665  //    documentation and/or other materials provided with the distribution.
   666  // 3. All advertising materials mentioning features or use of this software
   667  //    must display the following acknowledgement:
   668  //      This product includes software developed by the University of
   669  //      California, Berkeley and its contributors.
   670  // 4. Neither the name of the University nor the names of its contributors
   671  //    may be used to endorse or promote products derived from this software
   672  //    without specific prior written permission.
   673  //
   674  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
   675  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   676  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   677  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
   678  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   679  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   680  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   681  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   682  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   683  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   684  // SUCH DAMAGE.
   685  //
   686  //	@(#)termios.h	8.3 (Berkeley) 3/28/94
   687  
   688  // Copyright (c) 2000-2018 Apple Inc. All rights reserved.
   689  //
   690  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
   691  //
   692  // This file contains Original Code and/or Modifications of Original Code
   693  // as defined in and that are subject to the Apple Public Source License
   694  // Version 2.0 (the 'License'). You may not use this file except in
   695  // compliance with the License. The rights granted to you under the License
   696  // may not be used to create, or enable the creation or redistribution of,
   697  // unlawful or unlicensed copies of an Apple operating system, or to
   698  // circumvent, violate, or enable the circumvention or violation of, any
   699  // terms of an Apple operating system software license agreement.
   700  //
   701  // Please obtain a copy of the License at
   702  // http://www.opensource.apple.com/apsl/ and read it before using this file.
   703  //
   704  // The Original Code and all software distributed under the License are
   705  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
   706  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
   707  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
   708  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
   709  // Please see the License for the specific language governing rights and
   710  // limitations under the License.
   711  //
   712  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
   713  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
   714  // Copyright (c) 1991, 1993
   715  //	The Regents of the University of California.  All rights reserved.
   716  //
   717  // This code is derived from software contributed to Berkeley by
   718  // Berkeley Software Design, Inc.
   719  //
   720  // Redistribution and use in source and binary forms, with or without
   721  // modification, are permitted provided that the following conditions
   722  // are met:
   723  // 1. Redistributions of source code must retain the above copyright
   724  //    notice, this list of conditions and the following disclaimer.
   725  // 2. Redistributions in binary form must reproduce the above copyright
   726  //    notice, this list of conditions and the following disclaimer in the
   727  //    documentation and/or other materials provided with the distribution.
   728  // 3. All advertising materials mentioning features or use of this software
   729  //    must display the following acknowledgement:
   730  //	This product includes software developed by the University of
   731  //	California, Berkeley and its contributors.
   732  // 4. Neither the name of the University nor the names of its contributors
   733  //    may be used to endorse or promote products derived from this software
   734  //    without specific prior written permission.
   735  //
   736  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
   737  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   738  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   739  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
   740  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   741  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   742  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   743  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   744  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   745  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   746  // SUCH DAMAGE.
   747  //
   748  //	@(#)cdefs.h	8.8 (Berkeley) 1/9/95
   749  
   750  // Special Control Characters
   751  //
   752  // Index into c_cc[] character array.
   753  //
   754  //	Name	     Subscript	Enabled by
   755  //			7	   spare 1
   756  //			19	   spare 2
   757  
   758  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
   759  //
   760  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
   761  //
   762  // This file contains Original Code and/or Modifications of Original Code
   763  // as defined in and that are subject to the Apple Public Source License
   764  // Version 2.0 (the 'License'). You may not use this file except in
   765  // compliance with the License. The rights granted to you under the License
   766  // may not be used to create, or enable the creation or redistribution of,
   767  // unlawful or unlicensed copies of an Apple operating system, or to
   768  // circumvent, violate, or enable the circumvention or violation of, any
   769  // terms of an Apple operating system software license agreement.
   770  //
   771  // Please obtain a copy of the License at
   772  // http://www.opensource.apple.com/apsl/ and read it before using this file.
   773  //
   774  // The Original Code and all software distributed under the License are
   775  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
   776  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
   777  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
   778  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
   779  // Please see the License for the specific language governing rights and
   780  // limitations under the License.
   781  //
   782  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
   783  
   784  // Input flags - software input processing
   785  
   786  // Output flags - software output processing
   787  // The following block of features is unimplemented.  Use of these flags in
   788  // programs will currently result in unexpected behaviour.
   789  //
   790  // - Begin unimplemented features
   791  // These manifest constants have the same names as those in the header
   792  // <sys/ioctl_compat.h>, so you are not permitted to have both definitions
   793  // in scope simultaneously in the same compilation unit.  Nevertheless,
   794  // they are required to be in scope when _POSIX_C_SOURCE is requested;
   795  // this means that including the <sys/ioctl_compat.h> header before this
   796  // one when _POSIX_C_SOURCE is in scope will result in redefintions.  We
   797  // attempt to maintain these as the same values so as to avoid this being
   798  // an outright error in most compilers.
   799  // not in sys/ioctl_compat.h, use OXTABS value
   800  // + End unimplemented features
   801  
   802  // Control flags - hardware control of terminal
   803  
   804  // "Local" flags - dumping ground for other state
   805  //
   806  // Warning: some flags in this structure begin with
   807  // the letter "I" and look like they belong in the
   808  // input flag.
   809  
   810  type Tcflag_t = uint64 /* termios.h:263:25 */
   811  type Cc_t = uint8      /* termios.h:264:25 */
   812  type Speed_t = uint64  /* termios.h:265:25 */
   813  
   814  type Termios = struct {
   815  	Fc_iflag     Tcflag_t
   816  	Fc_oflag     Tcflag_t
   817  	Fc_cflag     Tcflag_t
   818  	Fc_lflag     Tcflag_t
   819  	Fc_cc        [20]Cc_t
   820  	F__ccgo_pad1 [4]byte
   821  	Fc_ispeed    Speed_t
   822  	Fc_ospeed    Speed_t
   823  } /* termios.h:267:1 */
   824  
   825  // Include tty ioctl's that aren't just for backwards compatibility
   826  // with the old tty driver.  These ioctl definitions were previously
   827  // in <sys/ioctl.h>.
   828  // Copyright (c) 2000-2002 Apple Computer, Inc. All rights reserved.
   829  //
   830  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
   831  //
   832  // This file contains Original Code and/or Modifications of Original Code
   833  // as defined in and that are subject to the Apple Public Source License
   834  // Version 2.0 (the 'License'). You may not use this file except in
   835  // compliance with the License. The rights granted to you under the License
   836  // may not be used to create, or enable the creation or redistribution of,
   837  // unlawful or unlicensed copies of an Apple operating system, or to
   838  // circumvent, violate, or enable the circumvention or violation of, any
   839  // terms of an Apple operating system software license agreement.
   840  //
   841  // Please obtain a copy of the License at
   842  // http://www.opensource.apple.com/apsl/ and read it before using this file.
   843  //
   844  // The Original Code and all software distributed under the License are
   845  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
   846  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
   847  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
   848  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
   849  // Please see the License for the specific language governing rights and
   850  // limitations under the License.
   851  //
   852  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
   853  // Copyright (c) 1997 Apple Computer, Inc. All Rights Reserved
   854  // -
   855  // Copyright (c) 1982, 1986, 1990, 1993, 1994
   856  //	The Regents of the University of California.  All rights reserved.
   857  // (c) UNIX System Laboratories, Inc.
   858  // All or some portions of this file are derived from material licensed
   859  // to the University of California by American Telephone and Telegraph
   860  // Co. or Unix System Laboratories, Inc. and are reproduced herein with
   861  // the permission of UNIX System Laboratories, Inc.
   862  //
   863  // Redistribution and use in source and binary forms, with or without
   864  // modification, are permitted provided that the following conditions
   865  // are met:
   866  // 1. Redistributions of source code must retain the above copyright
   867  //    notice, this list of conditions and the following disclaimer.
   868  // 2. Redistributions in binary form must reproduce the above copyright
   869  //    notice, this list of conditions and the following disclaimer in the
   870  //    documentation and/or other materials provided with the distribution.
   871  // 3. All advertising materials mentioning features or use of this software
   872  //    must display the following acknowledgement:
   873  //      This product includes software developed by the University of
   874  //      California, Berkeley and its contributors.
   875  // 4. Neither the name of the University nor the names of its contributors
   876  //    may be used to endorse or promote products derived from this software
   877  //    without specific prior written permission.
   878  //
   879  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
   880  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   881  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   882  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
   883  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   884  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   885  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   886  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   887  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   888  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   889  // SUCH DAMAGE.
   890  //
   891  //	@(#)ttycom.h	8.1 (Berkeley) 3/28/94
   892  
   893  // Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
   894  //
   895  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
   896  //
   897  // This file contains Original Code and/or Modifications of Original Code
   898  // as defined in and that are subject to the Apple Public Source License
   899  // Version 2.0 (the 'License'). You may not use this file except in
   900  // compliance with the License. The rights granted to you under the License
   901  // may not be used to create, or enable the creation or redistribution of,
   902  // unlawful or unlicensed copies of an Apple operating system, or to
   903  // circumvent, violate, or enable the circumvention or violation of, any
   904  // terms of an Apple operating system software license agreement.
   905  //
   906  // Please obtain a copy of the License at
   907  // http://www.opensource.apple.com/apsl/ and read it before using this file.
   908  //
   909  // The Original Code and all software distributed under the License are
   910  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
   911  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
   912  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
   913  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
   914  // Please see the License for the specific language governing rights and
   915  // limitations under the License.
   916  //
   917  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
   918  // Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved
   919  // -
   920  // Copyright (c) 1982, 1986, 1990, 1993, 1994
   921  //	The Regents of the University of California.  All rights reserved.
   922  //
   923  // Redistribution and use in source and binary forms, with or without
   924  // modification, are permitted provided that the following conditions
   925  // are met:
   926  // 1. Redistributions of source code must retain the above copyright
   927  //    notice, this list of conditions and the following disclaimer.
   928  // 2. Redistributions in binary form must reproduce the above copyright
   929  //    notice, this list of conditions and the following disclaimer in the
   930  //    documentation and/or other materials provided with the distribution.
   931  // 3. All advertising materials mentioning features or use of this software
   932  //    must display the following acknowledgement:
   933  //	This product includes software developed by the University of
   934  //	California, Berkeley and its contributors.
   935  // 4. Neither the name of the University nor the names of its contributors
   936  //    may be used to endorse or promote products derived from this software
   937  //    without specific prior written permission.
   938  //
   939  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
   940  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   941  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   942  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
   943  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   944  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   945  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   946  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   947  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   948  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   949  // SUCH DAMAGE.
   950  //
   951  //	@(#)ioccom.h	8.2 (Berkeley) 3/28/94
   952  
   953  // Copyright (c) 2003-2007 Apple Inc. All rights reserved.
   954  //
   955  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
   956  //
   957  // This file contains Original Code and/or Modifications of Original Code
   958  // as defined in and that are subject to the Apple Public Source License
   959  // Version 2.0 (the 'License'). You may not use this file except in
   960  // compliance with the License. The rights granted to you under the License
   961  // may not be used to create, or enable the creation or redistribution of,
   962  // unlawful or unlicensed copies of an Apple operating system, or to
   963  // circumvent, violate, or enable the circumvention or violation of, any
   964  // terms of an Apple operating system software license agreement.
   965  //
   966  // Please obtain a copy of the License at
   967  // http://www.opensource.apple.com/apsl/ and read it before using this file.
   968  //
   969  // The Original Code and all software distributed under the License are
   970  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
   971  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
   972  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
   973  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
   974  // Please see the License for the specific language governing rights and
   975  // limitations under the License.
   976  //
   977  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
   978  
   979  // Copyright (c) 2000-2018 Apple Inc. All rights reserved.
   980  //
   981  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
   982  //
   983  // This file contains Original Code and/or Modifications of Original Code
   984  // as defined in and that are subject to the Apple Public Source License
   985  // Version 2.0 (the 'License'). You may not use this file except in
   986  // compliance with the License. The rights granted to you under the License
   987  // may not be used to create, or enable the creation or redistribution of,
   988  // unlawful or unlicensed copies of an Apple operating system, or to
   989  // circumvent, violate, or enable the circumvention or violation of, any
   990  // terms of an Apple operating system software license agreement.
   991  //
   992  // Please obtain a copy of the License at
   993  // http://www.opensource.apple.com/apsl/ and read it before using this file.
   994  //
   995  // The Original Code and all software distributed under the License are
   996  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
   997  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
   998  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
   999  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1000  // Please see the License for the specific language governing rights and
  1001  // limitations under the License.
  1002  //
  1003  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  1004  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
  1005  // Copyright (c) 1991, 1993
  1006  //	The Regents of the University of California.  All rights reserved.
  1007  //
  1008  // This code is derived from software contributed to Berkeley by
  1009  // Berkeley Software Design, Inc.
  1010  //
  1011  // Redistribution and use in source and binary forms, with or without
  1012  // modification, are permitted provided that the following conditions
  1013  // are met:
  1014  // 1. Redistributions of source code must retain the above copyright
  1015  //    notice, this list of conditions and the following disclaimer.
  1016  // 2. Redistributions in binary form must reproduce the above copyright
  1017  //    notice, this list of conditions and the following disclaimer in the
  1018  //    documentation and/or other materials provided with the distribution.
  1019  // 3. All advertising materials mentioning features or use of this software
  1020  //    must display the following acknowledgement:
  1021  //	This product includes software developed by the University of
  1022  //	California, Berkeley and its contributors.
  1023  // 4. Neither the name of the University nor the names of its contributors
  1024  //    may be used to endorse or promote products derived from this software
  1025  //    without specific prior written permission.
  1026  //
  1027  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  1028  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  1029  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  1030  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  1031  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  1032  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  1033  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  1034  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  1035  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  1036  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  1037  // SUCH DAMAGE.
  1038  //
  1039  //	@(#)cdefs.h	8.8 (Berkeley) 1/9/95
  1040  
  1041  // Copyright (c) 2003-2007 Apple Inc. All rights reserved.
  1042  //
  1043  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  1044  //
  1045  // This file contains Original Code and/or Modifications of Original Code
  1046  // as defined in and that are subject to the Apple Public Source License
  1047  // Version 2.0 (the 'License'). You may not use this file except in
  1048  // compliance with the License. The rights granted to you under the License
  1049  // may not be used to create, or enable the creation or redistribution of,
  1050  // unlawful or unlicensed copies of an Apple operating system, or to
  1051  // circumvent, violate, or enable the circumvention or violation of, any
  1052  // terms of an Apple operating system software license agreement.
  1053  //
  1054  // Please obtain a copy of the License at
  1055  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  1056  //
  1057  // The Original Code and all software distributed under the License are
  1058  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1059  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1060  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1061  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1062  // Please see the License for the specific language governing rights and
  1063  // limitations under the License.
  1064  //
  1065  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  1066  
  1067  // Copyright (c) 2000-2003 Apple Computer, Inc. All rights reserved.
  1068  //
  1069  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  1070  //
  1071  // This file contains Original Code and/or Modifications of Original Code
  1072  // as defined in and that are subject to the Apple Public Source License
  1073  // Version 2.0 (the 'License'). You may not use this file except in
  1074  // compliance with the License. The rights granted to you under the License
  1075  // may not be used to create, or enable the creation or redistribution of,
  1076  // unlawful or unlicensed copies of an Apple operating system, or to
  1077  // circumvent, violate, or enable the circumvention or violation of, any
  1078  // terms of an Apple operating system software license agreement.
  1079  //
  1080  // Please obtain a copy of the License at
  1081  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  1082  //
  1083  // The Original Code and all software distributed under the License are
  1084  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1085  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1086  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1087  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1088  // Please see the License for the specific language governing rights and
  1089  // limitations under the License.
  1090  //
  1091  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  1092  
  1093  // This header file contains integer types.  It's intended to also contain
  1094  // flotaing point and other arithmetic types, as needed, later.
  1095  
  1096  type X__int8_t = int8     /* _types.h:37:33 */
  1097  type X__uint8_t = uint8   /* _types.h:41:33 */
  1098  type X__int16_t = int16   /* _types.h:42:33 */
  1099  type X__uint16_t = uint16 /* _types.h:43:33 */
  1100  type X__int32_t = int32   /* _types.h:44:33 */
  1101  type X__uint32_t = uint32 /* _types.h:45:33 */
  1102  type X__int64_t = int64   /* _types.h:46:33 */
  1103  type X__uint64_t = uint64 /* _types.h:47:33 */
  1104  
  1105  type X__darwin_intptr_t = int64   /* _types.h:49:33 */
  1106  type X__darwin_natural_t = uint32 /* _types.h:50:33 */
  1107  
  1108  // The rune type below is declared to be an ``int'' instead of the more natural
  1109  // ``unsigned long'' or ``long''.  Two things are happening here.  It is not
  1110  // unsigned so that EOF (-1) can be naturally assigned to it and used.  Also,
  1111  // it looks like 10646 will be a 31 bit standard.  This means that if your
  1112  // ints cannot hold 32 bits, you will be in trouble.  The reason an int was
  1113  // chosen over a long is that the is*() and to*() routines take ints (says
  1114  // ANSI C), but they use __darwin_ct_rune_t instead of int.  By changing it
  1115  // here, you lose a bit of ANSI conformance, but your programs will still
  1116  // work.
  1117  //
  1118  // NOTE: rune_t is not covered by ANSI nor other standards, and should not
  1119  // be instantiated outside of lib/libc/locale.  Use wchar_t.  wchar_t and
  1120  // rune_t must be the same type.  Also wint_t must be no narrower than
  1121  // wchar_t, and should also be able to hold all members of the largest
  1122  // character set plus one extra value (WEOF). wint_t must be at least 16 bits.
  1123  
  1124  type X__darwin_ct_rune_t = int32 /* _types.h:70:33 */ // ct_rune_t
  1125  
  1126  // mbstate_t is an opaque object to keep conversion state, during multibyte
  1127  // stream conversions.  The content must not be referenced by user programs.
  1128  type X__mbstate_t = struct {
  1129  	F__ccgo_pad1 [0]uint64
  1130  	F__mbstate8  [128]int8
  1131  } /* _types.h:79:3 */
  1132  
  1133  type X__darwin_mbstate_t = X__mbstate_t /* _types.h:81:33 */ // mbstate_t
  1134  
  1135  type X__darwin_ptrdiff_t = int64 /* _types.h:84:33 */ // ptr1 - ptr2
  1136  
  1137  type X__darwin_size_t = uint64 /* _types.h:92:33 */ // sizeof()
  1138  
  1139  type X__darwin_va_list = X__builtin_va_list /* _types.h:98:33 */ // va_list
  1140  
  1141  type X__darwin_wchar_t = int32 /* _types.h:104:33 */ // wchar_t
  1142  
  1143  type X__darwin_rune_t = X__darwin_wchar_t /* _types.h:109:33 */ // rune_t
  1144  
  1145  type X__darwin_wint_t = int32 /* _types.h:112:33 */ // wint_t
  1146  
  1147  type X__darwin_clock_t = uint64        /* _types.h:117:33 */ // clock()
  1148  type X__darwin_socklen_t = X__uint32_t /* _types.h:118:33 */ // socklen_t (duh)
  1149  type X__darwin_ssize_t = int64         /* _types.h:119:33 */ // byte count or error
  1150  type X__darwin_time_t = int64          /* _types.h:120:33 */ // time()
  1151  
  1152  // Type definitions; takes common type definitions that must be used
  1153  // in multiple header files due to [XSI], removes them from the system
  1154  // space, and puts them in the implementation space.
  1155  
  1156  type X__darwin_blkcnt_t = X__int64_t                    /* _types.h:55:25 */ // total blocks
  1157  type X__darwin_blksize_t = X__int32_t                   /* _types.h:56:25 */ // preferred block size
  1158  type X__darwin_dev_t = X__int32_t                       /* _types.h:57:25 */ // dev_t
  1159  type X__darwin_fsblkcnt_t = uint32                      /* _types.h:58:25 */ // Used by statvfs and fstatvfs
  1160  type X__darwin_fsfilcnt_t = uint32                      /* _types.h:59:25 */ // Used by statvfs and fstatvfs
  1161  type X__darwin_gid_t = X__uint32_t                      /* _types.h:60:25 */ // [???] process and group IDs
  1162  type X__darwin_id_t = X__uint32_t                       /* _types.h:61:25 */ // [XSI] pid_t, uid_t, or gid_t
  1163  type X__darwin_ino64_t = X__uint64_t                    /* _types.h:62:25 */ // [???] Used for 64 bit inodes
  1164  type X__darwin_ino_t = X__darwin_ino64_t                /* _types.h:64:26 */ // [???] Used for inodes
  1165  type X__darwin_mach_port_name_t = X__darwin_natural_t   /* _types.h:68:28 */ // Used by mach
  1166  type X__darwin_mach_port_t = X__darwin_mach_port_name_t /* _types.h:69:35 */ // Used by mach
  1167  type X__darwin_mode_t = X__uint16_t                     /* _types.h:70:25 */ // [???] Some file attributes
  1168  type X__darwin_off_t = X__int64_t                       /* _types.h:71:25 */ // [???] Used for file sizes
  1169  type X__darwin_pid_t = X__int32_t                       /* _types.h:72:25 */ // [???] process and group IDs
  1170  type X__darwin_sigset_t = X__uint32_t                   /* _types.h:73:25 */ // [???] signal set
  1171  type X__darwin_suseconds_t = X__int32_t                 /* _types.h:74:25 */ // [???] microseconds
  1172  type X__darwin_uid_t = X__uint32_t                      /* _types.h:75:25 */ // [???] user IDs
  1173  type X__darwin_useconds_t = X__uint32_t                 /* _types.h:76:25 */ // [???] microseconds
  1174  type X__darwin_uuid_t = [16]uint8                       /* _types.h:77:25 */
  1175  type X__darwin_uuid_string_t = [37]int8                 /* _types.h:78:17 */
  1176  
  1177  // Copyright (c) 2003-2013 Apple Inc. All rights reserved.
  1178  //
  1179  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  1180  //
  1181  // This file contains Original Code and/or Modifications of Original Code
  1182  // as defined in and that are subject to the Apple Public Source License
  1183  // Version 2.0 (the 'License'). You may not use this file except in
  1184  // compliance with the License. The rights granted to you under the License
  1185  // may not be used to create, or enable the creation or redistribution of,
  1186  // unlawful or unlicensed copies of an Apple operating system, or to
  1187  // circumvent, violate, or enable the circumvention or violation of, any
  1188  // terms of an Apple operating system software license agreement.
  1189  //
  1190  // Please obtain a copy of the License at
  1191  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  1192  //
  1193  // The Original Code and all software distributed under the License are
  1194  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1195  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1196  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1197  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1198  // Please see the License for the specific language governing rights and
  1199  // limitations under the License.
  1200  //
  1201  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  1202  
  1203  // Copyright (c) 2000-2018 Apple Inc. All rights reserved.
  1204  //
  1205  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  1206  //
  1207  // This file contains Original Code and/or Modifications of Original Code
  1208  // as defined in and that are subject to the Apple Public Source License
  1209  // Version 2.0 (the 'License'). You may not use this file except in
  1210  // compliance with the License. The rights granted to you under the License
  1211  // may not be used to create, or enable the creation or redistribution of,
  1212  // unlawful or unlicensed copies of an Apple operating system, or to
  1213  // circumvent, violate, or enable the circumvention or violation of, any
  1214  // terms of an Apple operating system software license agreement.
  1215  //
  1216  // Please obtain a copy of the License at
  1217  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  1218  //
  1219  // The Original Code and all software distributed under the License are
  1220  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1221  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1222  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1223  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1224  // Please see the License for the specific language governing rights and
  1225  // limitations under the License.
  1226  //
  1227  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  1228  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
  1229  // Copyright (c) 1991, 1993
  1230  //	The Regents of the University of California.  All rights reserved.
  1231  //
  1232  // This code is derived from software contributed to Berkeley by
  1233  // Berkeley Software Design, Inc.
  1234  //
  1235  // Redistribution and use in source and binary forms, with or without
  1236  // modification, are permitted provided that the following conditions
  1237  // are met:
  1238  // 1. Redistributions of source code must retain the above copyright
  1239  //    notice, this list of conditions and the following disclaimer.
  1240  // 2. Redistributions in binary form must reproduce the above copyright
  1241  //    notice, this list of conditions and the following disclaimer in the
  1242  //    documentation and/or other materials provided with the distribution.
  1243  // 3. All advertising materials mentioning features or use of this software
  1244  //    must display the following acknowledgement:
  1245  //	This product includes software developed by the University of
  1246  //	California, Berkeley and its contributors.
  1247  // 4. Neither the name of the University nor the names of its contributors
  1248  //    may be used to endorse or promote products derived from this software
  1249  //    without specific prior written permission.
  1250  //
  1251  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  1252  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  1253  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  1254  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  1255  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  1256  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  1257  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  1258  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  1259  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  1260  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  1261  // SUCH DAMAGE.
  1262  //
  1263  //	@(#)cdefs.h	8.8 (Berkeley) 1/9/95
  1264  
  1265  // pthread opaque structures
  1266  
  1267  type X__darwin_pthread_handler_rec = struct {
  1268  	F__routine uintptr
  1269  	F__arg     uintptr
  1270  	F__next    uintptr
  1271  } /* _pthread_types.h:57:1 */
  1272  
  1273  type X_opaque_pthread_attr_t = struct {
  1274  	F__sig    int64
  1275  	F__opaque [56]int8
  1276  } /* _pthread_types.h:63:1 */
  1277  
  1278  type X_opaque_pthread_cond_t = struct {
  1279  	F__sig    int64
  1280  	F__opaque [40]int8
  1281  } /* _pthread_types.h:68:1 */
  1282  
  1283  type X_opaque_pthread_condattr_t = struct {
  1284  	F__sig    int64
  1285  	F__opaque [8]int8
  1286  } /* _pthread_types.h:73:1 */
  1287  
  1288  type X_opaque_pthread_mutex_t = struct {
  1289  	F__sig    int64
  1290  	F__opaque [56]int8
  1291  } /* _pthread_types.h:78:1 */
  1292  
  1293  type X_opaque_pthread_mutexattr_t = struct {
  1294  	F__sig    int64
  1295  	F__opaque [8]int8
  1296  } /* _pthread_types.h:83:1 */
  1297  
  1298  type X_opaque_pthread_once_t = struct {
  1299  	F__sig    int64
  1300  	F__opaque [8]int8
  1301  } /* _pthread_types.h:88:1 */
  1302  
  1303  type X_opaque_pthread_rwlock_t = struct {
  1304  	F__sig    int64
  1305  	F__opaque [192]int8
  1306  } /* _pthread_types.h:93:1 */
  1307  
  1308  type X_opaque_pthread_rwlockattr_t = struct {
  1309  	F__sig    int64
  1310  	F__opaque [16]int8
  1311  } /* _pthread_types.h:98:1 */
  1312  
  1313  type X_opaque_pthread_t = struct {
  1314  	F__sig           int64
  1315  	F__cleanup_stack uintptr
  1316  	F__opaque        [8176]int8
  1317  } /* _pthread_types.h:103:1 */
  1318  
  1319  type X__darwin_pthread_attr_t = X_opaque_pthread_attr_t             /* _pthread_types.h:109:39 */
  1320  type X__darwin_pthread_cond_t = X_opaque_pthread_cond_t             /* _pthread_types.h:110:39 */
  1321  type X__darwin_pthread_condattr_t = X_opaque_pthread_condattr_t     /* _pthread_types.h:111:43 */
  1322  type X__darwin_pthread_key_t = uint64                               /* _pthread_types.h:112:23 */
  1323  type X__darwin_pthread_mutex_t = X_opaque_pthread_mutex_t           /* _pthread_types.h:113:40 */
  1324  type X__darwin_pthread_mutexattr_t = X_opaque_pthread_mutexattr_t   /* _pthread_types.h:114:44 */
  1325  type X__darwin_pthread_once_t = X_opaque_pthread_once_t             /* _pthread_types.h:115:39 */
  1326  type X__darwin_pthread_rwlock_t = X_opaque_pthread_rwlock_t         /* _pthread_types.h:116:41 */
  1327  type X__darwin_pthread_rwlockattr_t = X_opaque_pthread_rwlockattr_t /* _pthread_types.h:117:45 */
  1328  type X__darwin_pthread_t = uintptr                                  /* _pthread_types.h:118:34 */
  1329  
  1330  // Ioctl's have the command encoded in the lower word, and the size of
  1331  // any in or out parameters in the upper word.  The high 3 bits of the
  1332  // upper word are used to encode the in/out status of the parameter.
  1333  
  1334  // no parameters
  1335  // copy parameters out
  1336  // copy parameters in
  1337  // copy paramters in and out
  1338  // mask for IN/OUT/VOID
  1339  
  1340  // this should be _IORW, but stdio got there first
  1341  
  1342  // Tty ioctl's except for those supported only for backwards compatibility
  1343  // with the old tty driver.
  1344  
  1345  // Window/terminal size structure.  This information is stored by the kernel
  1346  // in order to provide a consistent interface, but is not used by the kernel.
  1347  type Winsize = struct {
  1348  	Fws_row    uint16
  1349  	Fws_col    uint16
  1350  	Fws_xpixel uint16
  1351  	Fws_ypixel uint16
  1352  } /* ttycom.h:82:1 */
  1353  
  1354  // 8-10 compat
  1355  // 15 unused
  1356  // 17-18 compat
  1357  // 127-124 compat
  1358  // 117-116 compat
  1359  
  1360  // END OF PROTECTED INCLUDE.
  1361  
  1362  // Copyright (c) 2000-2002 Apple Computer, Inc. All rights reserved.
  1363  //
  1364  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  1365  //
  1366  // This file contains Original Code and/or Modifications of Original Code
  1367  // as defined in and that are subject to the Apple Public Source License
  1368  // Version 2.0 (the 'License'). You may not use this file except in
  1369  // compliance with the License. The rights granted to you under the License
  1370  // may not be used to create, or enable the creation or redistribution of,
  1371  // unlawful or unlicensed copies of an Apple operating system, or to
  1372  // circumvent, violate, or enable the circumvention or violation of, any
  1373  // terms of an Apple operating system software license agreement.
  1374  //
  1375  // Please obtain a copy of the License at
  1376  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  1377  //
  1378  // The Original Code and all software distributed under the License are
  1379  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1380  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1381  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1382  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1383  // Please see the License for the specific language governing rights and
  1384  // limitations under the License.
  1385  //
  1386  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  1387  // Copyright (c) 1997 Apple Computer, Inc. All Rights Reserved
  1388  // -
  1389  // Copyright (c) 1982, 1986, 1993
  1390  //	The Regents of the University of California.  All rights reserved.
  1391  // (c) UNIX System Laboratories, Inc.
  1392  // All or some portions of this file are derived from material licensed
  1393  // to the University of California by American Telephone and Telegraph
  1394  // Co. or Unix System Laboratories, Inc. and are reproduced herein with
  1395  // the permission of UNIX System Laboratories, Inc.
  1396  //
  1397  // Redistribution and use in source and binary forms, with or without
  1398  // modification, are permitted provided that the following conditions
  1399  // are met:
  1400  // 1. Redistributions of source code must retain the above copyright
  1401  //    notice, this list of conditions and the following disclaimer.
  1402  // 2. Redistributions in binary form must reproduce the above copyright
  1403  //    notice, this list of conditions and the following disclaimer in the
  1404  //    documentation and/or other materials provided with the distribution.
  1405  // 3. All advertising materials mentioning features or use of this software
  1406  //    must display the following acknowledgement:
  1407  //      This product includes software developed by the University of
  1408  //      California, Berkeley and its contributors.
  1409  // 4. Neither the name of the University nor the names of its contributors
  1410  //    may be used to endorse or promote products derived from this software
  1411  //    without specific prior written permission.
  1412  //
  1413  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  1414  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  1415  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  1416  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  1417  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  1418  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  1419  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  1420  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  1421  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  1422  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  1423  // SUCH DAMAGE.
  1424  //
  1425  //	@(#)ttydefaults.h	8.4 (Berkeley) 1/21/94
  1426  
  1427  // System wide defaults for terminal state.
  1428  
  1429  // Defaults on "first" open.
  1430  
  1431  // Control Character Defaults
  1432  // compat
  1433  
  1434  // PROTECTED INCLUSION ENDS HERE
  1435  
  1436  // #define TTYDEFCHARS to include an array of default control characters.
  1437  // Copyright (c) 2004, 2008, 2009 Apple Inc. All rights reserved.
  1438  //
  1439  // @APPLE_LICENSE_HEADER_START@
  1440  //
  1441  // This file contains Original Code and/or Modifications of Original Code
  1442  // as defined in and that are subject to the Apple Public Source License
  1443  // Version 2.0 (the 'License'). You may not use this file except in
  1444  // compliance with the License. Please obtain a copy of the License at
  1445  // http://www.opensource.apple.com/apsl/ and read it before using this
  1446  // file.
  1447  //
  1448  // The Original Code and all software distributed under the License are
  1449  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1450  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1451  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1452  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1453  // Please see the License for the specific language governing rights and
  1454  // limitations under the License.
  1455  //
  1456  // @APPLE_LICENSE_HEADER_END@
  1457  
  1458  // Copyright (c) 2003-2007 Apple Inc. All rights reserved.
  1459  //
  1460  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  1461  //
  1462  // This file contains Original Code and/or Modifications of Original Code
  1463  // as defined in and that are subject to the Apple Public Source License
  1464  // Version 2.0 (the 'License'). You may not use this file except in
  1465  // compliance with the License. The rights granted to you under the License
  1466  // may not be used to create, or enable the creation or redistribution of,
  1467  // unlawful or unlicensed copies of an Apple operating system, or to
  1468  // circumvent, violate, or enable the circumvention or violation of, any
  1469  // terms of an Apple operating system software license agreement.
  1470  //
  1471  // Please obtain a copy of the License at
  1472  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  1473  //
  1474  // The Original Code and all software distributed under the License are
  1475  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1476  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1477  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1478  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1479  // Please see the License for the specific language governing rights and
  1480  // limitations under the License.
  1481  //
  1482  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  1483  
  1484  // Copyright (c) 2003-2007 Apple Inc. All rights reserved.
  1485  //
  1486  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  1487  //
  1488  // This file contains Original Code and/or Modifications of Original Code
  1489  // as defined in and that are subject to the Apple Public Source License
  1490  // Version 2.0 (the 'License'). You may not use this file except in
  1491  // compliance with the License. The rights granted to you under the License
  1492  // may not be used to create, or enable the creation or redistribution of,
  1493  // unlawful or unlicensed copies of an Apple operating system, or to
  1494  // circumvent, violate, or enable the circumvention or violation of, any
  1495  // terms of an Apple operating system software license agreement.
  1496  //
  1497  // Please obtain a copy of the License at
  1498  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  1499  //
  1500  // The Original Code and all software distributed under the License are
  1501  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1502  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1503  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1504  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1505  // Please see the License for the specific language governing rights and
  1506  // limitations under the License.
  1507  //
  1508  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  1509  
  1510  type X__darwin_nl_item = int32        /* _types.h:40:14 */
  1511  type X__darwin_wctrans_t = int32      /* _types.h:41:14 */
  1512  type X__darwin_wctype_t = X__uint32_t /* _types.h:43:20 */
  1513  
  1514  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  1515  //
  1516  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  1517  //
  1518  // This file contains Original Code and/or Modifications of Original Code
  1519  // as defined in and that are subject to the Apple Public Source License
  1520  // Version 2.0 (the 'License'). You may not use this file except in
  1521  // compliance with the License. The rights granted to you under the License
  1522  // may not be used to create, or enable the creation or redistribution of,
  1523  // unlawful or unlicensed copies of an Apple operating system, or to
  1524  // circumvent, violate, or enable the circumvention or violation of, any
  1525  // terms of an Apple operating system software license agreement.
  1526  //
  1527  // Please obtain a copy of the License at
  1528  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  1529  //
  1530  // The Original Code and all software distributed under the License are
  1531  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1532  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1533  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1534  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1535  // Please see the License for the specific language governing rights and
  1536  // limitations under the License.
  1537  //
  1538  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  1539  // Copyright (c) 2003-2007 Apple Inc. All rights reserved.
  1540  //
  1541  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  1542  //
  1543  // This file contains Original Code and/or Modifications of Original Code
  1544  // as defined in and that are subject to the Apple Public Source License
  1545  // Version 2.0 (the 'License'). You may not use this file except in
  1546  // compliance with the License. The rights granted to you under the License
  1547  // may not be used to create, or enable the creation or redistribution of,
  1548  // unlawful or unlicensed copies of an Apple operating system, or to
  1549  // circumvent, violate, or enable the circumvention or violation of, any
  1550  // terms of an Apple operating system software license agreement.
  1551  //
  1552  // Please obtain a copy of the License at
  1553  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  1554  //
  1555  // The Original Code and all software distributed under the License are
  1556  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1557  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1558  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1559  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1560  // Please see the License for the specific language governing rights and
  1561  // limitations under the License.
  1562  //
  1563  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  1564  
  1565  type Pid_t = X__darwin_pid_t /* _pid_t.h:31:31 */
  1566  
  1567  var _ int8 /* gen.c:2:13: */