X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=lib%2Fsys_socket.in.h;h=e3f6d6c6ebd85c61a16f2efb4aa36eb9e46f5130;hb=d1d75d5540bf75df8bc41c85b5a9fd111ca1f2dd;hp=0ce7e9b9b7137292894b0121aa84fed6c0b41a62;hpb=87b039263152f63b9f799e486fb76bb45b3f6820;p=gnulib.git diff --git a/lib/sys_socket.in.h b/lib/sys_socket.in.h index 0ce7e9b9b..e3f6d6c6e 100644 --- a/lib/sys_socket.in.h +++ b/lib/sys_socket.in.h @@ -43,6 +43,10 @@ #ifndef _GL_SYS_SOCKET_H #define _GL_SYS_SOCKET_H +#if !@HAVE_SA_FAMILY_T@ +typedef unsigned short sa_family_t; +#endif + #if !@HAVE_STRUCT_SOCKADDR_STORAGE@ # include /* Code taken from glibc sysdeps/unix/sysv/linux/bits/socket.h on @@ -419,5 +423,32 @@ extern int rpl_shutdown (int, int); #endif /* HAVE_SYS_SOCKET_H */ +#ifdef __cplusplus +extern "C" { +#endif + +#if @GNULIB_ACCEPT4@ +/* Accept a connection on a socket, with specific opening flags. + The flags are a bitmask, possibly including O_CLOEXEC (defined in ) + and O_TEXT, O_BINARY (defined in "binary-io.h"). + See also the Linux man page at + . */ +# if @HAVE_ACCEPT4@ +# define accept4 rpl_accept4 +# endif +extern int accept4 (int sockfd, struct sockaddr *addr, socklen_t *addrlen, + int flags); +#elif defined GNULIB_POSIXCHECK +# undef accept4 +# define accept4(s,a,l,f) \ + (GL_LINK_WARNING ("accept4 is unportable - " \ + "use gnulib module accept4 for portability"), \ + accept4 (s, a, l, f)) +#endif + +#ifdef __cplusplus +} +#endif + #endif /* _GL_SYS_SOCKET_H */ #endif /* _GL_SYS_SOCKET_H */