[IOMultiplexerV2] added possibility to access remote and local socket addresses
authorpk910 <philipp@zoelle1.de>
Sun, 20 Jul 2014 21:31:07 +0000 (23:31 +0200)
committerpk910 <philipp@zoelle1.de>
Sun, 20 Jul 2014 21:31:07 +0000 (23:31 +0200)
src/IOHandler/IOSockets.c
src/IOHandler/IOSockets.h

index c0d9310474fb6c52f85d2812c41ec9a85880a9d2..63a4115ebb49843dc307ecc817b8e033806a9b8e 100644 (file)
@@ -800,6 +800,22 @@ void iosocket_close(struct IOSocket *iosocket) {
        iogc_add(iosocket);
 }
 
+struct IODNSAddress *iosocket_get_remote_addr(struct IOSocket *iosocket) {
+       if(iosock->socket_flags & IOSOCKETFLAG_PENDING_DESTDNS)
+               return NULL;
+       if(!iosock->dest.addr.addresslen)
+               return NULL;
+       return &iosock->dest.addr;
+}
+
+struct IODNSAddress *iosocket_get_local_addr(struct IOSocket *iosocket) {
+       if(iosock->socket_flags & IOSOCKETFLAG_PENDING_BINDDNS)
+               return NULL;
+       if(!iosock->bind.addr.addresslen)
+               return NULL;
+       return &iosock->bind.addr;
+}
+
 static int iosocket_try_write(struct _IOSocket *iosock) {
        if(!iosock->writebuf.bufpos && !(iosock->socket_flags & IOSOCKETFLAG_SSL_WRITEHS)) \r
                return 0;
index 57bc4c7d214a046aed2244f489612571119b6d0e..f804fb6216f98f66aba036eb2970c7d2f9c452e8 100644 (file)
@@ -206,5 +206,8 @@ void iosocket_send(struct IOSocket *iosocket, const char *data, size_t datalen);
 void iosocket_printf(struct IOSocket *iosocket, const char *text, ...);
 void iosocket_close(struct IOSocket *iosocket);
 
+struct IODNSAddress *iosocket_get_remote_addr(struct IOSocket *iosocket);
+struct IODNSAddress *iosocket_get_local_addr(struct IOSocket *iosocket);
+
 #endif
 #endif