X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fsys_ioctl.in.h;h=5ed764ee42b8ea27a76532d52e6e96488b07919a;hb=551ee6493e89f30ea3d1cc75bcaaa3d5e5fab7e1;hp=221177a3cee31935552c0354b4d96550d3ed9a97;hpb=0806b2e000515c8c9f32c5276df88936d3f890cb;p=gnulib.git diff --git a/lib/sys_ioctl.in.h b/lib/sys_ioctl.in.h index 221177a3c..5ed764ee4 100644 --- a/lib/sys_ioctl.in.h +++ b/lib/sys_ioctl.in.h @@ -1,5 +1,5 @@ /* Substitute for and wrapper around . - Copyright (C) 2008 Free Software Foundation, Inc. + Copyright (C) 2008-2011 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -15,54 +15,65 @@ along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -#ifndef _GL_SYS_IOCTL_H +#ifndef _@GUARD_PREFIX@_SYS_IOCTL_H +#if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ +#endif +@PRAGMA_COLUMNS@ /* The include_next requires a split double-inclusion guard. */ #if @HAVE_SYS_IOCTL_H@ # @INCLUDE_NEXT@ @NEXT_SYS_IOCTL_H@ #endif -#ifndef _GL_SYS_IOCTL_H -#define _GL_SYS_IOCTL_H +#ifndef _@GUARD_PREFIX@_SYS_IOCTL_H +#define _@GUARD_PREFIX@_SYS_IOCTL_H /* AIX 5.1 and Solaris 10 declare ioctl() in and in , - but not in . */ -#include + but not in . + But avoid namespace pollution on glibc systems. */ +#ifndef __GLIBC__ +# include +#endif -/* The definition of GL_LINK_WARNING is copied here. */ +/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ +/* The definition of _GL_WARN_ON_USE is copied here. */ -/* Declare overridden functions. */ - -#ifdef __cplusplus -extern "C" { -#endif +/* Declare overridden functions. */ #if @GNULIB_IOCTL@ -# if @SYS_IOCTL_H_HAVE_WINSOCK2_H@ -# undef ioctl -# define ioctl rpl_ioctl -extern int ioctl (int fd, int request, ... /* {void *,char *} arg */); +# if @REPLACE_IOCTL@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef ioctl +# define ioctl rpl_ioctl +# endif +_GL_FUNCDECL_RPL (ioctl, int, + (int fd, int request, ... /* {void *,char *} arg */)); +_GL_CXXALIAS_RPL (ioctl, int, + (int fd, int request, ... /* {void *,char *} arg */)); +# else +# if @SYS_IOCTL_H_HAVE_WINSOCK2_H@ || 1 +_GL_FUNCDECL_SYS (ioctl, int, + (int fd, int request, ... /* {void *,char *} arg */)); +# endif +_GL_CXXALIAS_SYS (ioctl, int, + (int fd, int request, ... /* {void *,char *} arg */)); # endif -#elif @SYS_IOCTL_H_HAVE_WINSOCK2_H@ +_GL_CXXALIASWARN (ioctl); +#elif @SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ # undef ioctl # define ioctl ioctl_used_without_requesting_gnulib_module_ioctl #elif defined GNULIB_POSIXCHECK # undef ioctl -# define ioctl(f,c,a) \ - (GL_LINK_WARNING ("ioctl does not portably work on sockets - " \ - "use gnulib module ioctl for portability"), \ - ioctl (f, c, a)) -#endif - - -#ifdef __cplusplus -} +# if HAVE_RAW_DECL_IOCTL +_GL_WARN_ON_USE (ioctl, "ioctl does not portably work on sockets - " + "use gnulib module ioctl for portability"); +# endif #endif -#endif /* _GL_SYS_IOCTL_H */ -#endif /* _GL_SYS_IOCTL_H */ +#endif /* _@GUARD_PREFIX@_SYS_IOCTL_H */ +#endif /* _@GUARD_PREFIX@_SYS_IOCTL_H */