summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/cygtls.h
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/cygtls.h')
-rw-r--r--winsup/cygwin/cygtls.h25
1 files changed, 22 insertions, 3 deletions
diff --git a/winsup/cygwin/cygtls.h b/winsup/cygwin/cygtls.h
index 0c709b9bc..29bd1cf80 100644
--- a/winsup/cygwin/cygtls.h
+++ b/winsup/cygwin/cygtls.h
@@ -51,6 +51,24 @@ public:
friend class _cygtls;
};
+class unionent
+{
+public:
+ char *name;
+ char **list;
+ short port_proto_addrtype;
+ short h_len;
+ union
+ {
+ char *s_proto;
+ char **h_addr_list;
+ };
+ enum struct_type
+ {
+ t_hostent, t_protoent, t_servent
+ };
+};
+
struct _local_storage
{
/*
@@ -102,11 +120,12 @@ struct _local_storage
/* net.cc */
char *ntoa_buf; // note: malloced
- struct protoent *protoent_buf; // note: malloced
- struct servent *servent_buf; // note: malloced
- struct hostent *hostent_buf; // note: malloced
char signamebuf[sizeof ("Unknown signal 4294967295 ")];
+ unionent *hostent_buf; // note: malloced
+ unionent *protoent_buf; // note: malloced
+ unionent *servent_buf; // note: malloced
+
/* cygthread.cc */
char unknown_thread_name[30];