Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

67 lines
1.0 KiB

#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