diff --git a/marignotti.h b/marignotti.h index 89d8545..592b702 100644 --- a/marignotti.h +++ b/marignotti.h @@ -26,8 +26,6 @@ typedef struct Entry { Word command; LongWord cookie; LongWord timeout; - - Word socket_type; // select magic. selwakeupfx select_fx; @@ -54,6 +52,8 @@ typedef struct Entry { unsigned _LINGER:1; unsigned _NOSIGPIPE:1; + Word _TYPE; + LongWord _SNDLOWAT; LongWord _RCVLOWAT; LongWord _RCVTIMEO; diff --git a/mattach.c b/mattach.c index e88c0ed..583f3e5 100644 --- a/mattach.c +++ b/mattach.c @@ -44,7 +44,7 @@ int mattach(int type, void *p1, void *p2, void *p3, void *p4, void *p5) return ENOMEM; } e->select_fx = fx; - e->socket_type = type; + e->_TYPE = type; *(Word *)p1 = ipid; diff --git a/mgetsockopt.c b/mgetsockopt.c index 2d5cd75..4bfd108 100644 --- a/mgetsockopt.c +++ b/mgetsockopt.c @@ -84,7 +84,7 @@ int mgetsockopt(Entry *e, void *p1, void *p2, void *p3, void *p4, void *p5) case SO_TYPE: // todo... non-stream - return set_flag(optval, optlen, SOCK_STREAM); + return set_flag(optval, optlen, e->_TYPE); break; case SO_DEBUG: