]> git.saurik.com Git - apple/mdnsresponder.git/blobdiff - mDNSWindows/mDNSWin32.h
mDNSResponder-765.1.2.tar.gz
[apple/mdnsresponder.git] / mDNSWindows / mDNSWin32.h
index 95e1fddfe6ff1a7fa30a9b26d02ea5ee2d8accbe..6b5b43566484cdc04ff5182f4fc723569c9e911c 100755 (executable)
        extern "C" {
 #endif
 
-typedef void ( *TCPReadEventHandler )( TCPSocket * sock );
+
 typedef void ( *TCPUserCallback )();
 
 struct TCPSocket_struct
 {
        TCPSocketFlags                          flags;          // MUST BE FIRST FIELD -- mDNSCore expects every TCPSocket_struct to begin with TCPSocketFlags flags
        SOCKET                                          fd;
-       TCPReadEventHandler                     readEventHandler;
-       HANDLE                                          connectEvent;
        BOOL                                            connected;
        TCPUserCallback                         userCallback;
        void                                    *       userContext;
-       DWORD                                           lastError;
-       BOOL                                            closed;\r
-       OVERLAPPED                                      overlapped;
-       WSABUF                                          wbuf;
-       uint8_t                                         buf[ 4192 ];
-       uint8_t                                 *       bptr;
-       uint8_t                                 *       eptr;
+       BOOL                                            closed;
        mDNS                                    *       m;
 };
 
 
 struct UDPSocket_struct
 {
-       mDNSIPPort                                              port;                   // MUST BE FIRST FIELD -- mDNSCoreReceive expects every UDPSocket_struct to begin with mDNSIPPort port
-       mDNSAddr                                                addr;                   // This is initialized by our code. If we don't get the 
-                                                                                                       // dstAddr from WSARecvMsg we use this value instead.
-       SOCKET                                                  fd;
-       LPFN_WSARECVMSG                                 recvMsgPtr;
-       OVERLAPPED                                              overlapped;
-       WSAMSG                                                  wmsg;
-       WSABUF                                                  wbuf;
-       DNSMessage                                              packet;
-       uint8_t                                                 controlBuffer[ 128 ];
-       struct sockaddr_storage                 srcAddr;                // This is filled in by the WSARecv* function
-       INT                                                             srcAddrLen;             // See above
-       struct mDNSInterfaceData        *       ifd;
-       UDPSocket                                       *       next;
-       mDNS                                            *       m;
-};
-
-
-typedef void ( *SocketEventHandler )( mDNS * const inMDNS, void * v );
-
-
-typedef struct SocketEvent
-{
-       void                                    *       sock;
-       SocketEventHandler                      handler;
-       struct SocketEvent              *       next;
-} SocketEvent;
-
-
-typedef struct TCPSocketEvent
-{
-       struct SocketEvent                      super;
-       DWORD                                           error;
-       DWORD                                           bytesTransferred;
-       uint8_t                                         buf[ 4192 ];
-} TCPSocketEvent;
-
-
-typedef struct UDPSocketEvent
-{
-       struct SocketEvent                      super;
-       mDNSInterfaceID                         iid;
+       mDNSIPPort                                      port;           // MUST BE FIRST FIELD -- mDNSCoreReceive expects every UDPSocket_struct to begin with mDNSIPPort port
+       mDNSAddr                                        addr;           // This is initialized by our code. If we don't get the 
+                                                                                       // dstAddr from WSARecvMsg we use this value instead.
+       SOCKET                                          fd;
+       LPFN_WSARECVMSG                         recvMsgPtr;
        DNSMessage                                      packet;
-       mDNSu8                                  *       end;
-       mDNSAddr                                        srcAddr;
-       mDNSIPPort                                      srcPort;
-       mDNSAddr                                        dstAddr;
-       mDNSIPPort                                      dstPort;
-} UDPSocketEvent;
-
+       struct mDNSInterfaceData        *ifd;
+       UDPSocket                                       *next;
+       mDNS                                            *m;
+};
 
 
 //---------------------------------------------------------------------------------------------------------------------------
@@ -127,21 +79,6 @@ struct      mDNSInterfaceData
 };
 
 
-//---------------------------------------------------------------------------------------------------------------------------
-/*!    @typedef        RegisterWaitableEventHandler
-*/
-typedef void           (*RegisterWaitableEventHandler)(mDNS * const inMDNS, HANDLE event, void * context );
-
-//---------------------------------------------------------------------------------------------------------------------------
-/*!    @typedef        RegisterWaitableEventFunc
-*/
-typedef mStatus                (*RegisterWaitableEventFunc)(mDNS * const inMDNS, HANDLE event, void * context, RegisterWaitableEventHandler handler );
-
-//---------------------------------------------------------------------------------------------------------------------------
-/*!    @typedef        UnregisterWaitableEventHandler
-*/
-typedef void           (*UnregisterWaitableEventFunc)(mDNS * const inMDNS, HANDLE event );
-
 //---------------------------------------------------------------------------------------------------------------------------
 /*!    @typedef        ReportStatusFunc
 */
@@ -159,8 +96,6 @@ struct       mDNS_PlatformSupport_struct
        HANDLE                                          mainThread;
        HANDLE                                          checkFileSharesTimer;
        mDNSs32                                         checkFileSharesTimeout;
-       RegisterWaitableEventFunc       registerWaitableEventFunc;
-       UnregisterWaitableEventFunc     unregisterWaitableEventFunc;
        ReportStatusFunc                        reportStatusFunc;
        time_t                                          nextDHCPLeaseExpires;
        char                                            nbname[ 32 ];
@@ -175,6 +110,8 @@ struct      mDNS_PlatformSupport_struct
        mDNSInterfaceData *                     inactiveInterfaceList;
        struct UDPSocket_struct         unicastSock4;
        struct UDPSocket_struct         unicastSock6;
+       DWORD                                           osMajorVersion;
+       DWORD                                           osMinorVersion;
 };
 
 //---------------------------------------------------------------------------------------------------------------------------
@@ -205,7 +142,7 @@ struct ifaddrs
        }       ifa_extra;
 };
 
-\r
+
 extern void            InterfaceListDidChange( mDNS * const inMDNS );
 extern void            ComputerDescriptionDidChange( mDNS * const inMDNS );
 extern void            TCPIPConfigDidChange( mDNS * const inMDNS );
@@ -216,7 +153,7 @@ extern mStatus  TCPAddSocket( mDNS * const inMDNS, TCPSocket *sock );
 extern mStatus SetupInterfaceList( mDNS * const inMDNS );
 extern mStatus TearDownInterfaceList( mDNS * const inMDNS );
 extern BOOL            IsWOMPEnabled();
-extern void            SetSocketEventsEnabled( mDNS * const inMDNS, BOOL val );
+extern void     DispatchSocketEvents( mDNS * const inMDNS );
 
 
 #ifdef __cplusplus