xstdio.h 881 Bytes
/* xstdio.h internal header */

#ifndef _XSTDIO
#define _XSTDIO

#include <stdarg.h>

#ifndef _YVALS
#include "yvals.h"
#endif

/* macros */
#ifndef NULL
#define NULL	_NULL
#endif

/* type definitions */
#ifndef _SIZE_T
#define _SIZE_T
typedef _Sizet	size_t;
#endif

/* codes for _Printf and _Scanf */
#define _FSP	0x01
#define _FPL	0x02
#define _FMI	0x04
#define _FNO	0x08
#define _FZE	0x10
#define _WMAX	999
#define _WANT	(EOF-1)

/* type definitions */
#if _LONG_DOUBLE
typedef long double ldouble;
#else
typedef double ldouble;
#endif

typedef struct {
	union {
		long long ll;
		ldouble ld;
	} v;
	char *s;
	int n0, nz0, n1, nz1, n2, nz2, prec, width;
	size_t nchar;
	unsigned int flags;
	char qual;
} _Pft;

/* declarations */
void _Ldtob(_Pft *, char);
void _Litob(_Pft *, char);
int _Printf(void *(*)(void *, const char *, size_t),
	void *, const char *, va_list);

#endif