4 * Copyright (c) 2008 James McKenzie <james@fishsoup.dhs.org>,
9 static char rcsid[] = "$Id$";
13 * Revision 1.5 2008/02/23 11:48:37 james
14 * *** empty log message ***
16 * Revision 1.4 2008/02/22 17:07:00 james
17 * *** empty log message ***
19 * Revision 1.3 2008/02/15 23:52:12 james
20 * *** empty log message ***
22 * Revision 1.2 2008/02/15 03:32:07 james
23 * *** empty log message ***
25 * Revision 1.1 2008/02/14 02:46:44 james
26 * *** empty log message ***
28 * Revision 1.1 2008/02/14 01:55:57 james
29 * *** empty log message ***
36 #define CMD_BUFLEN 128
51 keydis_close (KeyDis * t)
58 keydis_ipc_key (KeyDis * _t, Context * c, int key)
60 KeyDis_IPC *t = (KeyDis_IPC *) _t;
62 return ipc_msg_send_key (t->s, key);
66 keydis_ipc_set_baud (KeyDis * _t, Context * c, int baud)
68 KeyDis_IPC *t = (KeyDis_IPC *) _t;
70 ipc_msg_send_setbaud (t->s, baud);
76 keydis_ipc_send_break (KeyDis * _t, Context * c)
78 KeyDis_IPC *t = (KeyDis_IPC *) _t;
80 ipc_msg_send_sendbreak (t->s);
86 keydis_ipc_set_flow (KeyDis * _t, Context * c, int flow)
88 KeyDis_IPC *t = (KeyDis_IPC *) _t;
90 ipc_msg_send_setflow (t->s, flow);
97 keydis_ipc_set_ansi (KeyDis * _t, Context * c, int ansi)
99 KeyDis_IPC *t = (KeyDis_IPC *) _t;
101 vt102_set_ansi (c->v, ansi);
103 ipc_msg_send_setansi (t->s, ansi);
110 keydis_ipc_hangup (KeyDis * _t, Context * c)
112 KeyDis_IPC *t = (KeyDis_IPC *) _t;
114 ipc_msg_send_hangup (t->s);
120 keydis_vt102_key (KeyDis * _t, Context * c, int key)
122 KeyDis_VT102 *t = (KeyDis_VT102 *) _t;
129 keydis_vt102_set_baud (KeyDis * _t, Context * c, int baud)
131 KeyDis_VT102 *t = (KeyDis_VT102 *) _t;
133 tty_set_baud (c->t, baud);
136 log_f (c->l, "<baud changed to %d>", baud);
142 keydis_vt102_send_break (KeyDis * _t, Context * c)
144 KeyDis_VT102 *t = (KeyDis_VT102 *) _t;
146 tty_send_break (c->t);
152 keydis_vt102_set_flow (KeyDis * _t, Context * c, int flow)
154 KeyDis_VT102 *t = (KeyDis_VT102 *) _t;
156 tty_set_flow (c->t, flow);
162 keydis_vt102_set_ansi (KeyDis * _t, Context * c, int ansi)
164 KeyDis_VT102 *t = (KeyDis_VT102 *) _t;
167 c->v->xn_glitch = ansi ? 0 : 1;
173 keydis_vt102_hangup (KeyDis * _t, Context * c)
175 KeyDis_VT102 *t = (KeyDis_VT102 *) _t;
185 keydis_vt102_new (void)
187 KeyDis_VT102 *t = malloc (sizeof (KeyDis_VT102));
188 t->key = keydis_vt102_key;
189 t->close = keydis_close;
190 t->set_baud = keydis_vt102_set_baud;
191 t->send_break = keydis_vt102_send_break;
192 t->set_flow = keydis_vt102_set_flow;
193 t->set_ansi = keydis_vt102_set_ansi;
194 t->hangup = keydis_vt102_hangup;
200 keydis_ipc_new (Socket * s)
202 KeyDis_IPC *t = malloc (sizeof (KeyDis_IPC));
203 t->key = keydis_ipc_key;
204 t->close = keydis_close;
205 t->set_baud = keydis_ipc_set_baud;
206 t->send_break = keydis_ipc_send_break;
207 t->set_flow = keydis_ipc_set_flow;
208 t->set_ansi = keydis_ipc_set_ansi;
209 t->hangup = keydis_ipc_hangup;
220 keydis_key (KeyDis * t, Context * c, int key)
224 return t->key (t, c, key);
226 cmd_show_status (c->d, c);
229 return cmd_key (c->d, c, key);
232 return cmd_activate (c->d, c);
235 return t->key (t, c, key);