/* * htmlstr.h * * HTML string constants * */ #ifndef _HTMLSTR_H #define _HTMLSTR_H #if !defined( WIN16 ) || !defined( __WATCOMC__ ) #ifdef DEFINE_STRING_CONSTANTS #ifndef UNIX #define MAKEBSTR(name, count, strdata) \ extern "C" CDECL const WORD DATA_##name [] = {(count * sizeof(OLECHAR)), 0x00, L##strdata}; \ extern "C" CDECL BSTR name = (BSTR)& DATA_##name[2]; #else // IEUNIX : Trying to get same memory layout as above. struct UNIX_BSTR_FORMAT { DWORD cbCount; \ WCHAR data[] ; \ }; #define MAKEBSTR(name, count, strdata) \ const struct UNIX_BSTR_FORMAT STRUCT_##name = {(count * sizeof(OLECHAR)), L##strdata}; \ extern "C" CDECL BSTR name = (BSTR) &STRUCT_##name.data; #endif #define STR_GLOBAL(x,y) extern "C" CDECL const TCHAR x[] = TEXT(y) #define STR_GLOBAL_ANSI(x,y) extern "C" CDECL const char x[] = y #define STR_GLOBAL_WIDE(x,y) extern "C" CDECL const WCHAR x[] = L##y #else #define MAKEBSTR(name, count, strdata) extern "C" CDECL LPCWSTR name #define STR_GLOBAL(x,y) extern "C" CDECL const TCHAR x[] #define STR_GLOBAL_ANSI(x,y) extern "C" CDECL const char x[] #define STR_GLOBAL_WIDE(x,y) extern "C" CDECL const WCHAR x[] #endif #else // !WIN16 || !__WATCOMC__ #ifdef DEFINE_STRING_CONSTANTS #define MAKEBSTR(name, count, strdata) \ extern "C" const char CDECL DATA_##name [] = {(count * sizeof(OLECHAR)), 0x00, strdata}; \ extern "C" BSTR CDECL name = (BSTR)& DATA_##name[2]; #define STR_GLOBAL(x,y) extern "C" const TCHAR CDECL x[] = TEXT(y) #define STR_GLOBAL_ANSI(x,y) extern "C" const char CDECL x[] = y #define STR_GLOBAL_WIDE(x,y) extern "C" const WCHAR CDECL x[] = y #else #define MAKEBSTR(name, count, strdata) extern "C" LPCWSTR CDECL name #define STR_GLOBAL(x,y) extern "C" const TCHAR CDECL x[] #define STR_GLOBAL_ANSI(x,y) extern "C" const char CDECL x[] #define STR_GLOBAL_WIDE(x,y) extern "C" const WCHAR CDECL x[] #endif #endif // !WIN16 || !__WATCOMC__ MAKEBSTR(c_bstr_AfterBegin, 10, "AfterBegin"); MAKEBSTR(c_bstr_BeforeEnd, 9, "BeforeEnd"); MAKEBSTR(c_bstr_SRC, 3, "src"); MAKEBSTR(c_bstr_HREF, 4, "HREF"); MAKEBSTR(c_bstr_IMG, 3, "IMG"); MAKEBSTR(c_bstr_BGSOUND, 7, "BGSOUND"); MAKEBSTR(c_bstr_BASE, 4, "BASE"); MAKEBSTR(c_bstr_Word, 4, "Word"); MAKEBSTR(c_bstr_Character, 9, "Character"); MAKEBSTR(c_bstr_StartToEnd, 10, "StartToEnd"); MAKEBSTR(c_bstr_EndToEnd, 8, "EndToEnd"); MAKEBSTR(c_bstr_StartToStart, 12, "StartToStart"); MAKEBSTR(c_bstr_EndToStart, 10, "EndToStart"); MAKEBSTR(c_bstr_ANCHOR, 1, "A"); MAKEBSTR(c_bstr_BLOCKQUOTE,10, "BLOCKQUOTE"); MAKEBSTR(c_bstr_BACKGROUND,10, "background"); MAKEBSTR(c_bstr_BODY, 4, "BODY"); MAKEBSTR(c_bstr_TABLE, 5, "TABLE"); MAKEBSTR(c_bstr_TD, 2, "TD"); MAKEBSTR(c_bstr_TH, 2, "TH"); MAKEBSTR(c_bstr_FRAME, 5, "FRAME"); MAKEBSTR(c_bstr_IFRAME, 6, "IFRAME"); MAKEBSTR(c_bstr_FRAMESET, 8, "FRAMESET"); MAKEBSTR(c_bstr_LINK, 4, "LINK"); MAKEBSTR(c_bstr_REL, 3, "REL"); MAKEBSTR(c_bstr_STYLESHEET, 10, "stylesheet"); MAKEBSTR(c_bstr_DYNSRC, 6, "DYNSRC"); MAKEBSTR(c_bstr_INPUT, 5, "INPUT" ); MAKEBSTR(c_bstr_AREA, 4, "AREA" ); MAKEBSTR(c_bstr_ON, 2, "on" ); MAKEBSTR(c_bstr_SCRIPT, 6, "SCRIPT" ); MAKEBSTR(c_bstr_EMPTY, 0, ""); MAKEBSTR(c_bstr_DesignOff, 3, "off" ); MAKEBSTR(c_bstr_BLANK, 11, "about:blank"); #endif //_HTMLSTR_H