⛏️ index : haiku.git

/*
 * Copyright 2003-2012 Haiku, Inc. All Rights Reserved.
 * Distributed under the terms of the MIT License.
 */
#ifndef _STDIO_POST_H_
#define _STDIO_POST_H_


/* "Private"/inline functions of our BeOS compatible stdio implementation */

/* ToDo: this is a work in progress to make our stdio
 *		BeOS' GNU/libio (almost) binary compatible
 *		We may not yet be compatible! */

#ifndef _STDIO_H_
#	error "This file must be included from stdio.h!"
#endif

#ifdef __cplusplus
extern "C" {
#endif

extern char _single_threaded;
	/* this boolean value is true (1) if there is only the main thread
	 * running - as soon as you spawn the first thread, it's set to
	 * false (0) */

#ifdef __cplusplus
}
#endif

#define getc(stream) \
	(_single_threaded ? getc_unlocked(stream) : getc(stream))
#define putc(c, stream) \
	(_single_threaded ? putc_unlocked(c, stream) : putc(c, stream))

#endif	/* _STDIO_POST_H_ */