4 * Copyright (c) 2008 James McKenzie <james@fishsoup.dhs.org>,
9 static char rcsid[] = "$Id$";
13 * Revision 1.6 2008/02/28 12:12:25 james
14 * *** empty log message ***
16 * Revision 1.5 2008/02/23 11:48:37 james
17 * *** empty log message ***
19 * Revision 1.4 2008/02/22 17:07:00 james
20 * *** empty log message ***
22 * Revision 1.3 2008/02/15 23:52:12 james
23 * *** empty log message ***
25 * Revision 1.2 2008/02/15 03:32:07 james
26 * *** empty log message ***
28 * Revision 1.1 2008/02/14 02:46:44 james
29 * *** empty log message ***
31 * Revision 1.1 2008/02/14 01:55:57 james
32 * *** empty log message ***
39 #define CMD_BUFLEN 128
54 keydis_close (KeyDis * t)
61 keydis_ipc_key (KeyDis * _t, Context * c, int key)
63 KeyDis_IPC *t = (KeyDis_IPC *) _t;
65 return ipc_msg_send_key (t->s, key);
69 keydis_ipc_set_baud (KeyDis * _t, Context * c, int baud)
71 KeyDis_IPC *t = (KeyDis_IPC *) _t;
73 ipc_msg_send_setbaud (t->s, baud);
79 keydis_ipc_send_break (KeyDis * _t, Context * c)
81 KeyDis_IPC *t = (KeyDis_IPC *) _t;
83 ipc_msg_send_sendbreak (t->s);
89 keydis_ipc_set_flow (KeyDis * _t, Context * c, int flow)
91 KeyDis_IPC *t = (KeyDis_IPC *) _t;
93 ipc_msg_send_setflow (t->s, flow);
100 keydis_ipc_set_ansi (KeyDis * _t, Context * c, int ansi)
102 KeyDis_IPC *t = (KeyDis_IPC *) _t;
104 vt102_set_ansi (c->v, ansi);
106 ipc_msg_send_setansi (t->s, ansi);
113 keydis_ipc_hangup (KeyDis * _t, Context * c)
115 KeyDis_IPC *t = (KeyDis_IPC *) _t;
117 ipc_msg_send_hangup (t->s);
124 keydis_ipc_set_size (KeyDis * _t, Context * c,int w,int h)
128 KeyDis_IPC *t = (KeyDis_IPC *) _t;
130 ipc_msg_send_setsize (t->s,p);
137 keydis_ipc_reset (KeyDis * _t, Context * c)
139 KeyDis_IPC *t = (KeyDis_IPC *) _t;
141 ipc_msg_send_reset (t->s);
147 keydis_vt102_key (KeyDis * _t, Context * c, int key)
149 KeyDis_VT102 *t = (KeyDis_VT102 *) _t;
156 keydis_vt102_set_baud (KeyDis * _t, Context * c, int baud)
158 KeyDis_VT102 *t = (KeyDis_VT102 *) _t;
160 tty_set_baud (c->t, baud);
163 log_f (c->l, "<baud changed to %d>", baud);
169 keydis_vt102_send_break (KeyDis * _t, Context * c)
171 KeyDis_VT102 *t = (KeyDis_VT102 *) _t;
173 tty_send_break (c->t);
179 keydis_vt102_set_flow (KeyDis * _t, Context * c, int flow)
181 KeyDis_VT102 *t = (KeyDis_VT102 *) _t;
183 tty_set_flow (c->t, flow);
189 keydis_vt102_set_ansi (KeyDis * _t, Context * c, int ansi)
191 KeyDis_VT102 *t = (KeyDis_VT102 *) _t;
194 c->v->xn_glitch = ansi ? 0 : 1;
200 keydis_vt102_hangup (KeyDis * _t, Context * c)
202 KeyDis_VT102 *t = (KeyDis_VT102 *) _t;
210 keydis_vt102_set_size (KeyDis * _t, Context * c,int w, int h)
212 KeyDis_VT102 *t = (KeyDis_VT102 *) _t;
221 keydis_vt102_reset (KeyDis * _t, Context * c)
223 KeyDis_VT102 *t = (KeyDis_VT102 *) _t;
233 keydis_vt102_new (void)
235 KeyDis_VT102 *t = malloc (sizeof (KeyDis_VT102));
236 t->key = keydis_vt102_key;
237 t->close = keydis_close;
238 t->set_baud = keydis_vt102_set_baud;
239 t->send_break = keydis_vt102_send_break;
240 t->set_flow = keydis_vt102_set_flow;
241 t->set_ansi = keydis_vt102_set_ansi;
242 t->hangup = keydis_vt102_hangup;
243 t->set_size = keydis_vt102_set_size;
244 t->reset = keydis_vt102_reset;
250 keydis_ipc_new (Socket * s)
252 KeyDis_IPC *t = malloc (sizeof (KeyDis_IPC));
253 t->key = keydis_ipc_key;
254 t->close = keydis_close;
255 t->set_baud = keydis_ipc_set_baud;
256 t->send_break = keydis_ipc_send_break;
257 t->set_flow = keydis_ipc_set_flow;
258 t->set_ansi = keydis_ipc_set_ansi;
259 t->hangup = keydis_ipc_hangup;
260 t->set_size = keydis_ipc_set_size;
261 t->reset = keydis_ipc_reset;
272 keydis_key (KeyDis * t, Context * c, int key)
276 return t->key (t, c, key);
278 cmd_show_status (c->d, c);
281 return cmd_key (c->d, c, key);
284 return cmd_activate (c->d, c);
287 return t->key (t, c, key);