windows-nt/Source/XPSP1/NT/net/upnp/inc/eventsrv.h
2020-09-26 16:20:57 +08:00

68 lines
1 KiB
C

#include <winsock2.h>
#include "ssdpparser.h"
#include "ssdpfunc.h"
#define EVENT_PORT 5000
#ifdef __cplusplus
extern "C" {
#endif
#define OPEN_TCP_CONN_SIGNATURE 0x1972
#define MAX_EVENT_BUF_THROTTLE_SIZE 200000
#define MAX_EVENT_NOTIFY_HEADER_THROTTLE_SIZE 8192
typedef enum _CONNECTION_STATE
{
CONNECTION_INIT,
CONNECTION_HEADERS_READY,
CONNECTION_ERROR_CLOSING,
CONNECTION_ERROR_FORCED_CLOSE
} CONNECTION_STATE;
typedef struct _OPEN_TCP_CONN {
LIST_ENTRY linkage;
INT iType;
SOCKET socketPeer;
CONNECTION_STATE state;
SSDP_REQUEST ssdpRequest;
CHAR *szData;
DWORD cbData;
DWORD cbHeaders;
} OPEN_TCP_CONN, *POPEN_TCP_CONN;
SOCKET CreateHttpSocket();
BOOL StartHttpServer(SOCKET HttpSocket, HWND hWnd, u_int wMsg);
VOID InitializeListOpenConn();
VOID CleanupListOpenConn();
VOID HandleAccept(SOCKET socket);
VOID CleanupHttpSocket();
DWORD WINAPI LookupListOpenConn(LPVOID pvData);
VOID RemoveOpenConn(SOCKET socket);
#ifdef __cplusplus
}
#endif