7e152de02cc7defa8c7c1d1b7780e2b3c68b40e5
[alioth/jupp.git] / macro.h
1 /*
2  *      Keyboard macros
3  *      Copyright
4  *              (C) 1992 Joseph H. Allen
5  *
6  *      This file is part of JOE (Joe's Own Editor)
7  */
8 #ifndef _JOE_MACRO_H
9 #define _JOE_MACRO_H 1
10
11 #ifdef EXTERN
12 __RCSID("$MirOS: contrib/code/jupp/macro.h,v 1.3 2017/12/02 02:07:28 tg Exp $");
13 #endif
14
15 /* Set when macro is recording: for status line */
16 extern struct recmac *recmac;
17
18 /* Macro construction functions */
19 MACRO *mkmacro PARAMS((int k, int arg, int n, CMD *cmd));
20 void addmacro PARAMS((MACRO *macro, MACRO *m));
21 MACRO *dupmacro PARAMS((MACRO *mac));
22 void rmmacro PARAMS((MACRO *macro));
23 MACRO *macstk PARAMS((MACRO *m, int k));
24 MACRO *macsta PARAMS((MACRO *m, int a));
25
26 void chmac PARAMS((void));
27
28 /* Text to macro / Macro to text */
29 MACRO *mparse PARAMS((MACRO *m, unsigned char *buf, int *sta));
30 unsigned char *mtext PARAMS((unsigned char *s, MACRO *m));
31
32 /* Execute a macro */
33 extern MACRO *curmacro;
34 int exemac PARAMS((MACRO *m));
35 int exmacro PARAMS((MACRO *m, int u));
36
37 /* Keyboard macros user interface */
38 int uplay PARAMS((BW *bw, int c));
39 int ustop PARAMS((void));
40 int urecord PARAMS((BW *bw, int c));
41 int uquery PARAMS((BW *bw));
42 int umacros PARAMS((BW *bw));
43
44 /* Repeat prefix user command */
45 int uarg PARAMS((BW *bw));
46 int uuarg PARAMS((BW *bw, int c));
47
48 #endif