X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Ffcntl.in.h;h=fd7520e8daed331481fdaea90c375176ee314b2e;hb=fa3486514bd8f15f8eb4c49821d0356b52e5a335;hp=278f2039f4574c2c1c926c5634664be5964c9785;hpb=4fd7cdb11eef025a6c83c056cad3f29ed5d3161c;p=gnulib.git diff --git a/lib/fcntl.in.h b/lib/fcntl.in.h index 278f2039f..fd7520e8d 100644 --- a/lib/fcntl.in.h +++ b/lib/fcntl.in.h @@ -17,9 +17,22 @@ /* written by Paul Eggert */ -#ifndef _GL_FCNTL_H - +#if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ +#endif + +#if defined __need_system_fcntl_h +/* Special invocation convention. */ + +#include +#include +#include +#@INCLUDE_NEXT@ @NEXT_FCNTL_H@ + +#else +/* Normal invocation convention. */ + +#ifndef _GL_FCNTL_H #include #include @@ -37,10 +50,17 @@ extern "C" { #endif -#if (@GNULIB_OPEN@ && @REPLACE_OPEN@) || defined FCHDIR_REPLACEMENT -# undef open -# define open rpl_open +#if @GNULIB_OPEN@ +# if @REPLACE_OPEN@ +# undef open +# define open rpl_open extern int open (const char *filename, int flags, ...); +# endif +#endif + +#ifdef FCHDIR_REPLACEMENT +/* gnulib internal function. */ +extern void _gl_register_fd (int fd, const char *filename); #endif #ifdef __cplusplus @@ -107,8 +127,8 @@ extern int open (const char *filename, int flags, ...); # define O_TEXT _O_TEXT #endif -#ifdef __BEOS__ - /* BeOS 5 has O_BINARY and O_TEXT, but they have no effect. */ +#if defined __BEOS__ || defined __HAIKU__ + /* BeOS 5 and Haiku have O_BINARY and O_TEXT, but they have no effect. */ # undef O_BINARY # undef O_TEXT #endif @@ -121,3 +141,4 @@ extern int open (const char *filename, int flags, ...); #endif /* _GL_FCNTL_H */ #endif /* _GL_FCNTL_H */ +#endif