Blame lib/sockets.h

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