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: */