Install sccs headers and copyright notices.
[unix-history] / usr / src / usr.bin / tn3270 / tools / mkhits / mkhits.c
index 7fbf1f3..ac30b53 100644 (file)
@@ -1,3 +1,28 @@
+/*
+ *     Copyright (c) 1984-1987 by the Regents of the
+ *     University of California and by Gregory Glenn Minshall.
+ *
+ *     Permission to use, copy, modify, and distribute these
+ *     programs and their documentation for any purpose and
+ *     without fee is hereby granted, provided that this
+ *     copyright and permission appear on all copies and
+ *     supporting documentation, the name of the Regents of
+ *     the University of California not be used in advertising
+ *     or publicity pertaining to distribution of the programs
+ *     without specific prior permission, and notice be given in
+ *     supporting documentation that copying and distribution is
+ *     by permission of the Regents of the University of California
+ *     and by Gregory Glenn Minshall.  Neither the Regents of the
+ *     University of California nor Gregory Glenn Minshall make
+ *     representations about the suitability of this software
+ *     for any purpose.  It is provided "as is" without
+ *     express or implied warranty.
+ */
+
+#ifndef lint
+static char sccsid[] = "@(#)mkhits.c   1.7 (Berkeley) %G%";
+#endif /* not lint */
+
 /*
  * This program scans a file which describes a keyboard.  The output
  * of the program is a series of 'C' declarations which describe a
 /*
  * This program scans a file which describes a keyboard.  The output
  * of the program is a series of 'C' declarations which describe a
  */
 
 #include <stdio.h>
  */
 
 #include <stdio.h>
+#if    defined(unix)
+#include <strings.h>
+#else  /* defined(unix) */
 #include <string.h>
 #include <string.h>
+#endif /* defined(unix) */
 #include <ctype.h>
 #include <ctype.h>
-#include "../ascebc.h"
-#include "../ebc_disp.h"
-#include "../kbd3270.h"
+#include "../ctlr/function.h"
 
 #include "dohits.h"
 
 
 
 #include "dohits.h"
 
 
-void
-main()
+int
+main(argc, argv)
+int    argc;
+char   *argv[];
 {
     int scancode;
     int empty;
     int i;
     struct hits *ph;
     struct Hits *Ph;
 {
     int scancode;
     int empty;
     int i;
     struct hits *ph;
     struct Hits *Ph;
+    char *aidfile = 0, *fcnfile = 0;
+
+    if (argc > 1) {
+       if (argv[1][0] != '-') {
+           aidfile = argv[1];
+       }
+    }
+    if (argc > 2) {
+       if (argv[2][0] != '-') {
+           fcnfile = argv[2];
+       }
+    }
 
 
-    dohits();          /* Set up "Hits" */
+    dohits(aidfile, fcnfile);          /* Set up "Hits" */
 
     printf("struct hits hits[] = {\n");
     empty = 0;
 
     printf("struct hits hits[] = {\n");
     empty = 0;
@@ -43,35 +84,40 @@ main()
     for (Ph = Hits; Ph < Hits+(sizeof Hits/sizeof Hits[0]); Ph++) {
        ph = &Ph->hits;
        scancode++;
     for (Ph = Hits; Ph < Hits+(sizeof Hits/sizeof Hits[0]); Ph++) {
        ph = &Ph->hits;
        scancode++;
-       if ((ph->hit[0].type == undefined)
-               && (ph->hit[1].type == undefined)
-               && (ph->hit[2].type == undefined)
-               && (ph->hit[3].type == undefined)) {
+       if ((ph->hit[0].ctlrfcn == undefined)
+               && (ph->hit[1].ctlrfcn == undefined)
+               && (ph->hit[2].ctlrfcn == undefined)
+               && (ph->hit[3].ctlrfcn == undefined)) {
            empty++;
            continue;
        } else {
            while (empty) {
            empty++;
            continue;
        } else {
            while (empty) {
-               printf("\t{ 0, {\t{ illegal },\t{ illegal }");
-               printf(",\t{ illegal },\t{ illegal } } },\n");
+               printf("\t{ 0, {  {undefined}, {undefined}");
+               printf(", {undefined}, {undefined}  } },\n");
                empty--;
            }
        }
        printf("\t{ %d, {\t/* 0x%02x */\n\t", ph->keynumber, scancode);
        for (i = 0; i < 4; i++) {
            printf("\t{ ");
                empty--;
            }
        }
        printf("\t{ %d, {\t/* 0x%02x */\n\t", ph->keynumber, scancode);
        for (i = 0; i < 4; i++) {
            printf("\t{ ");
-           switch (ph->hit[i].type) {
+           switch (ph->hit[i].ctlrfcn) {
            case undefined:
            case undefined:
-           case illegal:
-               printf("illegal");
+               printf("undefined");
                break;
                break;
-           case character:
-               printf("character, 0x%02x", ph->hit[i].code);
+           case FCN_CHARACTER:
+               printf("FCN_CHARACTER, 0x%02x", ph->hit[i].code);
                break;
                break;
-           case function:
-               printf("function, %s", Ph->name[i]);
+           case FCN_AID:
+               printf("FCN_AID, %s", Ph->name[i]);
                break;
                break;
-           case aid:
-               printf("aid, %s", Ph->name[i]);
+           case FCN_NULL:
+           default:
+               if ((Ph->name[i] != 0)
+                                   && (strcmp(Ph->name[i], "FCN_NULL") != 0)) {
+                   printf("%s", Ph->name[i]);
+               } else {
+                   printf("undefined");
+               }
                break;
            }
            printf(" },\n\t");
                break;
            }
            printf(" },\n\t");
@@ -79,4 +125,5 @@ main()
        printf("} },\n");
     }
     printf("};\n");
        printf("} },\n");
     }
     printf("};\n");
+    return 0;
 }
 }