This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 1/6] O_CLOEXEC O_NOFOLLOW O_DIRECTORY O_EXEC O_DIRECT


On Oct  8 15:38, Sebastian Huber wrote:
> Make O_CLOEXEC, O_NOFOLLOW, O_DIRECTORY, O_EXEC, and O_DIRECT available
> to non-Cygwin systems.
> 
> Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
> ---
>  newlib/libc/include/sys/_default_fcntl.h | 46 ++++++++++++++++++--------------
>  1 file changed, 26 insertions(+), 20 deletions(-)
> 
> diff --git a/newlib/libc/include/sys/_default_fcntl.h b/newlib/libc/include/sys/_default_fcntl.h
> index 33b462285..19fe65cfd 100644
> --- a/newlib/libc/include/sys/_default_fcntl.h
> +++ b/newlib/libc/include/sys/_default_fcntl.h
> @@ -23,6 +23,19 @@ extern "C" {
>  #define	_FNONBLOCK	0x4000	/* non blocking I/O (POSIX style) */
>  #define	_FNDELAY	_FNONBLOCK	/* non blocking I/O (4.2 style) */
>  #define	_FNOCTTY	0x8000	/* don't assign a ctty on this open */
> +#if defined (__CYGWIN__)
> +#define _FBINARY        0x10000
> +#define _FTEXT          0x20000
> +#endif
> +#define _FNOINHERIT	0x40000
> +#define _FDIRECT        0x80000
> +#define _FNOFOLLOW      0x100000
> +#define _FDIRECTORY     0x200000
> +#define _FEXECSRCH      0x400000
> +#if defined (__CYGWIN__)
> +#define _FTMPFILE       0x800000
> +#define _FNOATIME       0x1000000
> +#endif
>  
>  #define	O_ACCMODE	(O_RDONLY|O_WRONLY|O_RDWR)
>  
> @@ -43,35 +56,28 @@ extern "C" {
>  /*	O_NDELAY	_FNBIO 		set in include/fcntl.h */
>  #define	O_NONBLOCK	_FNONBLOCK
>  #define	O_NOCTTY	_FNOCTTY
> -/* For machines which care - */
> -#if defined (__CYGWIN__)
> -#define _FBINARY        0x10000
> -#define _FTEXT          0x20000
> -#define _FNOINHERIT	0x40000
> -#define _FDIRECT        0x80000
> -#define _FNOFOLLOW      0x100000
> -#define _FDIRECTORY     0x200000
> -#define _FEXECSRCH      0x400000
> -#define _FTMPFILE       0x800000
> -#define _FNOATIME       0x1000000
>  
> +/* POSIX-1.2008 specific flags */
> +#if __POSIX_VISIBLE >= 200809
> +#define O_CLOEXEC	_FNOINHERIT
> +#define O_NOFOLLOW	_FNOFOLLOW
> +#define O_DIRECTORY	_FDIRECTORY
> +#define	O_EXEC		_FEXECSRCH
> +#endif
> +
> +#if __GNU_VISIBLE || __BSD_VISIBLE
> +#define O_DIRECT	_FDIRECT
> +#endif

This is actually a BSD flag?  If so, `#if __BSD_VISIBLE' should
suffice since that's implied by setting _GNU_SOURCE.


Corinna

-- 
Corinna Vinschen
Cygwin Maintainer
Red Hat

Attachment: signature.asc
Description: PGP signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]