sl@0: /* STDIO_R.H
sl@0:  * 
sl@0:  * Portions Copyright (c) 1990-1999 Nokia Corporation and/or its subsidiary(-ies).
sl@0:  * All rights reserved.
sl@0:  */
sl@0: 
sl@0: /*
sl@0:  * Copyright (c) 1990 The Regents of the University of California.
sl@0:  * All rights reserved.
sl@0:  *
sl@0:  * Redistribution and use in source and binary forms are permitted
sl@0:  * provided that the above copyright notice and this paragraph are
sl@0:  * duplicated in all such forms and that any documentation,
sl@0:  * advertising materials, and other materials related to such
sl@0:  * distribution and use acknowledge that the software was developed
sl@0:  * by the University of California, Berkeley.  The name of the
sl@0:  * University may not be used to endorse or promote products derived
sl@0:  * from this software without specific prior written permission.
sl@0:  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
sl@0:  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
sl@0:  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
sl@0:  *
sl@0:  *	Based on @(#)stdio.h	5.3 (Berkeley) 3/15/86
sl@0:  */
sl@0: 
sl@0: /** @file
sl@0: @publishedAll
sl@0: @released
sl@0: */
sl@0: 
sl@0: #ifndef _STDIO_R_H_
sl@0: #define	_STDIO_R_H_
sl@0: 
sl@0: #ifdef __cplusplus
sl@0: extern "C" {
sl@0: #endif
sl@0: 
sl@0: #include <stdio.h>
sl@0: #include <sys/reent.h>
sl@0: 
sl@0: #define _stdin_r(x)	(&((x)->_sf[0]))
sl@0: #define _stdout_r(x)	(&((x)->_sf[1]))
sl@0: #define _stderr_r(x)	(&((x)->_sf[2]))
sl@0: 
sl@0: /**
sl@0: Reentrant versions of the <stdio.h> functions
sl@0: */
sl@0: IMPORT_C void	_cleanup_r	(struct _reent *);
sl@0: IMPORT_C FILE *	_fdopen_r	(struct _reent *, int, const char *);
sl@0: IMPORT_C FILE *	_wfdopen_r	(struct _reent *, int, const wchar_t *);
sl@0: IMPORT_C FILE *	_fopen_r	(struct _reent *, const char *, const char *);
sl@0: IMPORT_C FILE *	_wfopen_r	(struct _reent *, const wchar_t *, const wchar_t *);
sl@0: IMPORT_C int	_getchar_r	(struct _reent *);
sl@0: IMPORT_C char *	_gets_r		(struct _reent *, char *);
sl@0: IMPORT_C int	_iprintf_r	(struct _reent *, const char *, ...);
sl@0: IMPORT_C int	_mkstemp_r	(struct _reent *, char *);
sl@0: IMPORT_C char *	_mktemp_r	(struct _reent *, char *);
sl@0: IMPORT_C void	_perror_r	(struct _reent *, const char *);
sl@0: IMPORT_C int	_printf_r	(struct _reent *, const char *, ...);
sl@0: IMPORT_C int	_putchar_r	(struct _reent *, int);
sl@0: IMPORT_C int	_puts_r		(struct _reent *, const char *);
sl@0: IMPORT_C int	_scanf_r	(struct _reent *, const char *, ...);
sl@0: IMPORT_C int	_sprintf_r	(struct _reent *, char *, const char *, ...);
sl@0: IMPORT_C char *	_tempnam_r	(struct _reent *, char *, char *);
sl@0: IMPORT_C FILE *	_tmpfile_r	(struct _reent *);
sl@0: IMPORT_C char *	_tmpnam_r	(struct _reent *, char *);
sl@0: IMPORT_C wchar_t *	_wtmpnam_r	(struct _reent *, wchar_t *);
sl@0: IMPORT_C int	_vfprintf_r	(struct _reent *, FILE *, const char *, __e32_va_list);
sl@0: IMPORT_C int	_popen3_r	(struct _reent *, const char *cmd, const char *mode, char** envp, int fids[3]);
sl@0: IMPORT_C int	_wpopen3_r	(struct _reent *, const wchar_t *cmd, const wchar_t *mode, wchar_t** envp, int fids[3]);
sl@0: 
sl@0: #ifdef __cplusplus
sl@0: }
sl@0: #endif
sl@0: #endif /* _STDIO_H_ */