summaryrefslogtreecommitdiffstats
path: root/gl/sockets.h
diff options
context:
space:
mode:
Diffstat (limited to 'gl/sockets.h')
-rw-r--r--gl/sockets.h51
1 files changed, 51 insertions, 0 deletions
diff --git a/gl/sockets.h b/gl/sockets.h
new file mode 100644
index 00000000..921bf6f7
--- /dev/null
+++ b/gl/sockets.h
@@ -0,0 +1,51 @@
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 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 General Public License for more details.
14
15 You should have received a copy of the GNU 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 */