chiark / gitweb /
infra: Clean up project setup
[jog] / rxglue.h
1 /* -*-c-*-
2  *
3  * $Id: rxglue.h,v 1.1 2002/01/25 19:34:45 mdw Exp $
4  *
5  * REXX glue for C core functionality
6  *
7  * (c) 2001 Mark Wooding
8  */
9
10 /*----- Licensing notice --------------------------------------------------* 
11  *
12  * This file is part of Jog: Programming for a jogging machine.
13  *
14  * Jog is free software; you can redistribute it and/or modify
15  * it under the terms of the GNU General Public License as published by
16  * the Free Software Foundation; either version 2 of the License, or
17  * (at your option) any later version.
18  * 
19  * Jog is distributed in the hope that it will be useful,
20  * but WITHOUT ANY WARRANTY; without even the implied warranty of
21  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
22  * GNU General Public License for more details.
23  * 
24  * You should have received a copy of the GNU General Public License
25  * along with Jog; if not, write to the Free Software Foundation,
26  * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
27  */
28
29 #ifndef RXGLUE_H
30 #define RXGLUE_H
31
32 #ifdef __cplusplus
33   extern "C" {
34 #endif
35
36 /*----- Header files ------------------------------------------------------*/
37
38 #ifdef HAVE_CONFIG_H
39 #  include "config.h"
40 #endif
41
42 #include <stddef.h>
43
44 /*----- Functions provided ------------------------------------------------*/
45
46 /* --- @rx_run@ --- *
47  *
48  * Arguments:   @const char *name@ = pointer to filename (or null)
49  *              @const void *p@ = pointer to program text
50  *              @size_t sz@ = size of program text
51  *              @int ac@ = number of arguments
52  *              @const char *const *av@ = vector of command-line arguments
53  *
54  * Returns:     Exit code from program.
55  *
56  * Use:         Runs a REXX script from memory.
57  */
58
59 extern int rx_run(const char */*name*/, const void */*p*/, size_t /*sz*/,
60                   int /*ac*/, const char *const */*av*/);
61
62 /* --- @rx_runfile@ --- *
63  *
64  * Arguments:   @const char *name@ = pointer to filename
65  *              @int ac@ = number of command-line arguments
66  *              @const char *const *av@ = vector of command-line arguments
67  *
68  * Returns:     Exit code from program.
69  *
70  * Use:         Runs a REXX script from a file, given its name.
71  */
72
73 extern int rx_runfile(const char */*name*/,
74                       int /*ac*/, const char *const */*av*/);
75
76 /* --- @rx_init@ --- *
77  *
78  * Arguments:   ---
79  *
80  * Returns:     ---
81  *
82  * Use:         Initializes the REXX external functions.
83  */
84
85 extern void rx_init(void);
86
87 /*----- That's all, folks -------------------------------------------------*/
88
89 #ifdef __cplusplus
90   }
91 #endif
92
93 #endif