1 /*- 2 * Copyright (c) 1991 The Regents of the University of California. 3 * All rights reserved. 4 * 5 * %sccs.include.redist.c% 6 */ 7 8 #ifndef lint 9 static char sccsid[] = "@(#)modes.c 5.2 (Berkeley) 06/04/91"; 10 #endif /* not lint */ 11 12 #include <sys/types.h> 13 #include <stddef.h> 14 #include "stty.h" 15 16 /* 17 * The code in optlist() depends on minus options following regular 18 * options, i.e. "foo" must immediately precede "-foo". 19 */ 20 struct modes cmodes[] = { 21 "cs5", CS5, CSIZE, 22 "cs6", CS6, CSIZE, 23 "cs7", CS7, CSIZE, 24 "cs8", CS8, CSIZE, 25 "cstopb", CSTOPB, 0, 26 "-cstopb", 0, CSTOPB, 27 "cread", CREAD, 0, 28 "-cread", 0, CREAD, 29 "parenb", PARENB, 0, 30 "-parenb", 0, PARENB, 31 "parodd", PARODD, 0, 32 "-parodd", 0, PARODD, 33 "parity", PARENB | CS7, PARODD | CSIZE, 34 "-parity", CS8, PARODD | PARENB | CSIZE, 35 "evenp", PARENB | CS7, PARODD | CSIZE, 36 "-evenp", CS8, PARODD | PARENB | CSIZE, 37 "oddp", PARENB | CS7 | PARODD, CSIZE, 38 "-oddp", CS8, PARODD | PARENB | CSIZE, 39 "pass8", CS8, PARODD | PARENB | CSIZE, 40 "hupcl", HUPCL, 0, 41 "-hupcl", 0, HUPCL, 42 "hup", HUPCL, 0, 43 "-hup", 0, HUPCL, 44 "clocal", CLOCAL, 0, 45 "-clocal", 0, CLOCAL, 46 "crtscts", CRTSCTS, 0, 47 "-crtscts", 0, CRTSCTS, 48 NULL 49 }; 50 51 struct modes imodes[] = { 52 "ignbrk", IGNBRK, 0, 53 "-ignbrk", 0, IGNBRK, 54 "brkint", BRKINT, 0, 55 "-brkint", 0, BRKINT, 56 "ignpar", IGNPAR, 0, 57 "-ignpar", 0, IGNPAR, 58 "parmrk", PARMRK, 0, 59 "-parmrk", 0, PARMRK, 60 "inpck", INPCK, 0, 61 "-inpck", 0, INPCK, 62 "istrip", ISTRIP, 0, 63 "-istrip", 0, ISTRIP, 64 "inlcr", INLCR, 0, 65 "-inlcr", 0, INLCR, 66 "igncr", IGNCR, 0, 67 "-igncr", 0, IGNCR, 68 "icrnl", ICRNL, 0, 69 "-icrnl", 0, ICRNL, 70 "ixon", IXON, 0, 71 "-ixon", 0, IXON, 72 "flow", IXON, 0, 73 "-flow", 0, IXON, 74 "ixoff", IXOFF, 0, 75 "-ixoff", 0, IXOFF, 76 "tandem", IXOFF, 0, 77 "-tandem", 0, IXOFF, 78 "ixany", IXANY, 0, 79 "-ixany", 0, IXANY, 80 "decctlq", 0, IXANY, 81 "-decctlq", IXANY, 0, 82 "imaxbel", IMAXBEL, 0, 83 "-imaxbel", 0, IMAXBEL, 84 NULL 85 }; 86 87 struct modes lmodes[] = { 88 "echo", ECHO, 0, 89 "-echo", 0, ECHO, 90 "echoe", ECHOE, 0, 91 "-echoe", 0, ECHOE, 92 "crterase", ECHOE, 0, 93 "-crterase", 0, ECHOE, 94 "crtbs", ECHOE, 0, /* crtbs not supported, close enough */ 95 "-crtbs", 0, ECHOE, 96 "echok", ECHOK, 0, 97 "-echok", 0, ECHOK, 98 "echoke", ECHOKE, 0, 99 "-echoke", 0, ECHOKE, 100 "crtkill", ECHOKE, 0, 101 "-crtkill", 0, ECHOKE, 102 "altwerase", ALTWERASE, 0, 103 "-altwerase", 0, ALTWERASE, 104 "iexten", IEXTEN, 0, 105 "-iexten", 0, IEXTEN, 106 "echonl", ECHONL, 0, 107 "-echonl", 0, ECHONL, 108 "echoctl", ECHOCTL, 0, 109 "-echoctl", 0, ECHOCTL, 110 "ctlecho", ECHOCTL, 0, 111 "-ctlecho", 0, ECHOCTL, 112 "echoprt", ECHOPRT, 0, 113 "-echoprt", 0, ECHOPRT, 114 "prterase", ECHOPRT, 0, 115 "-prterase", 0, ECHOPRT, 116 "isig", ISIG, 0, 117 "-isig", 0, ISIG, 118 "icanon", ICANON, 0, 119 "-icanon", 0, ICANON, 120 "noflsh", NOFLSH, 0, 121 "-noflsh", 0, NOFLSH, 122 "tostop", TOSTOP, 0, 123 "-tostop", 0, TOSTOP, 124 "mdmbuf", MDMBUF, 0, 125 "-mdmbuf", 0, MDMBUF, 126 "flusho", FLUSHO, 0, 127 "-flusho", 0, FLUSHO, 128 "pendin", PENDIN, 0, 129 "-pendin", 0, PENDIN, 130 "crt", ECHOE|ECHOKE|ECHOCTL, ECHOK|ECHOPRT, 131 "-crt", ECHOK, ECHOE|ECHOKE|ECHOCTL, 132 "newcrt", ECHOE|ECHOKE|ECHOCTL, ECHOK|ECHOPRT, 133 "-newcrt", ECHOK, ECHOE|ECHOKE|ECHOCTL, 134 "nokerninfo", NOKERNINFO, 0, 135 "-nokerninfo", 0, NOKERNINFO, 136 "kerninfo", 0, NOKERNINFO, 137 "-kerninfo", NOKERNINFO, 0, 138 NULL 139 }; 140 141 struct modes omodes[] = { 142 "opost", OPOST, 0, 143 "-opost", 0, OPOST, 144 "litout", 0, OPOST, 145 "-litout", OPOST, 0, 146 "onlcr", ONLCR, 0, 147 "-onlcr", 0, ONLCR, 148 "tabs", 0, OXTABS, /* "preserve" tabs */ 149 "-tabs", OXTABS, 0, 150 "xtabs", OXTABS, 0, 151 "-xtabs", 0, OXTABS, 152 "oxtabs", OXTABS, 0, 153 "-oxtabs", 0, OXTABS, 154 NULL 155 }; 156