Temporarily fix `unistr.in.h' to allow compilation with `-Wundef'.
[bpt/guile.git] / lib / sockets.h
CommitLineData
0f00f2c3
LC
1/* sockets.h - wrappers for Windows socket functions
2
3 Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
4
5 This program is free software: you can redistribute it and/or modify
6 it under the terms of the GNU Lesser General Public License as published by
7 the Free Software Foundation; either version 3 of the License, or
8 (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public License
16 along with this program. If not, see <http://www.gnu.org/licenses/>. */
17
18/* Written by Simon Josefsson */
19
20#ifndef SOCKETS_H
21# define SOCKETS_H 1
22
23#define SOCKETS_1_0 0x100 /* don't use - does not work on Windows XP */
24#define SOCKETS_1_1 0x101
25#define SOCKETS_2_0 0x200 /* don't use - does not work on Windows XP */
26#define SOCKETS_2_1 0x201
27#define SOCKETS_2_2 0x202
28
29int gl_sockets_startup (int version);
30int gl_sockets_cleanup (void);
31
32/* This function is useful it you create a socket using gnulib's
33 Winsock wrappers but needs to pass on the socket handle to some
34 other library that only accepts sockets. */
35#if WINDOWS_SOCKETS
36
37#include <sys/socket.h>
38
39static inline SOCKET
40gl_fd_to_handle (int fd)
41{
42 return _get_osfhandle (fd);
43}
44
45#else
46
47#define gl_fd_to_handle(x) (x)
48
49#endif /* WINDOWS_SOCKETS */
50
51#endif /* SOCKETS_H */