📄 ch05l05.txt
字号:
Listing 5.5 An example DGI extension./* Dynamic Gateway Interface -- A. Montefusco */#include <time.h>#include <string.h>#include <iostream.h>#include "dgi.h"#include "dgihelp.h"#if defined(__OS2__) && defined(__BORLANDC__)#define EXPORT _export#else#define EXPORT#endif/* HTML 2.0 compatible header... */#define HTML "Content-type: text/html\r\n\r\n" \ "<html>" \ "<head><title>Returned from DGI executable !!!</title></head>" \ "<body>" \ "<h1> " \ "DGI TEST " \ "</h1> " \ "<p>Returned from Dynamic Gateway Interface executable. "/* ...and trailer */#define HTML_TRAILER "</body>" \ "</html>"PDGI_FN_OUTMSG pFnOut;PDGI_FN_GETDATA pFnGetData;void *pCbPrm;long EXPORT DgiStart (PDGI_FN_OUTMSG pFnOm, PDGI_FN_GETDATA pFnGd, void *pPrm){ cerr << "DgiStart" << endl; pFnOut = pFnOm; pFnGetData = pFnGd; pCbPrm = pPrm; return 1;}long EXPORT DgiDoAction (const char *pszQueryInfo, const char *pszPathInfo, const char *pszFormData, char *){ cerr << "DgiDoAction:" << endl << "Query info:\t[" << pszQueryInfo << "]" << endl << "Path info:\t[" << pszPathInfo << "]" << endl << "Form data:\t[" << pszFormData << "]" << endl; htPrintf ("%s", HTML); time_t timeNow = time(0); htPrintf ("<p>Run @ %s GMT+1<p>", asctime (localtime(&timeNow))); htPrintf ("Remote host: <b>%s</b><p>", pFnGetData ("REMOTE_HOST", pCbPrm)); htPrintf ("%s", HTML_TRAILER); return 1;}long EXPORT DgiEnd (void){ cerr << "DgiEnd" << endl; return 1;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -