Blame gnulib-tests/sockets.h

Packit 33f14e
/* sockets.h - wrappers for Windows socket functions
Packit 33f14e
Packit 33f14e
   Copyright (C) 2008-2017 Free Software Foundation, Inc.
Packit 33f14e
Packit 33f14e
   This program is free software: you can redistribute it and/or modify
Packit 33f14e
   it under the terms of the GNU General Public License as published by
Packit 33f14e
   the Free Software Foundation; either version 3 of the License, or
Packit 33f14e
   (at your option) any later version.
Packit 33f14e
Packit 33f14e
   This program is distributed in the hope that it will be useful,
Packit 33f14e
   but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit 33f14e
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
Packit 33f14e
   GNU General Public License for more details.
Packit 33f14e
Packit 33f14e
   You should have received a copy of the GNU General Public License
Packit 33f14e
   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
Packit 33f14e
Packit 33f14e
/* Written by Simon Josefsson */
Packit 33f14e
Packit 33f14e
#ifndef SOCKETS_H
Packit 33f14e
#define SOCKETS_H 1
Packit 33f14e
Packit 33f14e
#define SOCKETS_1_0 0x0001
Packit 33f14e
#define SOCKETS_1_1 0x0101
Packit 33f14e
#define SOCKETS_2_0 0x0002
Packit 33f14e
#define SOCKETS_2_1 0x0102
Packit 33f14e
#define SOCKETS_2_2 0x0202
Packit 33f14e
Packit 33f14e
int gl_sockets_startup (int version)
Packit 33f14e
#ifndef WINDOWS_SOCKETS
Packit 33f14e
  _GL_ATTRIBUTE_CONST
Packit 33f14e
#endif
Packit 33f14e
  ;
Packit 33f14e
Packit 33f14e
int gl_sockets_cleanup (void)
Packit 33f14e
#ifndef WINDOWS_SOCKETS
Packit 33f14e
  _GL_ATTRIBUTE_CONST
Packit 33f14e
#endif
Packit 33f14e
  ;
Packit 33f14e
Packit 33f14e
/* This function is useful it you create a socket using gnulib's
Packit 33f14e
   Winsock wrappers but needs to pass on the socket handle to some
Packit 33f14e
   other library that only accepts sockets. */
Packit 33f14e
#ifdef WINDOWS_SOCKETS
Packit 33f14e
Packit 33f14e
# include <sys/socket.h>
Packit 33f14e
Packit 33f14e
# if GNULIB_MSVC_NOTHROW
Packit 33f14e
#  include "msvc-nothrow.h"
Packit 33f14e
# else
Packit 33f14e
#  include <io.h>
Packit 33f14e
# endif
Packit 33f14e
Packit 33f14e
static inline SOCKET
Packit 33f14e
gl_fd_to_handle (int fd)
Packit 33f14e
{
Packit 33f14e
  return _get_osfhandle (fd);
Packit 33f14e
}
Packit 33f14e
Packit 33f14e
#else
Packit 33f14e
Packit 33f14e
# define gl_fd_to_handle(x) (x)
Packit 33f14e
Packit 33f14e
#endif /* WINDOWS_SOCKETS */
Packit 33f14e
Packit 33f14e
#endif /* SOCKETS_H */