4 * Copyright (c) 2008 James McKenzie <james@fishsoup.dhs.org>,
9 static char rcsid[] = "$Id$";
13 * Revision 1.7 2008/02/28 16:37:16 james
14 * *** empty log message ***
16 * Revision 1.6 2008/02/28 12:12:25 james
17 * *** empty log message ***
19 * Revision 1.5 2008/02/23 11:48:37 james
20 * *** empty log message ***
22 * Revision 1.4 2008/02/22 17:07:00 james
23 * *** empty log message ***
25 * Revision 1.3 2008/02/15 23:52:12 james
26 * *** empty log message ***
28 * Revision 1.2 2008/02/15 03:32:07 james
29 * *** empty log message ***
31 * Revision 1.1 2008/02/14 02:46:44 james
32 * *** empty log message ***
34 * Revision 1.1 2008/02/14 01:55:57 james
35 * *** empty log message ***
42 #define CMD_BUFLEN 128
57 keydis_close (KeyDis * t)
64 keydis_ipc_key (KeyDis * _t, Context * c, int key)
66 KeyDis_IPC *t = (KeyDis_IPC *) _t;
68 return ipc_msg_send_key (t->s, key);
72 keydis_ipc_set_baud (KeyDis * _t, Context * c, int baud)
74 KeyDis_IPC *t = (KeyDis_IPC *) _t;
76 ipc_msg_send_setbaud (t->s, baud);
82 keydis_ipc_send_break (KeyDis * _t, Context * c)
84 KeyDis_IPC *t = (KeyDis_IPC *) _t;
86 ipc_msg_send_sendbreak (t->s);
92 keydis_ipc_set_flow (KeyDis * _t, Context * c, int flow)
94 KeyDis_IPC *t = (KeyDis_IPC *) _t;
96 ipc_msg_send_setflow (t->s, flow);
103 keydis_ipc_set_ansi (KeyDis * _t, Context * c, int ansi)
105 KeyDis_IPC *t = (KeyDis_IPC *) _t;
107 vt102_set_ansi (c->v, ansi);
109 ipc_msg_send_setansi (t->s, ansi);
116 keydis_ipc_hangup (KeyDis * _t, Context * c)
118 KeyDis_IPC *t = (KeyDis_IPC *) _t;
120 ipc_msg_send_hangup (t->s);
127 keydis_ipc_set_size (KeyDis * _t, Context * c,int w,int h)
131 KeyDis_IPC *t = (KeyDis_IPC *) _t;
134 ipc_msg_send_setsize (t->s,p);
141 keydis_ipc_reset (KeyDis * _t, Context * c)
143 KeyDis_IPC *t = (KeyDis_IPC *) _t;
146 ipc_msg_send_reset (t->s);
152 keydis_vt102_key (KeyDis * _t, Context * c, int key)
154 KeyDis_VT102 *t = (KeyDis_VT102 *) _t;
161 keydis_vt102_set_baud (KeyDis * _t, Context * c, int baud)
163 KeyDis_VT102 *t = (KeyDis_VT102 *) _t;
165 tty_set_baud (c->t, baud);
168 log_f (c->l, "<baud changed to %d>", baud);
174 keydis_vt102_send_break (KeyDis * _t, Context * c)
176 KeyDis_VT102 *t = (KeyDis_VT102 *) _t;
178 tty_send_break (c->t);
184 keydis_vt102_set_flow (KeyDis * _t, Context * c, int flow)
186 KeyDis_VT102 *t = (KeyDis_VT102 *) _t;
188 tty_set_flow (c->t, flow);
194 keydis_vt102_set_ansi (KeyDis * _t, Context * c, int ansi)
196 KeyDis_VT102 *t = (KeyDis_VT102 *) _t;
199 c->v->xn_glitch = ansi ? 0 : 1;
205 keydis_vt102_hangup (KeyDis * _t, Context * c)
207 KeyDis_VT102 *t = (KeyDis_VT102 *) _t;
215 keydis_vt102_set_size (KeyDis * _t, Context * c,int w, int h)
217 KeyDis_VT102 *t = (KeyDis_VT102 *) _t;
226 keydis_vt102_reset (KeyDis * _t, Context * c)
228 KeyDis_VT102 *t = (KeyDis_VT102 *) _t;
238 keydis_vt102_new (void)
240 KeyDis_VT102 *t = malloc (sizeof (KeyDis_VT102));
241 t->key = keydis_vt102_key;
242 t->close = keydis_close;
243 t->set_baud = keydis_vt102_set_baud;
244 t->send_break = keydis_vt102_send_break;
245 t->set_flow = keydis_vt102_set_flow;
246 t->set_ansi = keydis_vt102_set_ansi;
247 t->hangup = keydis_vt102_hangup;
248 t->set_size = keydis_vt102_set_size;
249 t->reset = keydis_vt102_reset;
255 keydis_ipc_new (Socket * s)
257 KeyDis_IPC *t = malloc (sizeof (KeyDis_IPC));
258 t->key = keydis_ipc_key;
259 t->close = keydis_close;
260 t->set_baud = keydis_ipc_set_baud;
261 t->send_break = keydis_ipc_send_break;
262 t->set_flow = keydis_ipc_set_flow;
263 t->set_ansi = keydis_ipc_set_ansi;
264 t->hangup = keydis_ipc_hangup;
265 t->set_size = keydis_ipc_set_size;
266 t->reset = keydis_ipc_reset;
277 keydis_key (KeyDis * t, Context * c, int key)
281 return t->key (t, c, key);
283 cmd_show_status (c->d, c);
286 return cmd_key (c->d, c, key);
289 return cmd_activate (c->d, c);
292 return t->key (t, c, key);