1 /* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 * or http://www.opensolaris.org/os/licensing. 10 * See the License for the specific language governing permissions 11 * and limitations under the License. 12 * 13 * When distributing Covered Code, include this CDDL HEADER in each 14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 * If applicable, add the following below this CDDL HEADER, with the 16 * fields enclosed by brackets "[]" replaced with your own identifying 17 * information: Portions Copyright [yyyy] [name of copyright owner] 18 * 19 * CDDL HEADER END 20 */ 21 22 /* 23 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 24 * Use is subject to license terms. 25 */ 26 27 #ifndef _STDIO_IMPL_H 28 #define _STDIO_IMPL_H 29 30 #include <sys/isa_defs.h> 31 32 #ifdef __cplusplus 33 extern "C" { 34 #endif 35 36 #ifdef _LP64 37 38 #ifndef _FILE64_H 39 40 struct __FILE_TAG { 41 long __pad[16]; 42 }; 43 44 #endif /* _FILE64_H */ 45 46 #else 47 48 struct __FILE_TAG /* needs to be binary-compatible with old versions */ 49 { 50 #ifdef _STDIO_REVERSE 51 unsigned char *_ptr; /* next character from/to here in buffer */ 52 int _cnt; /* number of available characters in buffer */ 53 #else 54 int _cnt; /* number of available characters in buffer */ 55 unsigned char *_ptr; /* next character from/to here in buffer */ 56 #endif 57 unsigned char *_base; /* the buffer */ 58 unsigned char _flag; /* the state of the stream */ 59 unsigned char _magic; /* Old home of the file descriptor */ 60 /* Only fileno(3C) can retrieve the value now */ 61 unsigned __orientation:2; /* the orientation of the stream */ 62 unsigned __ionolock:1; /* turn off implicit locking */ 63 unsigned __seekable:1; /* is file seekable? */ 64 unsigned __extendedfd:1; /* enable extended FILE */ 65 unsigned __xf_nocheck:1; /* no extended FILE runtime check */ 66 unsigned __filler:10; 67 }; 68 69 #endif /* _LP64 */ 70 71 #ifdef __cplusplus 72 } 73 #endif 74 75 #endif /* _STDIO_IMPL_H */ 76