~ubuntu-branches/ubuntu/utopic/linux-ti-omap/utopic

« back to all changes in this revision

Viewing changes to arch/mn10300/include/asm/termios.h

  • Committer: Bazaar Package Importer
  • Author(s): Amit Kucheria, Amit Kucheria
  • Date: 2010-03-10 02:28:15 UTC
  • Revision ID: james.westby@ubuntu.com-20100310022815-7sd3gwvn5kenaq33
Tags: 2.6.33-500.1
[ Amit Kucheria ]

* Initial release of a 2.6.33-based OMAP kernel
* UBUNTU: [Upstream] Fix omap 1-wire driver compilation
* UBUNTU: ubuntu: AppArmor -- update to mainline 2010-03-04

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#ifndef _ASM_TERMIOS_H
 
2
#define _ASM_TERMIOS_H
 
3
 
 
4
#include <asm/termbits.h>
 
5
#include <asm/ioctls.h>
 
6
 
 
7
struct winsize {
 
8
        unsigned short ws_row;
 
9
        unsigned short ws_col;
 
10
        unsigned short ws_xpixel;
 
11
        unsigned short ws_ypixel;
 
12
};
 
13
 
 
14
#define NCC 8
 
15
struct termio {
 
16
        unsigned short c_iflag;         /* input mode flags */
 
17
        unsigned short c_oflag;         /* output mode flags */
 
18
        unsigned short c_cflag;         /* control mode flags */
 
19
        unsigned short c_lflag;         /* local mode flags */
 
20
        unsigned char c_line;           /* line discipline */
 
21
        unsigned char c_cc[NCC];        /* control characters */
 
22
};
 
23
 
 
24
#ifdef __KERNEL__
 
25
/*      intr=^C         quit=^|         erase=del       kill=^U
 
26
        eof=^D          vtime=\0        vmin=\1         sxtc=\0
 
27
        start=^Q        stop=^S         susp=^Z         eol=\0
 
28
        reprint=^R      discard=^U      werase=^W       lnext=^V
 
29
        eol2=\0
 
30
*/
 
31
#define INIT_C_CC "\003\034\177\025\004\0\1\0\021\023\032\0\022\017\027\026\0"
 
32
#endif
 
33
 
 
34
/* modem lines */
 
35
#define TIOCM_LE        0x001
 
36
#define TIOCM_DTR       0x002
 
37
#define TIOCM_RTS       0x004
 
38
#define TIOCM_ST        0x008
 
39
#define TIOCM_SR        0x010
 
40
#define TIOCM_CTS       0x020
 
41
#define TIOCM_CAR       0x040
 
42
#define TIOCM_RNG       0x080
 
43
#define TIOCM_DSR       0x100
 
44
#define TIOCM_CD        TIOCM_CAR
 
45
#define TIOCM_RI        TIOCM_RNG
 
46
#define TIOCM_OUT1      0x2000
 
47
#define TIOCM_OUT2      0x4000
 
48
#define TIOCM_LOOP      0x8000
 
49
 
 
50
#define TIOCM_MODEM_BITS       TIOCM_OUT2      /* IRDA support */
 
51
 
 
52
/*
 
53
 * Translate a "termio" structure into a "termios". Ugh.
 
54
 */
 
55
#define SET_LOW_TERMIOS_BITS(termios, termio, x) { \
 
56
        unsigned short __tmp; \
 
57
        get_user(__tmp, &(termio)->x); \
 
58
        *(unsigned short *) &(termios)->x = __tmp; \
 
59
}
 
60
 
 
61
#define user_termio_to_kernel_termios(termios, termio) \
 
62
({ \
 
63
        SET_LOW_TERMIOS_BITS(termios, termio, c_iflag); \
 
64
        SET_LOW_TERMIOS_BITS(termios, termio, c_oflag); \
 
65
        SET_LOW_TERMIOS_BITS(termios, termio, c_cflag); \
 
66
        SET_LOW_TERMIOS_BITS(termios, termio, c_lflag); \
 
67
        copy_from_user((termios)->c_cc, (termio)->c_cc, NCC); \
 
68
})
 
69
 
 
70
/*
 
71
 * Translate a "termios" structure into a "termio". Ugh.
 
72
 */
 
73
#define kernel_termios_to_user_termio(termio, termios) \
 
74
({ \
 
75
        put_user((termios)->c_iflag, &(termio)->c_iflag); \
 
76
        put_user((termios)->c_oflag, &(termio)->c_oflag); \
 
77
        put_user((termios)->c_cflag, &(termio)->c_cflag); \
 
78
        put_user((termios)->c_lflag, &(termio)->c_lflag); \
 
79
        put_user((termios)->c_line,  &(termio)->c_line); \
 
80
        copy_to_user((termio)->c_cc, (termios)->c_cc, NCC); \
 
81
})
 
82
 
 
83
#define user_termios_to_kernel_termios(k, u) \
 
84
        copy_from_user(k, u, sizeof(struct termios2))
 
85
#define kernel_termios_to_user_termios(u, k) \
 
86
        copy_to_user(u, k, sizeof(struct termios2))
 
87
#define user_termios_to_kernel_termios_1(k, u) \
 
88
        copy_from_user(k, u, sizeof(struct termios))
 
89
#define kernel_termios_to_user_termios_1(u, k) \
 
90
        copy_to_user(u, k, sizeof(struct termios))
 
91
 
 
92
#endif  /* _ASM_TERMIOS_H */