Mercurial > hg > octave-lyh > gnulib-hg
changeset 11152:446c0f50d04c
sockets: Add gl_fd_to_handle.
author | Simon Josefsson <simon@josefsson.org> |
---|---|
date | Mon, 09 Feb 2009 14:54:23 +0100 |
parents | c3e8fb6b8af5 |
children | 59b0e29f6908 |
files | ChangeLog lib/sockets.h tests/test-sockets.c |
diffstat | 3 files changed, 23 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2009-02-09 Simon Josefsson <simon@josefsson.org> + + * lib/sockets.h (gl_fd_to_handle): New function. + + * tests/test-sockets.c: Call gl_fd_to_handle. + 2009-02-09 Bruno Haible <bruno@clisp.org> * doc/havelib.texi: Document the conventions on bi-arch systems.
--- 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, 2009 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,17 @@ int gl_sockets_startup (int version); int gl_sockets_cleanup (void); +/* 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 +static inline SOCKET +gl_fd_to_handle (int fd) +{ + return _get_osfhandle (fd); +} +#else +#define gl_fd_to_handle(x) (x) #endif + +#endif
--- a/tests/test-sockets.c +++ b/tests/test-sockets.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2008 Free Software Foundation + * Copyright (C) 2008, 2009 Free Software Foundation * Written by Simon Josefsson. * * This program is free software: you can redistribute it and/or modify @@ -40,5 +40,7 @@ return 1; } + gl_fd_to_handle (0); + return 0; }