Merge pull request #70 from philburk/ignoreds
[pforth] / csrc / pf_cglue.h
CommitLineData
8e9db35f
PB
1/* @(#) pf_cglue.h 96/12/18 1.7 */
2#ifndef _pf_c_glue_h
3#define _pf_c_glue_h
4
5/***************************************************************
6** Include file for PForth 'C' Glue support
7**
8** Author: Phil Burk
9** Copyright 1994 3DO, Phil Burk, Larry Polansky, David Rosenboom
10**
11** The pForth software code is dedicated to the public domain,
12** and any third party may reproduce, distribute and modify
13** the pForth software code or any derivative works thereof
14** without any compensation or license. The pForth software
15** code is provided on an "as is" basis without any warranty
16** of any kind, including, without limitation, the implied
17** warranties of merchantability and fitness for a particular
18** purpose and their equivalents under the laws of any jurisdiction.
19**
20***************************************************************/
21
22typedef cell_t (*CFunc0)( void );
23typedef cell_t (*CFunc1)( cell_t P1 );
24typedef cell_t (*CFunc2)( cell_t P1, cell_t P2 );
25typedef cell_t (*CFunc3)( cell_t P1, cell_t P2, cell_t P3 );
26typedef cell_t (*CFunc4)( cell_t P1, cell_t P2, cell_t P3, cell_t P4 );
27typedef cell_t (*CFunc5)( cell_t P1, cell_t P2, cell_t P3, cell_t P4, cell_t P5 );
28
29#ifdef __cplusplus
30extern "C" {
31#endif
32
33Err CreateGlueToC( const char *CName, ucell_t Index, cell_t ReturnMode, int32_t NumParams );
34Err CompileCustomFunctions( void );
35Err LoadCustomFunctionTable( void );
36cell_t CallUserFunction( cell_t Index, int32_t ReturnMode, int32_t NumParams );
37
38#ifdef __cplusplus
39}
40#endif
41
42#define C_RETURNS_VOID (0)
43#define C_RETURNS_VALUE (1)
44
45#endif /* _pf_c_glue_h */