github.com/oweisse/u-root@v0.0.0-20181109060735-d005ad25fef1/pkg/termios/var.go (about) 1 // Copyright 2015-2017 the u-root Authors. All rights reserved 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 package termios 6 7 import ( 8 "syscall" 9 ) 10 11 type bit struct { 12 word int 13 mask uint32 14 } 15 16 var ( 17 boolFields = map[string]*bit{ 18 // Input processing 19 "ignbrk": {word: I, mask: syscall.IGNBRK}, 20 "brkint": {word: I, mask: syscall.BRKINT}, 21 "ignpar": {word: I, mask: syscall.IGNPAR}, 22 "parmrk": {word: I, mask: syscall.PARMRK}, 23 "inpck": {word: I, mask: syscall.INPCK}, 24 "istrip": {word: I, mask: syscall.ISTRIP}, 25 "inlcr": {word: I, mask: syscall.INLCR}, 26 "igncr": {word: I, mask: syscall.IGNCR}, 27 "icrnl": {word: I, mask: syscall.ICRNL}, 28 "iuclc": {word: I, mask: syscall.IUCLC}, 29 "ixon": {word: I, mask: syscall.IXON}, 30 "ixany": {word: I, mask: syscall.IXANY}, 31 "ixoff": {word: I, mask: syscall.IXOFF}, 32 "imaxbel": {word: I, mask: syscall.IMAXBEL}, 33 "iutf8": {word: I, mask: syscall.IUTF8}, 34 35 //Outputprocessing 36 "opost": {word: O, mask: syscall.OPOST}, 37 "olcuc": {word: O, mask: syscall.OLCUC}, 38 "onlcr": {word: O, mask: syscall.ONLCR}, 39 "ocrnl": {word: O, mask: syscall.OCRNL}, 40 "onocr": {word: O, mask: syscall.ONOCR}, 41 "onlret": {word: O, mask: syscall.ONLRET}, 42 "ofill": {word: O, mask: syscall.OFILL}, 43 "ofdel": {word: O, mask: syscall.OFDEL}, 44 45 //Localprocessing 46 "isig": {word: L, mask: syscall.ISIG}, 47 "icanon": {word: L, mask: syscall.ICANON}, 48 "xcase": {word: L, mask: syscall.XCASE}, 49 "echo": {word: L, mask: syscall.ECHO}, 50 "echoe": {word: L, mask: syscall.ECHOE}, 51 "echok": {word: L, mask: syscall.ECHOK}, 52 "echonl": {word: L, mask: syscall.ECHONL}, 53 "noflsh": {word: L, mask: syscall.NOFLSH}, 54 "tostop": {word: L, mask: syscall.TOSTOP}, 55 "echoctl": {word: L, mask: syscall.ECHOCTL}, 56 "echoprt": {word: L, mask: syscall.ECHOPRT}, 57 "echoke": {word: L, mask: syscall.ECHOKE}, 58 "flusho": {word: L, mask: syscall.FLUSHO}, 59 "pendin": {word: L, mask: syscall.PENDIN}, 60 "iexten": {word: L, mask: syscall.IEXTEN}, 61 62 //Controlprocessing 63 64 "cstopb": {word: C, mask: syscall.CSTOPB}, 65 "cread": {word: C, mask: syscall.CREAD}, 66 "parenb": {word: C, mask: syscall.PARENB}, 67 "parodd": {word: C, mask: syscall.PARODD}, 68 "hupcl": {word: C, mask: syscall.HUPCL}, 69 "clocal": {word: C, mask: syscall.CLOCAL}, 70 } 71 cc = map[string]int{ 72 "min": 5, 73 "time": 0, 74 "lnext": syscall.VLNEXT, 75 //"flush": syscall.VFLUSH, 76 "intr": syscall.VINTR, 77 "quit": syscall.VQUIT, 78 "erase": syscall.VERASE, 79 "kill": syscall.VKILL, 80 "eof": syscall.VEOF, 81 "eol": syscall.VEOL, 82 "eol2": syscall.VEOL2, 83 //"swtch": syscall.VSWTCH, 84 "start": syscall.VSTART, 85 "stop": syscall.VSTOP, 86 "susp": syscall.VSUSP, 87 //"rprnt": syscall.VRPRNT, 88 "werase": syscall.VWERASE, 89 } 90 ) 91 92 // These consts describe the offsets into the termios struct of various elements. 93 const ( 94 I = iota // Input control 95 O // Output control 96 C // Control 97 L // Line control 98 )