19#ifndef _STDIO_SCHILYIO_H
20#define _STDIO_SCHILYIO_H
75#define _openfd(name, omode) (open(name, omode, (mode_t)0666))
86#define FI_WRITE 0x0002
87#define FI_BINARY 0x0004
88#define FI_APPEND 0x0008
90#define FI_CREATE 0x0010
91#define FI_TRUNC 0x0020
92#define FI_UNBUF 0x0080
93#define FI_CLOSE 0x1000
99#define _JS_IONORAISE 01
100#define _JS_IOUNBUF 02
128#define flp(p) (&_io_myfl[fileno(p)])
130#ifdef MY_FLAG_IS_MACRO
131#define my_flag(p) ((int)fileno(p) >= _fl_max ? \
132 _io_get_my_flag(p) : \
133 ((flp(p)->fl_io == 0 || flp(p)->fl_io == p) ? \
137#define my_flag(p) _io_get_my_flag(p)
140#define set_my_flag(p, v) _io_set_my_flag(p, v)
141#define add_my_flag(p, v) _io_add_my_flag(p, v)
149#define my_flag(p) _JS_IONORAISE
150#define set_my_flag(p, v)
151#define add_my_flag(p, v)
155#if defined(HAVE_USG_STDIO) || defined(FAST_GETC_PUTC)
165#define __c (struct SCHILY__FILE_TAG *)
172# define usg_filbuf(fp) __filbuf(fp)
173# define usg_flsbuf(c, fp) __flsbuf(c, fp)
180# define usg_filbuf(fp) _filbuf(fp)
181# define usg_flsbuf(c, fp) _flsbuf(c, fp)
218#define down2(f, fl1, fl2)
230#define down(f) ((f) == 0 || (__c f)->_flag == 0 ? \
231 (raisecond(_badfile, 0L), (FILE *)0) : (f))
233#define down1(f, fl1) ((f) == 0 || (__c f)->_flag == 0 ? \
234 (raisecond(_badfile, 0L), (FILE *)0) : \
235 (((__c f)->_flag & fl1) != fl1 ? \
236 (raisecond(_badop, 0L), (FILE *)0) : \
239#define down2(f, fl1, fl2) ((f) == 0 || (__c f)->_flag == 0 ? \
240 (raisecond(_badfile, 0L), (FILE *)0) : \
241 (((__c f)->_flag & fl1) != fl1 && \
242 ((__c f)->_flag & fl2) != fl2 ? \
243 (raisecond(_badop, 0L), (FILE *)0) : \
EXPORT void _io_add_my_flag(FILE *fp, int flag)
EXPORT void _io_set_my_flag(FILE *fp, int flag)
EXPORT int _io_get_my_flag(FILE *fp)
_Check_return_ _CRTIMP int __cdecl _filbuf(_Inout_ FILE *_File)
struct _io_flags * fl_next