Blame lib/sockets.h

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