Leaked source code of windows server 2003
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.
 
 
 
 
 
 

176 lines
4.8 KiB

/*++=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Copyright (c) 2000 Microsoft Corporation
Module Name:
resources.h
Abstract:
Defines and other global manifests used in the W3Spoof project.
Author:
Paul M Midgen (pmidge) 13-August-2000
Revision History:
13-August-2000 pmidge
Created
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--*/
#ifndef __RESOURCES_H__
#define __RESOURCES_H__
#define SHELLMESSAGE_W3SICON (WM_USER+12387)
#define INITIAL_DATA_BUFFER_SIZE 4096
#define SOCKET_CLOSE_ABORTIVE 0
#define SOCKET_CLOSE_GRACEFUL 1
#define CK_INVALID_KEY 0xFFFFFFFF
#define CK_NEW_CONNECTION 0x00000000
#define CK_NORMAL 0x00000001
#define CK_CANCEL_IO 0x00000002
#define CK_TERMINATE_THREAD 0x00000003
#define TPO_MAX_POOL_THREADS 0x00000001
#define TPO_MAX_ACTIVE_THREADS 0x00000002
#define TPO_SERVER_LISTEN_PORT 0x00000003
#define TPO_CONDITIONAL_ACCEPT 0x00000004
#define ERROR_FAILURE 0xFFFFF666
typedef DWORD (WINAPI *THREADFUNC)(LPVOID lpv);
#define DECLAREIUNKNOWN() \
HRESULT __stdcall QueryInterface(REFIID riid, void** ppv); \
ULONG __stdcall AddRef(void); \
ULONG __stdcall Release(void);
#define DECLAREIDISPATCH() \
HRESULT __stdcall GetTypeInfoCount(UINT* pctinfo); \
HRESULT __stdcall GetTypeInfo(UINT index, LCID lcid, ITypeInfo** ppti); \
HRESULT __stdcall GetIDsOfNames(REFIID riid, LPOLESTR* arNames, UINT cNames, LCID lcid, DISPID* arDispId); \
HRESULT __stdcall Invoke(DISPID dispid, REFIID riid, LCID lcid, WORD flags, DISPPARAMS* pdp, VARIANT* pvr, EXCEPINFO* pei, UINT* pae);
#define DECLAREIPROVIDECLASSINFO() \
HRESULT __stdcall GetClassInfo(ITypeInfo** ppti);
#define DECLAREIOBJECTWITHSITE() \
HRESULT __stdcall SetSite(IUnknown* pUnkSite); \
HRESULT __stdcall GetSite(REFIID riid, void** ppvSite);
#define SAFECLOSE(x) if((x!=INVALID_HANDLE_VALUE) && (x!=NULL)) { CloseHandle(x); x=NULL; }
#define SAFECLOSESOCKET(x) if(x!=INVALID_SOCKET) { closesocket(x); x=INVALID_SOCKET; }
#define SAFEDELETE(x) if(x) { delete x; x=NULL; }
#define SAFEDELETEBUF(x) if(DWORD(x)) {delete [] x; x=NULL;}
#define SAFERELEASE(x) if(x) { x->Release(); x=NULL; }
#define SAFETERMINATE(x) if(x) { x->Terminate(); }
#define SAFEDELETEBSTR(x) if(x) { SysFreeString(x); x=NULL; }
#define VALIDSOCKET(x) ((x!=INVALID_SOCKET) ? TRUE : FALSE)
#define VALIDDISPID(x) ((x!=DISPID_UNKNOWN) ? TRUE : FALSE)
#define SOCKADDRBUFSIZE (sizeof(SOCKADDR_IN)+16)
#define NEWVARIANT(x) VARIANT x; VariantInit(&x);
#define GETIOCTX(x) (x ? ((PIOCTX)((DWORD_PTR)x - sizeof(DWORD_PTR))) : NULL)
//
// forward decls
//
class CW3Spoof;
//
// typedefs
//
typedef class IOCTX* PIOCTX;
typedef class CSession SESSIONOBJ;
typedef class CSession* PSESSIONOBJ;
typedef class CSocket SOCKETOBJ;
typedef class CSocket* PSOCKETOBJ;
typedef class CRequest REQUESTOBJ;
typedef class CRequest* PREQUESTOBJ;
typedef class CResponse RESPONSEOBJ;
typedef class CResponse* PRESPONSEOBJ;
typedef class CUrl URLOBJ;
typedef class CUrl* PURLOBJ;
typedef class CHeaders HEADERSOBJ;
typedef class CHeaders* PHEADERSOBJ;
typedef class CEntity ENTITYOBJ;
typedef class CEntity* PENTITYOBJ;
typedef struct sockaddr_in SOCKADDR_IN;
typedef struct sockaddr_in* PSOCKADDR_IN;
typedef CRITICAL_SECTION CRITSEC;
typedef LPCRITICAL_SECTION PCRITSEC;
typedef BY_HANDLE_FILE_INFORMATION BHFI;
typedef LPBY_HANDLE_FILE_INFORMATION LPBHFI;
typedef URL_COMPONENTSW URLCOMP;
typedef LPURL_COMPONENTSW PURLCOMP;
typedef struct _HOSTINFO
{
char* name;
char* addr;
u_short port;
}
HOSTINFO, *PHOSTINFO;
typedef enum _state
{
ST_CREATED,
ST_OPENING,
ST_OPEN,
ST_CLOSING,
ST_CLOSED,
ST_ERROR
}
STATE, *PSTATE;
typedef enum _serverstate
{
SS_START_STATE = 0,
SS_SOCKET_CONNECTED,
SS_REQUEST_PENDING,
SS_REQUEST_COMPLETE,
SS_RESPONSE_PENDING,
SS_RESPONSE_COMPLETE,
SS_SOCKET_DISCONNECTED
}
SERVERSTATE, *PSERVERSTATE;
#define SCRIPTHANDLERS 5
typedef enum _tagScriptDispid
{
Global = -1,
OnConnect = 0,
OnDataAvailable,
OnRequest,
OnResponse,
OnClose
}
SCRIPTDISPID, *PSCRIPTDISPID;
typedef enum _tagIOTYPE
{
IOCT_CONNECT = 0,
IOCT_RECV,
IOCT_SEND,
IOCT_DUMMY
}
IOTYPE, *PIOTYPE;
typedef struct _dispidtableentry
{
DWORD hash;
DISPID dispid;
LPWSTR name;
}
DISPIDTABLEENTRY, *PDISPIDTABLEENTRY;
#endif /* __RESOURCES_H__ */