First version of WWW gateway with embedded Tcl.
[egate.git] / www / whtml.c
diff --git a/www/whtml.c b/www/whtml.c
new file mode 100644 (file)
index 0000000..3c1e080
--- /dev/null
@@ -0,0 +1,91 @@
+/*
+ * Copyright (c) 1995, the EUROPAGATE consortium (see below).
+ *
+ * The EUROPAGATE consortium members are:
+ *
+ *    University College Dublin
+ *    Danmarks Teknologiske Videnscenter
+ *    An Chomhairle Leabharlanna
+ *    Consejo Superior de Investigaciones Cientificas
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and
+ * its documentation, in whole or in part, for any purpose, is hereby granted,
+ * provided that:
+ *
+ * 1. This copyright and permission notice appear in all copies of the
+ * software and its documentation. Notices of copyright or attribution
+ * which appear at the beginning of any file must remain unchanged.
+ *
+ * 2. The names of EUROPAGATE or the project partners may not be used to
+ * endorse or promote products derived from this software without specific
+ * prior written permission.
+ *
+ * 3. Users of this software (implementors and gateway operators) agree to
+ * inform the EUROPAGATE consortium of their use of the software. This
+ * information will be used to evaluate the EUROPAGATE project and the
+ * software, and to plan further developments. The consortium may use
+ * the information in later publications.
+ * 
+ * 4. Users of this software agree to make their best efforts, when
+ * documenting their use of the software, to acknowledge the EUROPAGATE
+ * consortium, and the role played by the software in their work.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS, IMPLIED, OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
+ * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+ * IN NO EVENT SHALL THE EUROPAGATE CONSORTIUM OR ITS MEMBERS BE LIABLE
+ * FOR ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF
+ * ANY KIND, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA
+ * OR PROFITS, WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND
+ * ON ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE
+ * USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * $Log: whtml.c,v $
+ * Revision 1.1  1995/10/20 14:02:41  adam
+ * First version of WWW gateway with embedded Tcl.
+ *
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <assert.h>
+#include <ctype.h>
+
+#include "wproto.h"
+#include "winterp.h"
+
+static void *do_create (void *args);
+static int do_exec (WCLIENT wcl, const char *fname, char *parms, void *mydata);
+
+static struct w_interp_type w_interp_t = {
+    "html",
+    do_create,
+    do_exec
+};
+
+W_Interp_Type w_interp_html = &w_interp_t;
+
+static char *mod = "whtml";
+
+static void *do_create (void *args)
+{
+    return NULL;
+}
+
+static int do_exec (WCLIENT wcl, const char *fname, char *parms, void *mydata)
+{
+    int c;
+    FILE *inf = fopen (fname, "r");
+
+    gw_log (GW_LOG_DEBUG, mod, "executing %s", fname);
+    if (!inf)
+    {
+        gw_log (GW_LOG_WARN|GW_LOG_ERRNO, mod, "open %s", fname);
+        return -1;
+    }
+    while ((c = getc (inf)) != EOF)
+        wo_putc (wcl, c);
+    fclose (inf);
+    return 0;
+}