1 /*
2  * BEGIN illumos section
3  *   This is an unstable interface; changes may be made
4  *   without notice.
5  * END illumos section
6  */
7 /***********************************************************************
8 *                                                                      *
9 *               This software is part of the ast package               *
10 *          Copyright (c) 1985-2011 AT&T Intellectual Property          *
11 *                      and is licensed under the                       *
12 *                 Eclipse Public License, Version 1.0                  *
13 *                    by AT&T Intellectual Property                     *
14 *                                                                      *
15 *                A copy of the License is available at                 *
16 *          http://www.eclipse.org/org/documents/epl-v10.html           *
17 *         (with md5 checksum b35adb5213ca9657e911e9befb180842)         *
18 *                                                                      *
19 *              Information and Software Systems Research               *
20 *                            AT&T Research                             *
21 *                           Florham Park NJ                            *
22 *                                                                      *
23 *                 Glenn Fowler <gsf@research.att.com>                  *
24 *                  David Korn <dgk@research.att.com>                   *
25 *                   Phong Vo <kpv@research.att.com>                    *
26 *                                                                      *
27 ***********************************************************************/
28 #ifndef _SFIO_S_H
29 #define _SFIO_S_H	1
30 
31 /*
32  * sfio file structure used by sfio and the stdio source compatibility library
33  */
34 
35 #if !defined(_SFHDR_H) && defined(_SFIO_H) && SFIO_VERSION < 20020214L
36 #define	_data		data
37 #define	_endb		endb
38 #define	_next		next
39 #endif
40 
41 struct _sfio_s
42 {	unsigned char*	_next;	/* next position to read/write from	*/
43 	unsigned char*	_endw;	/* end of write buffer			*/
44 	unsigned char*	_endr;	/* end of read buffer			*/
45 	unsigned char*	_endb;	/* end of buffer			*/
46 	struct _sfio_s*	_push;	/* the stream that was pushed on	*/
47 	unsigned short	_flags;	/* type of stream			*/
48 	short		_file;	/* file descriptor			*/
49 	unsigned char*	_data;	/* base of data buffer			*/
50 	ssize_t		_size;	/* buffer size				*/
51 	ssize_t		_val;	/* values or string lengths		*/
52 #ifdef _SFIO_PRIVATE
53 	_SFIO_PRIVATE
54 #endif
55 };
56 
57 #endif
58