X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fsys_ioctl.in.h;h=8b0e2361a955ee17abc83e773c04070fd9995883;hb=14b6d70139486b63e66257aad1abe2a9615f4d96;hp=55d3b350dc66fbd5e0815fc24df520bbcab20a77;hpb=7f8441f9767253da8deb1f6c73a488220fcbcdd7;p=gnulib.git diff --git a/lib/sys_ioctl.in.h b/lib/sys_ioctl.in.h index 55d3b350d..8b0e2361a 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-2009 Free Software Foundation, Inc. + Copyright (C) 2008-2010 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 @@ -30,39 +30,47 @@ #define _GL_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 +_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