Bell 32V development
[unix-history] / usr / src / cmd / getty.c
index 35ee772..d675ce9 100644 (file)
@@ -9,7 +9,6 @@
 #define KILL   '@'
 
 struct sgttyb tmode;
 #define KILL   '@'
 
 struct sgttyb tmode;
-struct tchars tchars = { '\177', '\034', '\021', '\023', '\004', '\377' };
 
 struct tab {
        char    tname;          /* this table name */
 
 struct tab {
        char    tname;          /* this table name */
@@ -79,6 +78,18 @@ struct       tab {
        B300, B300,
        "\n\rlogin: ",
 
        B300, B300,
        "\n\rlogin: ",
 
+/* table '6' -- 2400  */
+       '6' , '6' ,
+       ANYP+RAW , ANYP+ECHO+CRMOD ,
+       B2400 , B2400 ,
+       "\n\r\007login : ",
+/* table '7' - - 4800 */
+       '7' , '7' ,
+       ANYP+RAW , ANYP+ECHO+CRMOD ,
+       B4800 , B4800 ,
+       "\n\r\007login : " ,
 /* table 'i' -- Interdata Console */
        'i', 'i',
        RAW+CRMOD, CRMOD+ECHO+LCASE,
 /* table 'i' -- Interdata Console */
        'i', 'i',
        RAW+CRMOD, CRMOD+ECHO+LCASE,
@@ -90,12 +101,6 @@ struct      tab {
        ANYP+RAW/*+HUPCL*/, ANYP+ECHO/*+HUPCL*/,
        B300, B300,
        "*",
        ANYP+RAW/*+HUPCL*/, ANYP+ECHO/*+HUPCL*/,
        B300, B300,
        "*",
-/* table '6' -- 2400 11/23 line */
-       '6', '6',
-       ANYP+RAW+NL1+CR1, ANYP+ECHO,
-       B2400, B2400,
-       "\n\rlogin: ",
-
 };
 
 #define        NITAB   sizeof itab/sizeof itab[0]
 };
 
 #define        NITAB   sizeof itab/sizeof itab[0]
@@ -129,32 +134,27 @@ main(argc, argv)
 char **argv;
 {
        register struct tab *tabp;
 char **argv;
 {
        register struct tab *tabp;
-       int tname;
+       char tname;
 
 
+/*
+       signal(SIGINT, SIG_IGN);
+       signal(SIGQUIT, SIG_DFL);
+*/
        tname = '0';
        if (argc > 1)
                tname = argv[1][0];
        tname = '0';
        if (argc > 1)
                tname = argv[1][0];
-       switch (tname) {
-
-       case '3':               /* adapt to connect speed (212) */
-               ioctl(0, TIOCGETP, &tmode);
-               if (tmode.sg_ispeed==B300)
-                       tname = '0';
-               else
-                       tname = '3';
-               break;
-       }
        for (;;) {
                for(tabp = itab; tabp < &itab[NITAB]; tabp++)
                        if(tabp->tname == tname)
                                break;
                if(tabp >= &itab[NITAB])
                        tabp = itab;
        for (;;) {
                for(tabp = itab; tabp < &itab[NITAB]; tabp++)
                        if(tabp->tname == tname)
                                break;
                if(tabp >= &itab[NITAB])
                        tabp = itab;
+               tmode.sg_ispeed = tabp->ispeed;
+               tmode.sg_ospeed = tabp->ospeed;
                tmode.sg_flags = tabp->iflags;
                tmode.sg_ispeed = tabp->ispeed;
                tmode.sg_ospeed = tabp->ospeed;
                tmode.sg_flags = tabp->iflags;
                tmode.sg_ispeed = tabp->ispeed;
                tmode.sg_ospeed = tabp->ospeed;
-               ioctl(0, TIOCSETP, &tmode);
-               ioctl(0, TIOCSETC, &tchars);
+               stty(0, &tmode);
                puts(tabp->message);
                if(getname()) {
                        tmode.sg_erase = ERASE;
                puts(tabp->message);
                if(getname()) {
                        tmode.sg_erase = ERASE;