chiark / gitweb /
*** empty log message ***
[sympathy.git] / src / tty.h
1 /*
2  * tty.h:
3  *
4  * Copyright (c) 2008 James McKenzie <james@fishsoup.dhs.org>,
5  * All rights reserved.
6  *
7  */
8
9 /*
10  * $Id$
11  */
12
13 /*
14  * $Log$
15  * Revision 1.12  2008/02/28 16:57:52  james
16  * *** empty log message ***
17  *
18  * Revision 1.11  2008/02/23 11:48:37  james
19  * *** empty log message ***
20  *
21  * Revision 1.10  2008/02/22 23:39:27  james
22  * *** empty log message ***
23  *
24  * Revision 1.9  2008/02/22 19:12:05  james
25  * *** empty log message ***
26  *
27  * Revision 1.8  2008/02/15 23:52:12  james
28  * *** empty log message ***
29  *
30  * Revision 1.7  2008/02/14 10:36:18  james
31  * *** empty log message ***
32  *
33  * Revision 1.6  2008/02/14 10:34:30  james
34  * *** empty log message ***
35  *
36  * Revision 1.5  2008/02/13 09:12:21  james
37  * *** empty log message ***
38  *
39  * Revision 1.4  2008/02/13 01:08:18  james
40  * *** empty log message ***
41  *
42  * Revision 1.3  2008/02/09 15:47:28  james
43  * *** empty log message ***
44  *
45  * Revision 1.2  2008/02/07 00:43:27  james
46  * *** empty log message ***
47  *
48  * Revision 1.1  2008/02/06 20:26:58  james
49  * *** empty log message ***
50  *
51  */
52
53 #ifndef __TTY_H__
54 #define __TTY_H__
55
56
57 #define SYM_CHAR_RESET  (-1)
58
59 #define TTY_SIGNATURE \
60         char name[1024]; \
61         int blocked; \
62         CRT_Pos size; \
63         void (*close)(struct TTY_struct *); \
64         int (*recv)(struct TTY_struct *,void *buf,int len); \
65         int (*xmit)(struct TTY_struct *,void *buf,int len); \
66         int rfd; \
67         int wfd; \
68         int hanging_up; \
69         struct timeval hangup_clock; \
70         int displayed_length;
71
72
73 #define TTY_BITFREQ_LEN 10
74
75 typedef struct
76 {
77   int in_dle;
78   int in_errmark;
79
80   int bitfreq[TTY_BITFREQ_LEN];
81   int biterrs;
82
83   struct timeval lasterr;
84   int guessed_baud;
85 } TTY_Parser;
86
87
88 typedef struct TTY_struct
89 {
90   TTY_SIGNATURE;
91 } TTY;
92
93 typedef struct
94 {
95   int lines;
96   int blocked;
97   struct termios termios;
98   int baud;
99 } TTY_Status;
100
101 #endif /* __TTY_H__ */