X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fsockets.h;h=93ae5d28004aaea3732f4b9bd55a1ece575a4268;hb=1bb384c44db25aef8f8b455cef22af32d8401abc;hp=33348db72d49a716b9cc5121d2e7335df326a9a6;hpb=a2d0b11f12ac48a198ac068a981be555191fe208;p=gnulib.git diff --git a/lib/sockets.h b/lib/sockets.h index 33348db72..93ae5d280 100644 --- a/lib/sockets.h +++ b/lib/sockets.h @@ -1,6 +1,6 @@ /* sockets.h - wrappers for Windows socket functions - Copyright (C) 2008 Free Software Foundation, Inc. + Copyright (C) 2008-2011 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -29,4 +29,23 @@ int gl_sockets_startup (int version); int gl_sockets_cleanup (void); -#endif +/* This function is useful it you create a socket using gnulib's + Winsock wrappers but needs to pass on the socket handle to some + other library that only accepts sockets. */ +#if WINDOWS_SOCKETS + +#include + +static inline SOCKET +gl_fd_to_handle (int fd) +{ + return _get_osfhandle (fd); +} + +#else + +#define gl_fd_to_handle(x) (x) + +#endif /* WINDOWS_SOCKETS */ + +#endif /* SOCKETS_H */