gtsocial-umbx

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

stdio_netbsd_arm.go (19833B)


      1 // Code generated by 'ccgo stdio/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 stdio/stdio_netbsd_arm.go -pkgname stdio', DO NOT EDIT.
      2 
      3 package stdio
      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 	BUFSIZ                    = 1024      // stdio.h:182:1:
     19 	EOF                       = -1        // stdio.h:183:1:
     20 	FILENAME_MAX              = 1024      // stdio.h:192:1:
     21 	FOPEN_MAX                 = 20        // stdio.h:191:1:
     22 	FPARSELN_UNESCALL         = 0x0f      // stdio.h:411:1:
     23 	FPARSELN_UNESCCOMM        = 0x04      // stdio.h:409:1:
     24 	FPARSELN_UNESCCONT        = 0x02      // stdio.h:408:1:
     25 	FPARSELN_UNESCESC         = 0x01      // stdio.h:407:1:
     26 	FPARSELN_UNESCREST        = 0x08      // stdio.h:410:1:
     27 	L_ctermid                 = 1024      // stdio.h:292:1:
     28 	L_cuserid                 = 9         // stdio.h:293:1:
     29 	L_tmpnam                  = 1024      // stdio.h:198:1:
     30 	P_tmpdir                  = "/tmp/"   // stdio.h:196:1:
     31 	SEEK_CUR                  = 1         // stdio.h:209:1:
     32 	SEEK_END                  = 2         // stdio.h:212:1:
     33 	SEEK_SET                  = 0         // stdio.h:206:1:
     34 	TMP_MAX                   = 308915776 // stdio.h:201:1:
     35 	X_ARM_ARCH_4T             = 0         // cdefs.h:44:1:
     36 	X_ARM_ARCH_5              = 0         // cdefs.h:40:1:
     37 	X_ARM_ARCH_5T             = 0         // cdefs.h:36:1:
     38 	X_ARM_ARCH_6              = 0         // cdefs.h:31:1:
     39 	X_ARM_ARCH_7              = 0         // cdefs.h:20:1:
     40 	X_ARM_ARCH_DWORD_OK       = 0         // cdefs.h:51:1:
     41 	X_ARM_ARCH_T2             = 0         // cdefs.h:24:1:
     42 	X_ARM_CDEFS_H_            = 0         // cdefs.h:4:1:
     43 	X_ARM_INT_TYPES_H_        = 0         // int_types.h:33:1:
     44 	X_FILE_OFFSET_BITS        = 64        // <builtin>:25:1:
     45 	X_FSTDIO                  = 0         // stdio.h:72:1:
     46 	X_IOFBF                   = 0         // stdio.h:178:1:
     47 	X_IOLBF                   = 1         // stdio.h:179:1:
     48 	X_IONBF                   = 2         // stdio.h:180:1:
     49 	X_NETBSD_SOURCE           = 1         // featuretest.h:70:1:
     50 	X_STDIO_H_                = 0         // stdio.h:38:1:
     51 	X_SYS_ANSI_H_             = 0         // ansi.h:33:1:
     52 	X_SYS_CDEFS_ELF_H_        = 0         // cdefs_elf.h:31:1:
     53 	X_SYS_CDEFS_H_            = 0         // cdefs.h:37:1:
     54 	X_SYS_COMMON_ANSI_H_      = 0         // common_ansi.h:33:1:
     55 	X_SYS_COMMON_INT_TYPES_H_ = 0         // common_int_types.h:33:1:
     56 	X_SYS_NULL_H_             = 0         // null.h:9:1:
     57 )
     58 
     59 type Ptrdiff_t = int32 /* <builtin>:3:26 */
     60 
     61 type Size_t = uint32 /* <builtin>:9:23 */
     62 
     63 type Wchar_t = int32 /* <builtin>:15:24 */
     64 
     65 type X__builtin_va_list = uintptr /* <builtin>:46:14 */
     66 type X__float128 = float64        /* <builtin>:47:21 */
     67 
     68 // return true if value 'a' fits in type 't'
     69 
     70 //	$NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
     71 
     72 // Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
     73 // Public domain.
     74 //
     75 // NOTE: Do not protect this header against multiple inclusion.  Doing
     76 // so can have subtle side-effects due to header file inclusion order
     77 // and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE.  Instead,
     78 // protect each CPP macro that we want to supply.
     79 
     80 // Feature-test macros are defined by several standards, and allow an
     81 // application to specify what symbols they want the system headers to
     82 // expose, and hence what standard they want them to conform to.
     83 // There are two classes of feature-test macros.  The first class
     84 // specify complete standards, and if one of these is defined, header
     85 // files will try to conform to the relevant standard.  They are:
     86 //
     87 // ANSI macros:
     88 // _ANSI_SOURCE			ANSI C89
     89 //
     90 // POSIX macros:
     91 // _POSIX_SOURCE == 1		IEEE Std 1003.1 (version?)
     92 // _POSIX_C_SOURCE == 1		IEEE Std 1003.1-1990
     93 // _POSIX_C_SOURCE == 2		IEEE Std 1003.2-1992
     94 // _POSIX_C_SOURCE == 199309L	IEEE Std 1003.1b-1993
     95 // _POSIX_C_SOURCE == 199506L	ISO/IEC 9945-1:1996
     96 // _POSIX_C_SOURCE == 200112L	IEEE Std 1003.1-2001
     97 // _POSIX_C_SOURCE == 200809L   IEEE Std 1003.1-2008
     98 //
     99 // X/Open macros:
    100 // _XOPEN_SOURCE		System Interfaces and Headers, Issue 4, Ver 2
    101 // _XOPEN_SOURCE_EXTENDED == 1	XSH4.2 UNIX extensions
    102 // _XOPEN_SOURCE == 500		System Interfaces and Headers, Issue 5
    103 // _XOPEN_SOURCE == 520		Networking Services (XNS), Issue 5.2
    104 // _XOPEN_SOURCE == 600		IEEE Std 1003.1-2001, XSI option
    105 // _XOPEN_SOURCE == 700		IEEE Std 1003.1-2008, XSI option
    106 //
    107 // NetBSD macros:
    108 // _NETBSD_SOURCE == 1		Make all NetBSD features available.
    109 //
    110 // If more than one of these "major" feature-test macros is defined,
    111 // then the set of facilities provided (and namespace used) is the
    112 // union of that specified by the relevant standards, and in case of
    113 // conflict, the earlier standard in the above list has precedence (so
    114 // if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
    115 // of rename() that's used is the POSIX one).  If none of the "major"
    116 // feature-test macros is defined, _NETBSD_SOURCE is assumed.
    117 //
    118 // There are also "minor" feature-test macros, which enable extra
    119 // functionality in addition to some base standard.  They should be
    120 // defined along with one of the "major" macros.  The "minor" macros
    121 // are:
    122 //
    123 // _REENTRANT
    124 // _ISOC99_SOURCE
    125 // _ISOC11_SOURCE
    126 // _LARGEFILE_SOURCE		Large File Support
    127 //		<http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
    128 
    129 //	$NetBSD: ansi.h,v 1.14 2011/07/17 20:54:54 joerg Exp $
    130 
    131 // -
    132 // Copyright (c) 2000, 2001, 2002 The NetBSD Foundation, Inc.
    133 // All rights reserved.
    134 //
    135 // This code is derived from software contributed to The NetBSD Foundation
    136 // by Jun-ichiro itojun Hagino and by Klaus Klein.
    137 //
    138 // Redistribution and use in source and binary forms, with or without
    139 // modification, are permitted provided that the following conditions
    140 // are met:
    141 // 1. Redistributions of source code must retain the above copyright
    142 //    notice, this list of conditions and the following disclaimer.
    143 // 2. Redistributions in binary form must reproduce the above copyright
    144 //    notice, this list of conditions and the following disclaimer in the
    145 //    documentation and/or other materials provided with the distribution.
    146 //
    147 // THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
    148 // ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
    149 // TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    150 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
    151 // BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    152 // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
    153 // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    154 // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    155 // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    156 // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
    157 // POSSIBILITY OF SUCH DAMAGE.
    158 
    159 //	$NetBSD: ansi.h,v 1.18 2019/05/07 03:49:26 kamil Exp $
    160 
    161 //	$NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $
    162 
    163 // -
    164 // Copyright (c) 2014 The NetBSD Foundation, Inc.
    165 // All rights reserved.
    166 //
    167 // This code is derived from software contributed to The NetBSD Foundation
    168 // by Matt Thomas of 3am Software Foundry.
    169 //
    170 // Redistribution and use in source and binary forms, with or without
    171 // modification, are permitted provided that the following conditions
    172 // are met:
    173 // 1. Redistributions of source code must retain the above copyright
    174 //    notice, this list of conditions and the following disclaimer.
    175 // 2. Redistributions in binary form must reproduce the above copyright
    176 //    notice, this list of conditions and the following disclaimer in the
    177 //    documentation and/or other materials provided with the distribution.
    178 //
    179 // THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
    180 // ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
    181 // TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    182 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
    183 // BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    184 // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
    185 // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    186 // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    187 // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    188 // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
    189 // POSSIBILITY OF SUCH DAMAGE.
    190 
    191 //	$NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
    192 
    193 // * Copyright (c) 1991, 1993
    194 //	The Regents of the University of California.  All rights reserved.
    195 //
    196 // This code is derived from software contributed to Berkeley by
    197 // Berkeley Software Design, Inc.
    198 //
    199 // Redistribution and use in source and binary forms, with or without
    200 // modification, are permitted provided that the following conditions
    201 // are met:
    202 // 1. Redistributions of source code must retain the above copyright
    203 //    notice, this list of conditions and the following disclaimer.
    204 // 2. Redistributions in binary form must reproduce the above copyright
    205 //    notice, this list of conditions and the following disclaimer in the
    206 //    documentation and/or other materials provided with the distribution.
    207 // 3. Neither the name of the University nor the names of its contributors
    208 //    may be used to endorse or promote products derived from this software
    209 //    without specific prior written permission.
    210 //
    211 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    212 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    213 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    214 // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    215 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    216 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    217 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    218 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    219 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    220 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    221 // SUCH DAMAGE.
    222 //
    223 //	@(#)cdefs.h	8.8 (Berkeley) 1/9/95
    224 
    225 //	$NetBSD: int_types.h,v 1.17 2014/07/25 21:43:13 joerg Exp $
    226 
    227 // -
    228 // Copyright (c) 2014 The NetBSD Foundation, Inc.
    229 // All rights reserved.
    230 //
    231 // This code is derived from software contributed to The NetBSD Foundation
    232 // by Matt Thomas of 3am Software Foundry.
    233 //
    234 // Redistribution and use in source and binary forms, with or without
    235 // modification, are permitted provided that the following conditions
    236 // are met:
    237 // 1. Redistributions of source code must retain the above copyright
    238 //    notice, this list of conditions and the following disclaimer.
    239 // 2. Redistributions in binary form must reproduce the above copyright
    240 //    notice, this list of conditions and the following disclaimer in the
    241 //    documentation and/or other materials provided with the distribution.
    242 //
    243 // THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
    244 // ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
    245 // TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    246 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
    247 // BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    248 // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
    249 // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    250 // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    251 // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    252 // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
    253 // POSSIBILITY OF SUCH DAMAGE.
    254 
    255 //	$NetBSD: common_int_types.h,v 1.1 2014/07/25 21:43:13 joerg Exp $
    256 
    257 // -
    258 // Copyright (c) 2014 The NetBSD Foundation, Inc.
    259 // All rights reserved.
    260 //
    261 // This code is derived from software contributed to The NetBSD Foundation
    262 // by Joerg Sonnenberger.
    263 //
    264 // Redistribution and use in source and binary forms, with or without
    265 // modification, are permitted provided that the following conditions
    266 // are met:
    267 // 1. Redistributions of source code must retain the above copyright
    268 //    notice, this list of conditions and the following disclaimer.
    269 // 2. Redistributions in binary form must reproduce the above copyright
    270 //    notice, this list of conditions and the following disclaimer in the
    271 //    documentation and/or other materials provided with the distribution.
    272 //
    273 // THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
    274 // ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
    275 // TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    276 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
    277 // BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    278 // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
    279 // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    280 // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    281 // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    282 // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
    283 // POSSIBILITY OF SUCH DAMAGE.
    284 
    285 // 7.18.1 Integer types
    286 
    287 // 7.18.1.1 Exact-width integer types
    288 
    289 type X__int8_t = int8     /* common_int_types.h:45:27 */
    290 type X__uint8_t = uint8   /* common_int_types.h:46:27 */
    291 type X__int16_t = int16   /* common_int_types.h:47:27 */
    292 type X__uint16_t = uint16 /* common_int_types.h:48:27 */
    293 type X__int32_t = int32   /* common_int_types.h:49:27 */
    294 type X__uint32_t = uint32 /* common_int_types.h:50:27 */
    295 type X__int64_t = int64   /* common_int_types.h:51:27 */
    296 type X__uint64_t = uint64 /* common_int_types.h:52:27 */
    297 
    298 // 7.18.1.4 Integer types capable of holding object pointers
    299 
    300 type X__intptr_t = int32   /* common_int_types.h:58:27 */
    301 type X__uintptr_t = uint32 /* common_int_types.h:59:26 */
    302 
    303 // Types which are fundamental to the implementation and may appear in
    304 // more than one standard header are defined here.  Standard headers
    305 // then use:
    306 //	#ifdef	_BSD_SIZE_T_
    307 //	typedef	_BSD_SIZE_T_ size_t;
    308 //	#undef	_BSD_SIZE_T_
    309 //	#endif
    310 
    311 type X__caddr_t = uintptr        /* ansi.h:37:14 */ // core address
    312 type X__gid_t = X__uint32_t      /* ansi.h:38:20 */ // group id
    313 type X__in_addr_t = X__uint32_t  /* ansi.h:39:20 */ // IP(v4) address
    314 type X__in_port_t = X__uint16_t  /* ansi.h:40:20 */ // "Internet" port number
    315 type X__mode_t = X__uint32_t     /* ansi.h:41:20 */ // file permissions
    316 type X__off_t = X__int64_t       /* ansi.h:42:19 */ // file offset
    317 type X__pid_t = X__int32_t       /* ansi.h:43:19 */ // process id
    318 type X__sa_family_t = X__uint8_t /* ansi.h:44:19 */ // socket address family
    319 type X__socklen_t = uint32       /* ansi.h:45:22 */ // socket-related datum length
    320 type X__uid_t = X__uint32_t      /* ansi.h:46:20 */ // user id
    321 type X__fsblkcnt_t = X__uint64_t /* ansi.h:47:20 */ // fs block count (statvfs)
    322 type X__fsfilcnt_t = X__uint64_t /* ansi.h:48:20 */
    323 type X__wctrans_t = uintptr      /* ansi.h:51:32 */
    324 type X__wctype_t = uintptr       /* ansi.h:54:31 */
    325 
    326 // mbstate_t is an opaque object to keep conversion state, during multibyte
    327 // stream conversions.  The content must not be referenced by user programs.
    328 type X__mbstate_t = struct {
    329 	F__mbstateL  X__int64_t
    330 	F__ccgo_pad1 [120]byte
    331 } /* ansi.h:63:3 */
    332 
    333 type X__va_list = X__builtin_va_list /* ansi.h:72:27 */
    334 type Ssize_t = int32                 /* stdio.h:49:23 */
    335 
    336 //	$NetBSD: null.h,v 1.9 2010/07/06 11:56:20 kleink Exp $
    337 
    338 // Written by Klaus Klein <kleink@NetBSD.org>, December 22, 1999.
    339 // Public domain.
    340 
    341 // This is fairly grotesque, but pure ANSI code must not inspect the
    342 // innards of an fpos_t anyway.  The library internally uses off_t,
    343 // which we assume is exactly as big as eight chars.
    344 type X__sfpos = struct {
    345 	F_pos         X__off_t
    346 	F_mbstate_in  X__mbstate_t
    347 	F_mbstate_out X__mbstate_t
    348 } /* stdio.h:67:9 */
    349 
    350 //	$NetBSD: null.h,v 1.9 2010/07/06 11:56:20 kleink Exp $
    351 
    352 // Written by Klaus Klein <kleink@NetBSD.org>, December 22, 1999.
    353 // Public domain.
    354 
    355 // This is fairly grotesque, but pure ANSI code must not inspect the
    356 // innards of an fpos_t anyway.  The library internally uses off_t,
    357 // which we assume is exactly as big as eight chars.
    358 type Fpos_t = X__sfpos /* stdio.h:70:3 */
    359 
    360 // NB: to fit things in six character monocase externals, the stdio
    361 // code uses the prefix `__s' for stdio objects, typically followed
    362 // by a three-character attempt at a mnemonic.
    363 
    364 // stdio buffers
    365 type X__sbuf = struct {
    366 	F_base uintptr
    367 	F_size int32
    368 } /* stdio.h:81:1 */
    369 
    370 // stdio state variables.
    371 //
    372 // The following always hold:
    373 //
    374 //	if (_flags&(__SLBF|__SWR)) == (__SLBF|__SWR),
    375 //		_lbfsize is -_bf._size, else _lbfsize is 0
    376 //	if _flags&__SRD, _w is 0
    377 //	if _flags&__SWR, _r is 0
    378 //
    379 // This ensures that the getc and putc macros (or inline functions) never
    380 // try to write or read from a file that is in `read' or `write' mode.
    381 // (Moreover, they can, and do, automatically switch from read mode to
    382 // write mode, and back, on "r+" and "w+" files.)
    383 //
    384 // _lbfsize is used only to make the inline line-buffered output stream
    385 // code as compact as possible.
    386 //
    387 // _ub, _up, and _ur are used when ungetc() pushes back more characters
    388 // than fit in the current _bf, or when ungetc() pushes back a character
    389 // that does not match the previous one in _bf.  When this happens,
    390 // _ub._base becomes non-nil (i.e., a stream has ungetc() data iff
    391 // _ub._base!=NULL) and _up and _ur save the current values of _p and _r.
    392 //
    393 // NB: see WARNING above before changing the layout of this structure!
    394 type X__sFILE = struct {
    395 	F_p     uintptr
    396 	F_r     int32
    397 	F_w     int32
    398 	F_flags uint16
    399 	F_file  int16
    400 	F_bf    struct {
    401 		F_base uintptr
    402 		F_size int32
    403 	}
    404 	F_lbfsize int32
    405 	F_cookie  uintptr
    406 	F_close   uintptr
    407 	F_read    uintptr
    408 	F_seek    uintptr
    409 	F_write   uintptr
    410 	F_ext     struct {
    411 		F_base uintptr
    412 		F_size int32
    413 	}
    414 	F_up        uintptr
    415 	F_ur        int32
    416 	F_ubuf      [3]uint8
    417 	F_nbuf      [1]uint8
    418 	F_flush     uintptr
    419 	F_lb_unused [4]uint8
    420 	F_blksize   int32
    421 	F_offset    X__off_t
    422 } /* stdio.h:112:9 */
    423 
    424 // stdio state variables.
    425 //
    426 // The following always hold:
    427 //
    428 //	if (_flags&(__SLBF|__SWR)) == (__SLBF|__SWR),
    429 //		_lbfsize is -_bf._size, else _lbfsize is 0
    430 //	if _flags&__SRD, _w is 0
    431 //	if _flags&__SWR, _r is 0
    432 //
    433 // This ensures that the getc and putc macros (or inline functions) never
    434 // try to write or read from a file that is in `read' or `write' mode.
    435 // (Moreover, they can, and do, automatically switch from read mode to
    436 // write mode, and back, on "r+" and "w+" files.)
    437 //
    438 // _lbfsize is used only to make the inline line-buffered output stream
    439 // code as compact as possible.
    440 //
    441 // _ub, _up, and _ur are used when ungetc() pushes back more characters
    442 // than fit in the current _bf, or when ungetc() pushes back a character
    443 // that does not match the previous one in _bf.  When this happens,
    444 // _ub._base becomes non-nil (i.e., a stream has ungetc() data iff
    445 // _ub._base!=NULL) and _up and _ur save the current values of _p and _r.
    446 //
    447 // NB: see WARNING above before changing the layout of this structure!
    448 type FILE = X__sFILE /* stdio.h:146:3 */
    449 
    450 // X/Open CAE Specification Issue 5 Version 2
    451 type Off_t = X__off_t /* stdio.h:376:18 */
    452 
    453 type Locale_t = uintptr /* stdio.h:543:25 */
    454 
    455 var _ uint8 /* gen.c:2:13: */