[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
new module 'ioctl'
From: |
Bruno Haible |
Subject: |
new module 'ioctl' |
Date: |
Fri, 10 Oct 2008 04:33:45 +0200 |
User-agent: |
KMail/1.5.4 |
This defines a module for the 'ioctl' function, and moves its declaration
from <sys/socket.h> to <sys/ioctl.h>.
Hopefully this is the last patch in this series of winsock-related
restructuring.
2008-10-09 Bruno Haible <address@hidden>
New module 'ioctl'.
* modules/ioctl: New file.
* lib/sys_socket.in.h (ioctl): Remove declaration.
* lib/winsock.c: Include <sys/ioctl.h>.
(rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
* m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
* modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
* doc/posix-functions/ioctl.texi: Mention the new module.
======================== modules/ioctl =================================
Description:
ioctl() function: issue device specific requests on files, devices, or sockets.
Files:
lib/winsock.c
Depends-on:
sys_ioctl
sys_socket
errno
configure.ac:
AC_REQUIRE([gl_HEADER_SYS_SOCKET])
if test "$ac_cv_header_winsock2_h" = yes; then
AC_LIBOBJ([winsock])
gl_REPLACE_SYS_IOCTL_H
fi
gl_SYS_IOCTL_MODULE_INDICATOR([ioctl])
gl_MODULE_INDICATOR([ioctl])
Makefile.am:
Include:
<sys/ioctl.h>
License:
LGPLv2+
Maintainer:
Paolo Bonzini, Simon Josefsson, Bruno Haible
========================================================================
*** lib/sys_socket.in.h.orig 2008-10-10 04:27:51.000000000 +0200
--- lib/sys_socket.in.h 2008-10-10 04:19:04.000000000 +0200
***************
*** 279,290 ****
listen (s, b))
# endif
- # if @HAVE_WINSOCK2_H@
- # undef ioctl
- # define ioctl rpl_ioctl
- extern int rpl_ioctl (int, int, ...);
- # endif
-
# if @GNULIB_RECV@
# if @HAVE_WINSOCK2_H@
# undef recv
--- 279,284 ----
*** lib/winsock.c.orig 2008-10-10 04:27:51.000000000 +0200
--- lib/winsock.c 2008-10-10 04:18:33.000000000 +0200
***************
*** 25,30 ****
--- 25,33 ----
#include <fcntl.h>
#include <io.h>
#include <sys/socket.h>
+ #if GNULIB_IOCTL
+ #include <sys/ioctl.h>
+ #endif
#undef socket
#undef connect
***************
*** 224,229 ****
--- 227,233 ----
}
#endif
+ #if GNULIB_IOCTL
int
rpl_ioctl (int fd, int req, ...)
{
***************
*** 243,248 ****
--- 247,253 ----
return r;
}
+ #endif
#if GNULIB_RECV
int
*** m4/sys_socket_h.m4.orig 2008-10-10 04:27:51.000000000 +0200
--- m4/sys_socket_h.m4 2008-10-10 04:18:32.000000000 +0200
***************
*** 1,4 ****
! # sys_socket_h.m4 serial 9
dnl Copyright (C) 2005-2008 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
--- 1,4 ----
! # sys_socket_h.m4 serial 10
dnl Copyright (C) 2005-2008 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
***************
*** 72,77 ****
--- 72,78 ----
AC_DEFUN([gl_PREREQ_SYS_H_WINSOCK2],
[
AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
+ AC_REQUIRE([gl_SYS_IOCTL_H_DEFAULTS])
AC_CHECK_HEADERS_ONCE([sys/socket.h])
if test $ac_cv_header_sys_socket_h != yes; then
dnl We cannot use AC_CHECK_HEADERS_ONCE here, because that would make
***************
*** 83,88 ****
--- 84,90 ----
if test "$ac_cv_header_winsock2_h" = yes; then
HAVE_WINSOCK2_H=1
UNISTD_H_HAVE_WINSOCK2_H=1
+ SYS_IOCTL_H_HAVE_WINSOCK2_H=1
else
HAVE_WINSOCK2_H=0
fi
*** modules/sys_socket.orig 2008-10-10 04:27:51.000000000 +0200
--- modules/sys_socket 2008-10-10 04:18:32.000000000 +0200
***************
*** 7,12 ****
--- 7,13 ----
m4/sys_socket_h.m4
m4/sockpfaf.m4
m4/unistd_h.m4
+ m4/sys_ioctl_h.m4
Depends-on:
include_next
*** doc/posix-functions/ioctl.texi.orig 2008-10-10 04:27:51.000000000 +0200
--- doc/posix-functions/ioctl.texi 2008-10-10 04:18:32.000000000 +0200
***************
*** 4,10 ****
POSIX specification: @url{http://www.opengroup.org/susv3xsh/ioctl.html}
! Gnulib module: sys_socket
Portability problems fixed by Gnulib:
@itemize
--- 4,10 ----
POSIX specification: @url{http://www.opengroup.org/susv3xsh/ioctl.html}
! Gnulib module: ioctl
Portability problems fixed by Gnulib:
@itemize
- new module 'ioctl',
Bruno Haible <=
- Re: new module 'ioctl', Paolo Bonzini, 2008/10/10
- test-poll vs ioctl, Simon Josefsson, 2008/10/20
- Re: test-poll vs ioctl, Paolo Bonzini, 2008/10/20
- Re: test-poll vs ioctl, Simon Josefsson, 2008/10/20
- Re: test-poll vs ioctl, Bruno Haible, 2008/10/20
- Re: test-poll vs ioctl, Paolo Bonzini, 2008/10/20
- Re: test-poll vs ioctl, Simon Josefsson, 2008/10/21
- winsock.c split, Simon Josefsson, 2008/10/21
- Re: winsock.c split, Bruno Haible, 2008/10/21
- Re: winsock.c split, Simon Josefsson, 2008/10/21