| @@ -1,14 +1,14 @@ | | | @@ -1,14 +1,14 @@ |
1 | /* $NetBSD: keymacro.h,v 1.1 2011/07/28 01:56:27 christos Exp $ */ | | 1 | /* $NetBSD: keymacro.h,v 1.2 2011/07/28 03:44:36 christos Exp $ */ |
2 | | | 2 | |
3 | /*- | | 3 | /*- |
4 | * Copyright (c) 1992, 1993 | | 4 | * Copyright (c) 1992, 1993 |
5 | * The Regents of the University of California. All rights reserved. | | 5 | * The Regents of the University of California. All rights reserved. |
6 | * | | 6 | * |
7 | * This code is derived from software contributed to Berkeley by | | 7 | * This code is derived from software contributed to Berkeley by |
8 | * Christos Zoulas of Cornell University. | | 8 | * Christos Zoulas of Cornell University. |
9 | * | | 9 | * |
10 | * Redistribution and use in source and binary forms, with or without | | 10 | * Redistribution and use in source and binary forms, with or without |
11 | * modification, are permitted provided that the following conditions | | 11 | * modification, are permitted provided that the following conditions |
12 | * are met: | | 12 | * are met: |
13 | * 1. Redistributions of source code must retain the above copyright | | 13 | * 1. Redistributions of source code must retain the above copyright |
14 | * notice, this list of conditions and the following disclaimer. | | 14 | * notice, this list of conditions and the following disclaimer. |
| @@ -25,52 +25,52 @@ | | | @@ -25,52 +25,52 @@ |
25 | * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE | | 25 | * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE |
26 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | | 26 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
27 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | | 27 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS |
28 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | | 28 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
29 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | | 29 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
30 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | | 30 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY |
31 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | | 31 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
32 | * SUCH DAMAGE. | | 32 | * SUCH DAMAGE. |
33 | * | | 33 | * |
34 | * @(#)key.h 8.1 (Berkeley) 6/4/93 | | 34 | * @(#)key.h 8.1 (Berkeley) 6/4/93 |
35 | */ | | 35 | */ |
36 | | | 36 | |
37 | /* | | 37 | /* |
38 | * el.key.h: Key macro header | | 38 | * el.keymacro.h: Key macro header |
39 | */ | | 39 | */ |
40 | #ifndef _h_el_keymacro | | 40 | #ifndef _h_el_keymacro |
41 | #define _h_el_keymacro | | 41 | #define _h_el_keymacro |
42 | | | 42 | |
43 | typedef union keymacro_value_t { | | 43 | typedef union keymacro_value_t { |
44 | el_action_t cmd; /* If it is a command the # */ | | 44 | el_action_t cmd; /* If it is a command the # */ |
45 | Char *str; /* If it is a string... */ | | 45 | Char *str; /* If it is a string... */ |
46 | } keymacro_value_t; | | 46 | } keymacro_value_t; |
47 | | | 47 | |
48 | typedef struct keymacro_node_t keymacro_node_t; | | 48 | typedef struct keymacro_node_t keymacro_node_t; |
49 | | | 49 | |
50 | typedef struct el_keymacromacro_t { | | 50 | typedef struct el_keymacromacro_t { |
51 | Char *buf; /* Key print buffer */ | | 51 | Char *buf; /* Key print buffer */ |
52 | keymacro_node_t *map; /* Key map */ | | 52 | keymacro_node_t *map; /* Key map */ |
53 | keymacro_value_t val; /* Local conversion buffer */ | | 53 | keymacro_value_t val; /* Local conversion buffer */ |
54 | } el_keymacro_t; | | 54 | } el_keymacro_t; |
55 | | | 55 | |
56 | #define XK_CMD 0 | | 56 | #define XK_CMD 0 |
57 | #define XK_STR 1 | | 57 | #define XK_STR 1 |
58 | #define XK_NOD 2 | | 58 | #define XK_NOD 2 |
59 | #define XK_EXE 3 | | 59 | #define XK_EXE 3 |
60 | | | 60 | |
61 | protected int keymacro_init(EditLine *); | | 61 | protected int keymacro_init(EditLine *); |
62 | protected void keymacro_end(EditLine *); | | 62 | protected void keymacro_end(EditLine *); |
63 | protected keymacro_value_t *keymacro_map_cmd(EditLine *, int); | | 63 | protected keymacro_value_t *keymacro_map_cmd(EditLine *, int); |
64 | protected keymacro_value_t *keymacro_map_str(EditLine *, Char *); | | 64 | protected keymacro_value_t *keymacro_map_str(EditLine *, Char *); |
65 | protected void keymacro_reset(EditLine *); | | 65 | protected void keymacro_reset(EditLine *); |
66 | protected int keymacro_get(EditLine *, Char *, keymacro_value_t *); | | 66 | protected int keymacro_get(EditLine *, Char *, keymacro_value_t *); |
67 | protected void keymacro_add(EditLine *, const Char *, keymacro_value_t *, int); | | 67 | protected void keymacro_add(EditLine *, const Char *, keymacro_value_t *, int); |
68 | protected void keymacro_clear(EditLine *, el_action_t *, const Char *); | | 68 | protected void keymacro_clear(EditLine *, el_action_t *, const Char *); |
69 | protected int keymacro_delete(EditLine *, const Char *); | | 69 | protected int keymacro_delete(EditLine *, const Char *); |
70 | protected void keymacro_print(EditLine *, const Char *); | | 70 | protected void keymacro_print(EditLine *, const Char *); |
71 | protected void keymacro_kprint(EditLine *, const Char *, keymacro_value_t *, | | 71 | protected void keymacro_kprint(EditLine *, const Char *, keymacro_value_t *, |
72 | int); | | 72 | int); |
73 | protected size_t keymacro__decode_str(const Char *, char *, size_t, | | 73 | protected size_t keymacro__decode_str(const Char *, char *, size_t, |
74 | const char *); | | 74 | const char *); |
75 | | | 75 | |
76 | #endif /* _h_el_keymacro */ | | 76 | #endif /* _h_el_keymacro */ |