Advertisement
tomkiewicz

Untitled

Aug 12th, 2021
1,277
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 2.56 KB | None | 0 0
  1. diff --git a/mDNSWindows/SystemService/Service.c b/mDNSWindows/SystemService/Service.c
  2. index a1a932e..5190e9d 100644
  3. --- a/mDNSWindows/SystemService/Service.c
  4. +++ b/mDNSWindows/SystemService/Service.c
  5. @@ -2020,7 +2020,7 @@ UDSReadNotification( SOCKET sock, LPWSANETWORKEVENTS event, void *context )
  6.  
  7.     if ( tcpSock )
  8.     {
  9. -       tcpSock->userCallback( ( int ) tcpSock->fd, tcpSock->userContext );
  10. +       tcpSock->userCallback.udsEvent(tcpSock->fd, tcpSock->userContext);
  11.     }
  12.  }
  13.  
  14. @@ -2047,7 +2047,7 @@ udsSupportAddFDToEventLoop( SocketRef fd, udsEventCallback callback, void *conte
  15.         mDNSPlatformMemZero( sock, sizeof( TCPSocket ) );
  16.  
  17.         sock->fd                = (SOCKET) fd;
  18. -       sock->userCallback      = callback;
  19. +       sock->userCallback.udsEvent = callback;
  20.         sock->userContext       = context;
  21.         sock->m                 = &gMDNSRecord;
  22.  
  23. diff --git a/mDNSWindows/mDNSWin32.c b/mDNSWindows/mDNSWin32.c
  24. index 2da2547..2eb569a 100644
  25. --- a/mDNSWindows/mDNSWin32.c
  26. +++ b/mDNSWindows/mDNSWin32.c
  27. @@ -1054,7 +1054,7 @@ mDNSPlatformTCPConnect
  28.  
  29.     // Setup connection data object
  30.  
  31. -   sock->userCallback  = (TCPUserCallback) inCallback;
  32. +   sock->userCallback.tcpConnection = inCallback;
  33.     sock->userContext   = inContext;
  34.  
  35.     mDNSPlatformMemZero(&saddr, sizeof(saddr));
  36. @@ -1220,7 +1220,7 @@ TCPSocketNotification( SOCKET sock, LPWSANETWORKEVENTS event, void *context )
  37.     DEBUG_UNUSED( sock );
  38.  
  39.     require_action( tcpSock, exit, err = mStatus_BadParamErr );
  40. -   callback = ( TCPConnectionCallback ) tcpSock->userCallback;
  41. +   callback = tcpSock->userCallback.tcpConnection;
  42.     require_action( callback, exit, err = mStatus_BadParamErr );
  43.  
  44.     if ( event && ( event->lNetworkEvents & FD_CONNECT ) )
  45. diff --git a/mDNSWindows/mDNSWin32.h b/mDNSWindows/mDNSWin32.h
  46. index 8dfad12..b455836 100644
  47. --- a/mDNSWindows/mDNSWin32.h
  48. +++ b/mDNSWindows/mDNSWin32.h
  49. @@ -26,21 +26,23 @@
  50.  
  51.  #include   "mDNSEmbeddedAPI.h"
  52.  #include   "uDNS.h"
  53. +#include   "uds_daemon.h"
  54.  
  55.  #ifdef __cplusplus
  56.     extern "C" {
  57.  #endif
  58.  
  59.  
  60. -typedef void ( *TCPUserCallback )();
  61. -
  62.  struct TCPSocket_struct
  63.  {
  64.      mDNSIPPort                  port;           // MUST BE FIRST FIELD -- mDNSCore expects every TCPSocket_struct to begin with mDNSIPPort
  65.      TCPSocketFlags              flags;          // MUST BE SECOND FIELD -- mDNSCore expects every TCPSocket_struct have TCPSocketFlags flags after mDNSIPPort
  66.     SOCKET                      fd;
  67.     BOOL                        connected;
  68. -   TCPUserCallback             userCallback;
  69. +   union {
  70. +       TCPConnectionCallback   tcpConnection;
  71. +       udsEventCallback        udsEvent;
  72. +   } userCallback;
  73.     void                    *   userContext;
  74.     BOOL                        closed;
  75.     mDNS                    *   m;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement