/* Public domain */ /* * Minimal PerCGI application (with I18N, modules and session management). */ #include #define NLS_MAIN #include "nls.h" #include "auth.h" CGI_Application cgiApp; CGI_Module modMain; CGI_Module *modList[] = { &modMain, NULL }; int main(int argc, char *argv[]) { CGI_Query *q; CGI_Module **mod; CGI_Init(&cgiApp); NLS_Init("sesshello_fcgi", "UTF-8"); for (mod = &modList[0]; *mod != NULL; mod++) { CGI_RegisterModule(*mod); if ((*mod)->init != NULL) (*mod)->init(); } CGI_QueryLoop(&sessionOps); CGI_Exit(EX_OK, NULL); return (0); } /* Display the index page. */ static int main_index(CGI_Query *q) { HTML_Output(q, "main"); return (0); } CGI_Application cgiApp = { N_("PerCGI application"), N_("Public domain"), { "en", "fr", NULL }, "main_index", CGI_HTML_ERRORS|CGI_PERSISTENT, NULL, /* destroy */ NULL /* log */ }; static CGI_Command mainCommands[] = { { "main_index", main_index, "text/html" }, { NULL, NULL, NULL }, }; CGI_Module modMain = { "main", N_("Main page"), N_("Main PerCGI app page"), NULL, /* init */ NULL, /* destroy */ NULL, /* sessOpen */ NULL, /* sessClose */ main_index, NULL, /* menu */ &mainCommands[0], NULL /* sections */ };