File: TTY.c

package info (click to toggle)
mlton 20100608-2
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 34,980 kB
  • ctags: 69,089
  • sloc: ansic: 18,421; lisp: 2,879; makefile: 1,570; sh: 1,325; pascal: 256; asm: 97
file content (93 lines) | stat: -rw-r--r-- 2,308 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#include "platform.h"

static struct termios Posix_TTY_Termios_termios;

C_TCFlag_t Posix_TTY_Termios_getIFlag (void) {
  return Posix_TTY_Termios_termios.c_iflag;
}

C_TCFlag_t Posix_TTY_Termios_getOFlag (void) {
  return Posix_TTY_Termios_termios.c_oflag;
}

C_TCFlag_t Posix_TTY_Termios_getCFlag (void) {
  return Posix_TTY_Termios_termios.c_cflag;
}

C_TCFlag_t Posix_TTY_Termios_getLFlag (void) {
  return Posix_TTY_Termios_termios.c_lflag;
}

void Posix_TTY_Termios_getCC (Array(C_CC_t) a) {
  for (int i = 0; i < NCCS; i++) 
    ((cc_t*)a)[i] = Posix_TTY_Termios_termios.c_cc[i];
}

C_Speed_t Posix_TTY_Termios_cfGetOSpeed (void) {
  return cfgetospeed (&Posix_TTY_Termios_termios);
}

C_Speed_t Posix_TTY_Termios_cfGetISpeed (void) {
  return cfgetispeed (&Posix_TTY_Termios_termios);
}

void Posix_TTY_Termios_setIFlag (C_TCFlag_t f) {
  Posix_TTY_Termios_termios.c_iflag = f;
}

void Posix_TTY_Termios_setOFlag (C_TCFlag_t f) {
  Posix_TTY_Termios_termios.c_oflag = f;
}

void Posix_TTY_Termios_setCFlag (C_TCFlag_t f) {
  Posix_TTY_Termios_termios.c_cflag = f;
}

void Posix_TTY_Termios_setLFlag (C_TCFlag_t f) {
  Posix_TTY_Termios_termios.c_lflag = f;
}

void Posix_TTY_Termios_setCC (Array(C_CC_t) a) {
  for (int i = 0; i < NCCS; i++) 
    Posix_TTY_Termios_termios.c_cc[i] = ((cc_t*)a)[i];
}

C_Errno_t(C_Int_t) Posix_TTY_Termios_cfSetOSpeed (C_Speed_t s) {
  return cfsetospeed (&Posix_TTY_Termios_termios, s);
}

C_Errno_t(C_Int_t) Posix_TTY_Termios_cfSetISpeed (C_Speed_t s) {
  return cfsetispeed (&Posix_TTY_Termios_termios, s);
}

C_Errno_t(C_Int_t) Posix_TTY_TC_drain (C_Fd_t f) {
  return tcdrain (f);
}

C_Errno_t(C_Int_t) Posix_TTY_TC_flow (C_Fd_t f, C_Int_t i) {
  return tcflow (f, i);
}

C_Errno_t(C_Int_t) Posix_TTY_TC_flush (C_Fd_t f, C_Int_t i) {
  return tcflush (f, i);
}

C_Errno_t(C_Int_t) Posix_TTY_TC_getattr (C_Fd_t f) {
  return tcgetattr (f, &Posix_TTY_Termios_termios);
}

C_Errno_t(C_PId_t) Posix_TTY_TC_getpgrp (C_Fd_t f) {
  return tcgetpgrp (f);
}

C_Errno_t(C_Int_t) Posix_TTY_TC_sendbreak (C_Fd_t f, C_Int_t i) {
  return tcsendbreak (f, i);
}

C_Errno_t(C_Int_t) Posix_TTY_TC_setattr (C_Fd_t f, C_Int_t i) {
  return tcsetattr (f, i, &Posix_TTY_Termios_termios);
}

C_Errno_t(C_Int_t) Posix_TTY_TC_setpgrp (C_Fd_t f, C_PId_t p) {
  return tcsetpgrp (f, p);
}