diff options
-rw-r--r-- | Asenath/Asenath.cpp | 355 | ||||
-rw-r--r-- | Asenath/Asenath.def | 10 | ||||
-rw-r--r-- | Asenath/Asenath.dsp | 170 | ||||
-rw-r--r-- | Asenath/Asenath.dsw | 41 | ||||
-rw-r--r-- | Asenath/StdAfx.cpp | 8 | ||||
-rw-r--r-- | Asenath/StdAfx.h | 24 |
6 files changed, 608 insertions, 0 deletions
diff --git a/Asenath/Asenath.cpp b/Asenath/Asenath.cpp new file mode 100644 index 0000000..13252ad --- /dev/null +++ b/Asenath/Asenath.cpp @@ -0,0 +1,355 @@ +// Asenath.cpp : Defines the entry point for the DLL application. +// + +#include "stdafx.h" +#include "httpext.h" + +#include "corediatheke.h" + +#include <string> +#include <strstream> + +BOOL APIENTRY DllMain( HANDLE hModule, + DWORD ul_reason_for_call, + LPVOID lpReserved + ) +{ + return TRUE; +} + +BOOL WINAPI GetExtensionVersion(HSE_VERSION_INFO *pVer) +{ + pVer->dwExtensionVersion = HSE_VERSION; + strncpy(pVer->lpszExtensionDesc, "Asenath ISAPI Extension", HSE_MAX_EXT_DLL_NAME_LEN); + return TRUE; +} + +void WriteContext(EXTENSION_CONTROL_BLOCK *pECB, const char *pszFormat, ...) +{ + char szBuffer[1024]; + va_list arg_ptr; + va_start(arg_ptr, pszFormat); + vsprintf(szBuffer, pszFormat, arg_ptr); + va_end(arg_ptr); + + DWORD dwSize = strlen(szBuffer); + pECB->WriteClient(pECB->ConnID, szBuffer, &dwSize, 0); +} + +void StartContext(EXTENSION_CONTROL_BLOCK *pECB, bool palm) +{ + if (!palm) { + WriteContext(pECB, "<html><head>"); + WriteContext(pECB, "<title>Diatheke Interlinear Bible</title>"); + WriteContext(pECB, "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">"); + WriteContext(pECB, "<meta name=\"palmcomputingplatform\" content=\"true\">"); + WriteContext(pECB, "<meta name=\"historylisttext\" content=\"Diatheke\">"); + WriteContext(pECB, "<style type=\"text/css\">"); + WriteContext(pECB, "#divBottom{position:absolute; visibility:hidden; font-family:arial,helvetica; height:30; width:100; font-size:10pt; font-weight:bold}"); + WriteContext(pECB, "A:link, A:visited, A:active{text-decoration: none}"); + WriteContext(pECB, "</style>"); + WriteContext(pECB, "<script type=\"text/javascript\" language=\"JavaScript\">"); + WriteContext(pECB, "/********************************************************************************"); + WriteContext(pECB, "Copyright (C) 1999 Thomas Brattli"); + WriteContext(pECB, "This script is made by and copyrighted to Thomas Brattli at www.bratta.com"); + WriteContext(pECB, "Visit for more great scripts. This may be used freely as long as this msg is intact!"); + WriteContext(pECB, "I will also appriciate any links you could give me."); + WriteContext(pECB, "********************************************************************************/"); + WriteContext(pECB, "//Default browsercheck, added to all scripts!"); + WriteContext(pECB, "function checkBrowser(){"); + WriteContext(pECB, "this.ver=navigator.appVersion;"); + WriteContext(pECB, "this.dom=document.getElementById?1:0;"); + WriteContext(pECB, "this.ie5=( (this.ver.indexOf(\"MSIE 6\")>-1 || this.ver.indexOf(\"MSIE 5\")>-1) && this.dom)?1:0;"); + WriteContext(pECB, "this.ie4=(document.all && !this.dom)?1:0;"); + WriteContext(pECB, "this.ns5=(this.dom && parseInt(this.ver) >= 5) ?1:0;"); + WriteContext(pECB, "this.ns4=(document.layers && !this.dom)?1:0;"); + WriteContext(pECB, "this.bw=(this.ie5 || this.ie4 || this.ns4 || this.ns5);"); + WriteContext(pECB, "return this;"); + WriteContext(pECB, "}"); + WriteContext(pECB, "bw=new checkBrowser()"); + WriteContext(pECB, "/********************************************************************************"); + WriteContext(pECB, "Remeber to set the look of the divBottom layer in the stylesheet (if you wan't"); + WriteContext(pECB, "another font or something)"); + WriteContext(pECB, "********************************************************************************/"); + WriteContext(pECB, "/*Set these values, gright for how much from the right you wan't the layer to go"); + WriteContext(pECB, "and gbottom for how much from the bottom you want it*/"); + WriteContext(pECB, "var gright=160"); + WriteContext(pECB, "var gbottom=80"); + WriteContext(pECB, "/********************************************************************************"); + WriteContext(pECB, "Constructing the ChangeText object"); + WriteContext(pECB, "********************************************************************************/"); + WriteContext(pECB, "function makeObj(obj,nest){"); + WriteContext(pECB, "nest=(!nest) ? '':'document.'+nest+'.';"); + WriteContext(pECB, "this.css=bw.dom? document.getElementById(obj).style:bw.ie4?document.all[obj].style:bw.ns4?eval(nest+\"document.layers.\" +obj):0;"); + WriteContext(pECB, "this.moveIt=b_moveIt;"); + WriteContext(pECB, "}"); + WriteContext(pECB, "function b_moveIt(x,y){this.x=x; this.y=y; this.css.left=this.x; this.css.top=this.y}"); + WriteContext(pECB, "/********************************************************************************"); + WriteContext(pECB, "Initilizing the page, getting height and width to moveto and calls the "); + WriteContext(pECB, "object constructor"); + WriteContext(pECB, "********************************************************************************/"); + WriteContext(pECB, "function geoInit(){"); + WriteContext(pECB, "oGeo=new makeObj('divBottom');"); + WriteContext(pECB, "pageWidth=(bw.ie4 || bw.ie5)?document.body.offsetWidth-4:innerWidth;"); + WriteContext(pECB, "pageHeight=(bw.ie4 || bw.ie5)?document.body.offsetHeight-2:innerHeight;"); + WriteContext(pECB, "checkIt();"); + WriteContext(pECB, "// sets the resize handler."); + WriteContext(pECB, "onresize=resized;"); + WriteContext(pECB, "if(bw.ie4 || bw.ie5) window.onscroll=checkIt;"); + WriteContext(pECB, "// shows the div"); + WriteContext(pECB, "oGeo.css.visibility='visible';"); + WriteContext(pECB, "}"); + WriteContext(pECB, "/********************************************************************************"); + WriteContext(pECB, "This function executes onscroll in ie and every 30 millisecond in ns"); + WriteContext(pECB, "and checks if the user have scrolled, and if it has it moves the layer."); + WriteContext(pECB, "********************************************************************************/"); + WriteContext(pECB, "function checkIt(){"); + WriteContext(pECB, "if(bw.ie4 || bw.ie5) oGeo.moveIt(document.body.scrollLeft +pageWidth-gright,document.body.scrollTop+pageHeight-gbottom);"); + WriteContext(pECB, "else if(bw.ns4){"); + WriteContext(pECB, "oGeo.moveIt(window.pageXOffset+pageWidth-gright, window.pageYOffset+pageHeight-gbottom);"); + WriteContext(pECB, "setTimeout('checkIt()',30);"); + WriteContext(pECB, "}"); + WriteContext(pECB, "}"); + WriteContext(pECB, "//Adds a onresize event handler to handle the resizing of the window."); + WriteContext(pECB, "function resized(){"); + WriteContext(pECB, "pageWidth=(bw.ie4 || bw.ie5)?document.body.offsetWidth-4:innerWidth;"); + WriteContext(pECB, "pageHeight=(bw.ie4 || bw.ie5)?document.body.offsetHeight-2:innerHeight;"); + WriteContext(pECB, "if(bw.ie4 || bw.ie5) checkIt()"); + WriteContext(pECB, "}"); + WriteContext(pECB, "//Calls the geoInit onload"); + WriteContext(pECB, "if(bw.bw && !bw.ns5) onload=geoInit;"); + WriteContext(pECB, "//Here we will write the div out so that lower browser won't see it.'"); + WriteContext(pECB, "if(bw.bw && !bw.ns5) document.write('<div id=\"divBottom\"><table><tr><td align=\"center\">Powered by<br /><img src=\"http://www.crosswire.org/sword/pbsword.gif\"><br /><a href=\"http://www.crosswire.org/\">www.crosswire.org</td></tr></table></div>')"); + WriteContext(pECB, "</script>"); + WriteContext(pECB, "</head>"); + WriteContext(pECB, "<body>"); + } + else { + WriteContext(pECB, "<html><head>"); + WriteContext(pECB, "<title>HANDiatheke</title>"); + WriteContext(pECB, "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">"); + WriteContext(pECB, "<meta name=\"palmcomputingplatform\" content=\"true\">"); + WriteContext(pECB, "<meta name=\"historylisttext\" content=\"HANDiatheke\">"); + WriteContext(pECB, "</head>"); + WriteContext(pECB, "<body>"); + } +} + +void EndContext(EXTENSION_CONTROL_BLOCK *pECB, bool palm) +{ + if (palm) { + WriteContext(pECB, "<hr>Powered by Diatheke (http://www.crosswire.org/sword/diatheke) and the SWORD Project (http://www.crosswire.org/sword)."); + } + + WriteContext(pECB, "<br /><br /><br /><br /></body></html>"); +} + +DWORD WINAPI HttpExtensionProc(EXTENSION_CONTROL_BLOCK *pECB) +{ + int maxverses = -1; + unsigned char outputformat = FMT_CGI, searchtype = ST_NONE, outputencoding = ENC_UTF8; + unsigned long optionfilters = OP_NONE; + std::string locale, ref, script, range, defversion; + signed short variants = 0; + bool debugmode = false, palm = false; + + std::string qstring; + std::string savestring = "Asenath.dll?"; + std::string val, key; + + std::list<std::string> versionlist; + + string::size_type pos; + + qstring = pECB->lpszQueryString; + unsigned char c; + for (int i = 0; i < qstring.length(); i++) { + if (qstring[i] == '+') { + qstring[i] = ' '; + } + else if (qstring[i] == '%') { + if (qstring[i+1] > 57) { + c = 16 * (10 + toupper(qstring[i+1]) - 'A'); + } + else { + c = 16 * (qstring[i+1] - '0'); + } + + if (qstring[i+2] > 57) { + c += 10 + toupper(qstring[i+2]) - 'A'; + } + else { + c += qstring[i+2] - '0'; + } + + qstring[i] = c; + qstring.erase(i+1, 2); + } + } + + while (qstring.length()) { + pos = qstring.find("&"); + if (pos != string::npos) { + key = qstring.substr(0, pos); + qstring.erase(0, pos+1); + } + else { + key = qstring; + qstring = ""; + } + + pos = key.find("="); + if (pos != string::npos) { + val = key.substr(pos+1, key.length()-(pos+1)); + key.erase(pos, key.length()-pos); + } + else { + val = ""; + } + + if (!stricmp (key.c_str(), "verse")) { + ref = val; + } + else if (!stricmp (key.c_str(), "search")) { + if (!stricmp (val.c_str(), "phrase")) { + searchtype = ST_PHRASE; + savestring += key + "=" + val + "&"; + } + else if (!stricmp (val.c_str(), "regex")) { + searchtype = ST_REGEX; + savestring += key + "=" + val + "&"; + } + else if (!stricmp (val.c_str(), "multiword")) { + searchtype = ST_MULTIWORD; + savestring += key + "=" + val + "&"; + } + } + else if (!stricmp (key.c_str(), "range")) { + range = val; + savestring += key + "=" + val + "&"; + } + else if (!stricmp (key.c_str(), "maxverses")) { + maxverses = atoi(val.c_str()); + savestring += key + "=" + val + "&"; + } + else if (!stricmp (key.c_str(), "variants")) { + variants = atoi(val.c_str()); + savestring += key + "=" + val + "&"; + } + else if (!stricmp (key.c_str(), "locale")) { + locale = val; + savestring += key + "=" + val + "&"; + } + else if (!stricmp (key.c_str(), "debug")) { + debugmode = true; + savestring += key + "=" + val + "&"; + } + else if (!stricmp (key.c_str(), "palm")) { + palm = true; + savestring += key + "=" + val + "&"; + } + else if (!stricmp (key.c_str(), "defversion")) { + defversion = val; + savestring += key + "=" + val + "&"; + } + else if (stricmp (val.c_str(), "off")) { + if (!stricmp (key.c_str(), "strongs")) { + optionfilters |= OP_STRONGS; + savestring += key + "=" + val + "&"; + } + else if (!stricmp (key.c_str(), "footnotes")) { + optionfilters |= OP_FOOTNOTES; + savestring += key + "=" + val + "&"; + } + else if (!stricmp (key.c_str(), "headings")) { + optionfilters |= OP_HEADINGS; + savestring += key + "=" + val + "&"; + } + else if (!stricmp (key.c_str(), "morph")) { + optionfilters |= OP_MORPH; + savestring += key + "=" + val + "&"; + } + else if (!stricmp (key.c_str(), "hebcant")) { + optionfilters |= OP_CANTILLATION; + savestring += key + "=" + val + "&"; + } + else if (!stricmp (key.c_str(), "hebvowels")) { + optionfilters |= OP_HEBREWPOINTS; + savestring += key + "=" + val + "&"; + } + else if (!stricmp (key.c_str(), "grkacc")) { + optionfilters |= OP_GREEKACCENTS; + savestring += key + "=" + val + "&"; + } + else if (!stricmp (key.c_str(), "lemmas")) { + optionfilters |= OP_LEMMAS; + savestring += key + "=" + val + "&"; + } + else if (!stricmp (key.c_str(), "scriprefs")) { + optionfilters |= OP_SCRIPREF; + savestring += key + "=" + val + "&"; + } + else if (!stricmp (key.c_str(), "arshape")) { + optionfilters |= OP_ARSHAPE; + savestring += key + "=" + val + "&"; + } + else if (!stricmp (key.c_str(), "bidi")) { + optionfilters |= OP_BIDI; + savestring += key + "=" + val + "&"; + } + else if (!stricmp (key.c_str(), "redletters")) { + optionfilters |= OP_RED; + savestring += key + "=" + val + "&"; + } + else if (!stricmp (key.c_str(), "latinxlit")) { + script = "Latin"; + savestring += key + "=" + val + "&"; + } + else + versionlist.push_back(string(key)); + } + } + + if (!locale.length()) { + unsigned long dsize = 2083; + char * data = new char[2083]; + pECB->GetServerVariable(pECB->ConnID, "ACCEPT_LANGUAGE", data, &dsize); + if (dsize) { + locale = data; + pos = locale.find("_"); + if (pos != string::npos) + locale = locale.substr(0,pos); + } + else { + locale = "abbr"; + } + } + + StartContext(pECB, palm); + + if (versionlist.size() == 0) + if (defversion.length()) + versionlist.push_back(defversion); + else + versionlist.push_back("KJV"); + + while (versionlist.size() > 0) + { + ostrstream * output = new ostrstream(); + doquery(maxverses, outputformat, outputencoding, optionfilters, searchtype, range.c_str(), versionlist.front().c_str(), locale.c_str(), ref.c_str(), output, script.c_str(), variants); + *output << ends; + qstring = output->str(); + delete output; + while ((pos = qstring.find("!DIATHEKE_URL!")) && pos != string::npos) { + qstring.replace(pos, 14, savestring.c_str()); + } + DWORD dwSize = qstring.length(); + pECB->WriteClient(pECB->ConnID, (void*)qstring.c_str(), &dwSize, 0); + WriteContext(pECB, "<br /><br />"); + versionlist.pop_front(); + } + + EndContext(pECB, palm); + + return HSE_STATUS_SUCCESS; +} diff --git a/Asenath/Asenath.def b/Asenath/Asenath.def new file mode 100644 index 0000000..2eae830 --- /dev/null +++ b/Asenath/Asenath.def @@ -0,0 +1,10 @@ +; Asenath.def : Declares the module parameters for the DLL. + +LIBRARY "Asenath" +DESCRIPTION 'Asenath ISAPI Extension' + +EXPORTS + ; Explicit exports can go here + + HttpExtensionProc @1 + GetExtensionVersion @2
\ No newline at end of file diff --git a/Asenath/Asenath.dsp b/Asenath/Asenath.dsp new file mode 100644 index 0000000..e9443a1 --- /dev/null +++ b/Asenath/Asenath.dsp @@ -0,0 +1,170 @@ +# Microsoft Developer Studio Project File - Name="Asenath" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 + +CFG=Asenath - Win32 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "Asenath.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "Asenath.mak" CFG="Asenath - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "Asenath - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE "Asenath - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +MTL=midl.exe +RSC=rc.exe + +!IF "$(CFG)" == "Asenath - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "Release" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "ASENATH_EXPORTS" /Yu"stdafx.h" /FD /c +# ADD CPP /nologo /MT /w /W0 /GX /O2 /I "../../sword/include" /I "../../sword/src/utilfuns/win32" /I "../../icu-sword/include" /I "../../sword/apps/console/diatheke" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "ASENATH_EXPORTS" /D "_ICU_" /D "_ICUSWORD_" /YX /FD /c +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib libsword.lib icuin.lib icuuc.lib /nologo /dll /machine:I386 /libpath:"../../sword/lib/vcppmake/vc6/libsword___Win32_Release_with_ICU" /libpath:"../../icu-sword/lib" + +!ELSEIF "$(CFG)" == "Asenath - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "ASENATH_EXPORTS" /Yu"stdafx.h" /FD /GZ /c +# ADD CPP /nologo /MTd /w /W0 /Gm /GX /ZI /Od /I "../../sword/include" /I "../../sword/src/utilfuns/win32" /I "../../icu-sword/include" /I "../../sword/apps/console/diatheke" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "ASENATH_EXPORTS" /D "_ICU_" /D "_ICUSWORD_" /YX /FD /GZ /c +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib libsword.lib icuin.lib icuuc.lib /nologo /dll /debug /machine:I386 /pdbtype:sept /libpath:"../../sword/lib/vcppmake/vc6/libsword___Win32_Debug_with_ICU" /libpath:"../../icu-sword/lib" + +!ENDIF + +# Begin Target + +# Name "Asenath - Win32 Release" +# Name "Asenath - Win32 Debug" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Group "Diatheke Files" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE=..\..\sword\apps\console\diatheke\corediatheke.cpp +# End Source File +# Begin Source File + +SOURCE=..\..\sword\apps\console\diatheke\diafiltmgr.cpp +# End Source File +# Begin Source File + +SOURCE=..\..\sword\apps\console\diatheke\diatheke.cpp +# End Source File +# Begin Source File + +SOURCE=..\..\sword\apps\console\diatheke\diathekemgr.cpp +# End Source File +# Begin Source File + +SOURCE=..\..\sword\apps\console\diatheke\gbfcgi.cpp +# End Source File +# Begin Source File + +SOURCE=..\..\sword\apps\console\diatheke\thmlcgi.cpp +# End Source File +# End Group +# Begin Source File + +SOURCE=.\Asenath.cpp +# End Source File +# Begin Source File + +SOURCE=.\Asenath.def +# End Source File +# Begin Source File + +SOURCE=.\StdAfx.cpp +# ADD CPP /Yc"stdafx.h" +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# Begin Group "Diatheke Headers" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE=..\..\sword\apps\console\diatheke\corediatheke.h +# End Source File +# Begin Source File + +SOURCE=..\..\sword\apps\console\diatheke\diafiltmgr.h +# End Source File +# Begin Source File + +SOURCE=..\..\sword\apps\console\diatheke\diathekemgr.h +# End Source File +# Begin Source File + +SOURCE=..\..\sword\apps\console\diatheke\gbfcgi.h +# End Source File +# Begin Source File + +SOURCE=..\..\sword\apps\console\diatheke\thmlcgi.h +# End Source File +# End Group +# Begin Source File + +SOURCE=.\StdAfx.h +# End Source File +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# End Group +# End Target +# End Project diff --git a/Asenath/Asenath.dsw b/Asenath/Asenath.dsw new file mode 100644 index 0000000..645c9a4 --- /dev/null +++ b/Asenath/Asenath.dsw @@ -0,0 +1,41 @@ +Microsoft Developer Studio Workspace File, Format Version 6.00 +# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! + +############################################################################### + +Project: "Asenath"=.\Asenath.dsp - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "libsword"=..\..\sword\lib\vcppmake\vc6\libsword.dsp - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Global: + +Package=<5> +{{{ +}}} + +Package=<3> +{{{ +}}} + +############################################################################### + diff --git a/Asenath/StdAfx.cpp b/Asenath/StdAfx.cpp new file mode 100644 index 0000000..39eb237 --- /dev/null +++ b/Asenath/StdAfx.cpp @@ -0,0 +1,8 @@ +// stdafx.cpp : source file that includes just the standard includes +// Asenath.pch will be the pre-compiled header +// stdafx.obj will contain the pre-compiled type information + +#include "stdafx.h" + +// TODO: reference any additional headers you need in STDAFX.H +// and not in this file diff --git a/Asenath/StdAfx.h b/Asenath/StdAfx.h new file mode 100644 index 0000000..dfed370 --- /dev/null +++ b/Asenath/StdAfx.h @@ -0,0 +1,24 @@ +// stdafx.h : include file for standard system include files, +// or project specific include files that are used frequently, but +// are changed infrequently +// + +#if !defined(AFX_STDAFX_H__B1F7FE6D_5562_47D6_AE5E_D05502A1B89F__INCLUDED_) +#define AFX_STDAFX_H__B1F7FE6D_5562_47D6_AE5E_D05502A1B89F__INCLUDED_ + +#if _MSC_VER > 1000 +#pragma once +#endif // _MSC_VER > 1000 + + +// Insert your headers here +#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers + +#include <windows.h> + +// TODO: reference additional headers your program requires here + +//{{AFX_INSERT_LOCATION}} +// Microsoft Visual C++ will insert additional declarations immediately before the previous line. + +#endif // !defined(AFX_STDAFX_H__B1F7FE6D_5562_47D6_AE5E_D05502A1B89F__INCLUDED_) |