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