Cygwin: inline get_socket_flags()
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
This commit is contained in:
parent
8906a4d335
commit
a5dfbc6940
@ -10,6 +10,8 @@ details. */
|
|||||||
#include "pinfo.h"
|
#include "pinfo.h"
|
||||||
|
|
||||||
#include "tty.h"
|
#include "tty.h"
|
||||||
|
#include <cygwin/_socketflags.h>
|
||||||
|
|
||||||
/* fcntl flags used only internaly. */
|
/* fcntl flags used only internaly. */
|
||||||
#define O_NOSYMLINK 0x080000
|
#define O_NOSYMLINK 0x080000
|
||||||
#define O_DIROPEN 0x100000
|
#define O_DIROPEN 0x100000
|
||||||
@ -488,8 +490,15 @@ class fhandler_socket: public fhandler_base
|
|||||||
int addr_family;
|
int addr_family;
|
||||||
int type;
|
int type;
|
||||||
virtual int af_local_connect () = 0;
|
virtual int af_local_connect () = 0;
|
||||||
int get_socket_flags ();
|
inline int get_socket_flags ()
|
||||||
|
{
|
||||||
|
int ret = 0;
|
||||||
|
if (is_nonblocking ())
|
||||||
|
ret |= SOCK_NONBLOCK;
|
||||||
|
if (close_on_exec ())
|
||||||
|
ret |= SOCK_CLOEXEC;
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
wsa_event *wsock_events;
|
wsa_event *wsock_events;
|
||||||
HANDLE wsock_mtx;
|
HANDLE wsock_mtx;
|
||||||
HANDLE wsock_evt;
|
HANDLE wsock_evt;
|
||||||
|
@ -720,17 +720,6 @@ fhandler_socket::link (const char *newpath)
|
|||||||
return fhandler_base::link (newpath);
|
return fhandler_base::link (newpath);
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
|
||||||
fhandler_socket::get_socket_flags ()
|
|
||||||
{
|
|
||||||
int ret = 0;
|
|
||||||
if (is_nonblocking ())
|
|
||||||
ret |= SOCK_NONBLOCK;
|
|
||||||
if (close_on_exec ())
|
|
||||||
ret |= SOCK_CLOEXEC;
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
int
|
int
|
||||||
fhandler_socket::shutdown (int how)
|
fhandler_socket::shutdown (int how)
|
||||||
{
|
{
|
||||||
|
20
winsup/cygwin/include/cygwin/_socketflags.h
Normal file
20
winsup/cygwin/include/cygwin/_socketflags.h
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
/* cygwin/_socketflags.h
|
||||||
|
|
||||||
|
This file is part of Cygwin.
|
||||||
|
|
||||||
|
This software is a copyrighted work licensed under the terms of the
|
||||||
|
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
|
||||||
|
details. */
|
||||||
|
|
||||||
|
#ifndef _CYGWIN__SOCKETFLAGS_H
|
||||||
|
#define _CYGWIN__SOCKETFLAGS_H
|
||||||
|
|
||||||
|
/* GNU extension flags. Or them to the type parameter in calls to
|
||||||
|
socket(2) to mark socket as nonblocking and/or close-on-exec. */
|
||||||
|
#define SOCK_NONBLOCK 0x01000000
|
||||||
|
#define SOCK_CLOEXEC 0x02000000
|
||||||
|
#ifdef __INSIDE_CYGWIN__
|
||||||
|
#define _SOCK_FLAG_MASK 0xff000000 /* Bits left for more extensions */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _CYGWIN__SOCKETFLAGS_H */
|
@ -130,13 +130,8 @@ struct OLD_msghdr
|
|||||||
#define SOCK_RDM 4 /* reliably-delivered message */
|
#define SOCK_RDM 4 /* reliably-delivered message */
|
||||||
#define SOCK_SEQPACKET 5 /* sequential packet socket */
|
#define SOCK_SEQPACKET 5 /* sequential packet socket */
|
||||||
|
|
||||||
/* GNU extension flags. Or them to the type parameter in calls to
|
/* defines SOCK_NONBLOCK / SOCK_CLOEXEC */
|
||||||
socket(2) to mark socket as nonblocking and/or close-on-exec. */
|
#include <cygwin/_socketflags.h>
|
||||||
#define SOCK_NONBLOCK 0x01000000
|
|
||||||
#define SOCK_CLOEXEC 0x02000000
|
|
||||||
#ifdef __INSIDE_CYGWIN__
|
|
||||||
#define _SOCK_FLAG_MASK 0xff000000 /* Bits left for more extensions */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Supported address families. */
|
/* Supported address families. */
|
||||||
/*
|
/*
|
||||||
|
Loading…
x
Reference in New Issue
Block a user