diff options
Diffstat (limited to 'src/_stdio_file.h')
-rw-r--r-- | src/_stdio_file.h | 117 |
1 files changed, 0 insertions, 117 deletions
diff --git a/src/_stdio_file.h b/src/_stdio_file.h deleted file mode 100644 index d913fc4..0000000 --- a/src/_stdio_file.h +++ /dev/null @@ -1,117 +0,0 @@ -/* - * Copyright (c) 1999 - * Silicon Graphics Computer Systems, Inc. - * - * Copyright (c) 1999 - * Boris Fomitchev - * - * This material is provided "as is", with absolutely no warranty expressed - * or implied. Any use is at your own risk. - * - * Permission to use or copy this software for any purpose is hereby granted - * without fee, provided the above notices are retained on all copies. - * Permission to modify the code and to distribute modified code is granted, - * provided the above notices are retained, and a notice that the code was - * modified is included with the above copyright notice. - * - */ - -#ifndef _STLP_STDIO_FILE_H -#define _STLP_STDIO_FILE_H - -/* This file provides a low-level interface between the internal - * representation of struct FILE, from the C stdio library, and - * the C++ I/O library. */ - -#ifndef _STLP_CSTDIO -# include <cstdio> -#endif -#ifndef _STLP_CSTDDEF -# include <cstddef> -#endif - -#if defined (__MSL__) -# include <unix.h> /* get the definition of fileno */ -#endif - -_STLP_BEGIN_NAMESPACE - -#if defined (_STLP_WCE) - -inline int _FILE_fd(const FILE *__f) { - /* Check if FILE is one of the three standard streams - We do this check first, because invoking _fileno() on one of them - causes a terminal window to be created. This also happens if you do - any IO on them, but merely retrieving the filedescriptor shouldn't - already do that. - - Obviously this is pretty implementation-specific because it requires - that indeed the first three FDs are always the same, but that is not - only common but almost guaranteed. */ - for (int __fd = 0; __fd != 3; ++__fd) { - if (__f == _getstdfilex(__fd)) - return __fd; - } - - /* Normal files. */ - return (int)::_fileno((FILE*)__f); -} - -# elif defined (_STLP_SCO_OPENSERVER) || defined (__NCR_SVR) - -inline int _FILE_fd(const FILE *__f) { return __f->__file; } - -# elif defined (__sun) && defined (_LP64) - -inline int _FILE_fd(const FILE *__f) { return (int) __f->__pad[2]; } - -#elif defined (__hpux) /* && defined(__hppa) && defined(__HP_aCC)) */ || \ - defined (__MVS__) || \ - defined (_STLP_USE_UCLIBC) /* should be before _STLP_USE_GLIBC */ - -inline int _FILE_fd(const FILE *__f) { return fileno(__CONST_CAST(FILE*, __f)); } - -#elif defined (_STLP_USE_GLIBC) - -inline int _FILE_fd(const FILE *__f) { return __f->_fileno; } - -#elif defined (__BORLANDC__) - -inline int _FILE_fd(const FILE *__f) { return __f->fd; } - -#elif defined (__MWERKS__) - -/* using MWERKS-specific defines here to detect other OS targets - * dwa: I'm not sure they provide fileno for all OS's, but this should - * work for Win32 and WinCE - - * Hmm, at least for Novell NetWare __dest_os == __mac_os true too.. - * May be both __dest_os and __mac_os defined and empty? - ptr */ -# if __dest_os == __mac_os -inline int _FILE_fd(const FILE *__f) { return ::fileno(__CONST_CAST(FILE*, __f)); } -# else -inline int _FILE_fd(const FILE *__f) { return ::_fileno(__CONST_CAST(FILE*, __f)); } -# endif - -#elif defined (__QNXNTO__) || defined (__WATCOMC__) || defined (__EMX__) - -inline int _FILE_fd(const FILE *__f) { return __f->_handle; } - -#elif defined (__Lynx__) - -/* the prototypes are taken from LynxOS patch for STLport 4.0 */ -inline int _FILE_fd(const FILE *__f) { return __f->_fd; } - -#else /* The most common access to file descriptor. */ - -inline int _FILE_fd(const FILE *__f) { return __f->_file; } - -#endif - -_STLP_END_NAMESPACE - -#endif /* _STLP_STDIO_FILE_H */ - -/* Local Variables: - * mode:C++ - * End: */ |