YAP 7.1.0
c_interface.h
Go to the documentation of this file.
1/*************************************************************************
2* *
3* YAP Prolog @(#)c_interface.h 2.2 *
4* Yap Prolog was developed at NCCUP - Universidade do Porto *
5* *
6* Copyright L.Damas, V.S.Costa and Universidade do Porto 1985-1997 *
7* *
8**************************************************************************
9* *
10* File: c_interface.h *
11* Last rev: 19/2/88 *
12* mods: *
13* comments: c_interface header file for YAP *
14* *
15*************************************************************************/
21#if !defined(_c_interface_h) && !defined(_YAP_NOT_INSTALLED_)
22
23#define _c_interface_h 1
24
25#include "YapInterface.h"
26
27#define CELL YAP_CELL
28
29#ifndef Bool
30#define Bool YAP_Bool
31#endif
32
33#define Int long int
34
35#define flt double
36
37#define Term YAP_Term
38
39#define Functor YAP_Functor
40
41#define Atom YAP_Atom
42
43#define yap_init_args YAP_init_args
44
45#define A(X) YAP_A(X)
46#define ARG1 YAP_ARG1
47#define ARG2 YAP_ARG2
48#define ARG3 YAP_ARG3
49#define ARG4 YAP_ARG4
50#define ARG5 YAP_ARG5
51#define ARG6 YAP_ARG6
52#define ARG7 YAP_ARG7
53#define ARG8 YAP_ARG8
54#define ARG9 YAP_ARG9
55#define ARG10 YAP_ARG10
56#define ARG11 YAP_ARG11
57#define ARG12 YAP_ARG12
58#define ARG13 YAP_ARG13
59#define ARG14 YAP_ARG14
60#define ARG15 YAP_ARG15
61#define ARG16 YAP_ARG16
62
63/* YAP_Term Deref(YAP_Term) */
64#define Deref(t) YAP_Deref(t)
65#define YapDeref(t) YAP_Deref(t)
66
67/* YAP_Bool IsVarTerm(YAP_Term) */
68#define IsVarTerm(t) YAP_IsVarTerm(t)
69#define YapIsVarTerm(t) YAP_IsVarTerm(t)
70
71/* YAP_Bool IsNonVarTerm(YAP_Term) */
72#define IsNonVarTerm(t) YAP_IsNonVarTerm(t)
73#define YapIsNonVarTerm(t) YAP_IsNonVarTerm(t)
74
75/* YAP_Term MkVarTerm() */
76#define MkVarTerm() YAP_MkVarTerm()
77#define YapMkVarTerm() YAP_MkVarTerm()
78
79/* YAP_Bool IsIntTerm(YAP_Term) */
80#define IsIntTerm(t) YAP_IsIntTerm(t)
81#define YapIsIntTerm(t) YAP_IsIntTerm(t)
82
83/* YAP_Bool IsFloatTerm(YAP_Term) */
84#define IsFloatTerm(t) YAP_IsFloatTerm(t)
85#define YapIsFloatTerm(t) YAP_IsFloatTerm(t)
86
87/* YAP_Bool IsDbRefTerm(YAP_Term) */
88#define IsDbRefTerm(t) YAP_IsDbRefTerm(t)
89#define YapIsDbRefTerm(t) YAP_IsDbRefTerm(t)
90
91/* YAP_Bool IsAtomTerm(YAP_Term) */
92#define IsAtomTerm(t) YAP_IsAtomTerm(t)
93#define YapIsAtomTerm(t) YAP_IsAtomTerm(t)
94
95/* YAP_Bool IsPairTerm(YAP_Term) */
96#define IsPairTerm(t) YAP_IsPairTerm(t)
97#define YapIsPairTerm(t) YAP_IsPairTerm(t)
98
99/* YAP_Bool IsApplTerm(YAP_Term) */
100#define IsApplTerm(t) YAP_IsApplTerm(t)
101#define YapIsApplTerm(t) YAP_IsApplTerm(t)
102
103/* Term MkIntTerm(YAP_Int) */
104#define MkIntTerm(t) YAP_MkIntTerm(t)
105#define YapMkIntTerm(t) YAP_MkIntTerm(t)
106
107/* YAP_Int IntOfTerm(Term) */
108#define IntOfTerm(t) YAP_IntOfTerm(t)
109#define YapIntOfTerm(t) YAP_IntOfTerm(t)
110
111/* Term MkFloatTerm(YAP_flt) */
112#define MkFloatTerm(f) YAP_MkFloatTerm(f)
113#define YapMkFloatTerm(f) YAP_MkFloatTerm(f)
114
115/* YAP_flt FloatOfTerm(YAP_Term) */
116#define FloatOfTerm(t) YAP_FloatOfTerm(t)
117#define YapFloatOfTerm(t) YAP_FloatOfTerm(t)
118
119/* Term MkAtomTerm(Atom) */
120#define MkAtomTerm(a) YAP_MkAtomTerm(a)
121#define YapMkAtomTerm(a) YAP_MkAtomTerm(a)
122
123/* YAP_Atom AtomOfTerm(Term) */
124#define AtomOfTerm(t) YAP_AtomOfTerm(t)
125#define YapAtomOfTerm(t) YAP_AtomOfTerm(t)
126
127/* YAP_Atom LookupAtom(char *) */
128#define LookupAtom(s) YAP_LookupAtom(s)
129#define YapLookupAtom(s) YAP_LookupAtom(s)
130
131/* YAP_Atom FullLookupAtom(char *) */
132#define FullLookupAtom(s) YAP_FullLookupAtom(s)
133#define YapFullLookupAtom(s) YAP_FullLookupAtom(s)
134
135/* char* AtomName(YAP_Atom) */
136#define AtomName(a) YAP_AtomName(a)
137#define YapAtomName(a) YAP_AtomName(a)
138
139/* YAP_Term MkPairTerm(YAP_Term Head, YAP_Term Tail) */
140#define MkPairTerm(h,t) YAP_MkPairTerm(h,t)
141#define YapMkPairTerm(h,t) YAP_MkPairTerm(h,t)
142
143/* YAP_Term MkNewPairTerm(void) */
144#define MkNewPairTerm() YAP_MkNewPairTerm()
145#define YapMkNewPairTerm() YAP_MkNewPairTerm()
146
147/* Term HeadOfTerm(Term) */
148#define HeadOfTerm(t) YAP_HeadOfTerm(t)
149#define YapHeadOfTerm(t) YAP_HeadOfTerm(t)
150
151/* Term TailOfTerm(Term) */
152#define TailOfTerm(t) YAP_TailOfTerm(t)
153#define YapTailOfTerm(t) YAP_TailOfTerm(t)
154
155/* YAP_Term MkApplTerm(YAP_Functor f, int n, YAP_Term[] args) */
156#define MkApplTerm(f,i,ts) YAP_MkApplTerm(f,i,ts)
157#define YapMkApplTerm(f,i,ts) YAP_MkApplTerm(f,i,ts)
158
159/* YAP_Term MkNewApplTerm(YAP_Functor f, int n) */
160#define MkNewApplTerm(f,i) YAP_MkNewApplTerm(f,i)
161#define YapMkNewApplTerm(f,i) YAP_MkNewApplTerm(f,i)
162
163/* YAP_Functor YAP_FunctorOfTerm(Term) */
164#define FunctorOfTerm(t) YAP_FunctorOfTerm(t)
165#define YapFunctorOfTerm(t) YAP_FunctorOfTerm(t)
166
167/* YAP_Term ArgOfTerm(int argno,YAP_Term t) */
168#define ArgOfTerm(i,t) YAP_ArgOfTerm(i,t)
169#define YapArgOfTerm(i,t) YAP_ArgOfTerm(i,t)
170
171/* YAP_Functor MkFunctor(YAP_Atom a,int arity) */
172#define MkFunctor(a,i) YAP_MkFunctor(a,i)
173#define YapMkFunctor(a,i) YAP_MkFunctor(a,i)
174
175/* YAP_Atom NameOfFunctor(Functor) */
176#define NameOfFunctor(f) YAP_NameOfFunctor(f)
177#define YapNameOfFunctor(f) YAP_NameOfFunctor(f)
178
179/* YAP_Int YAP_ArityOfFunctor(Functor) */
180#define ArityOfFunctor(f) YAP_ArityOfFunctor(f)
181#define YapArityOfFunctor(f) YAP_ArityOfFunctor(f)
182
183#define PRESERVE_DATA(ptr, type) (ptr = (type *)YAP_ExtraSpace())
184#define PRESERVED_DATA(ptr, type) (ptr = (type *)YAP_ExtraSpace())
185#define PRESERVED_DATA_CUT(ptr,type) (ptr = (type *)YAP_ExtraSpaceCut())
186
187/* YAP_Int unify(YAP_Term a, YAP_Term b) */
188#define unify(t1,t2) YAP_Unify(t1, t2)
189#define YapUnify(t1,t2) YAP_Unify(t1, t2)
190
191/* void UserCPredicate(char *name, int *fn(), int arity) */
192#define UserCPredicate(s,f,i) YAP_UserCPredicate(s,f,i);
193
194/* void UserBackCPredicate(char *name, int *init(), int *cont(), int
195 arity, int extra) */
196#define UserBackCPredicate(s,f1,f2,i,i2) YAP_UserBackCPredicate(s,f1,f2,i,i2)
197
198/* void UserCPredicate(char *name, int *fn(), int arity) */
199#define UserCPredicateWithArgs(s,f,i1,i2) YAP_UserCPredicateWithArgs(s,f,i1,i2)
200/* void CallProlog(YAP_Term t) */
201#define CallProlog(t) YAP_CallProlog(t)
202#define YapCallProlog(t) YAP_CallProlog(t)
203
204/* void cut_fail(void) */
205#define cut_fail() YAP_cut_fail()
206
207/* void cut_succeed(void) */
208#define cut_succeed() YAP_cut_succeed()
209
210/* void *AllocSpaceFromYap(int) */
211#define AllocSpaceFromYap(s) YAP_AllocSpaceFromYap(s)
212
213/* void FreeSpaceFromYap(void *) */
214#define FreeSpaceFromYap(s) YAP_FreeSpaceFromYap(s)
215
216/* int YAP_RunGoal(YAP_Term) */
217#define RunGoal(t) YAP_RunGoal(t)
218#define YapRunGoal(t) YAP_RunGoal(t)
219
220/* int YAP_RestartGoal(void) */
221#define RestartGoal() YAP_RestartGoal()
222#define YapRestartGoal() YAP_RestartGoal()
223
224/* int YAP_ContinueGoal(void) */
225#define ContinueGoal() YAP_ContinueGoal()
226#define YapContinueGoal() YAP_ContinueGoal()
227
228/* void YAP_PruneGoal(void) */
229#define PruneGoal() YAP_PruneGoal()
230#define YapPruneGoal() YAP_PruneGoal()
231
232/* int YAP_GoalHasException(void) */
233#define GoalHasException(tp) YAP_GoalHasException(tp)
234#define YapGoalHasException(tp) YAP_GoalHasException(tp)
235
236/* int YAP_Reset(void) */
237#define YapReset() YAP_Reset()
238
239/* void YAP_Error(char *) */
240#define YapError(s) YAP_Error(s)
241
242/* YAP_Term YAP_Read(int (*)(void)) */
243#define YapRead(f) YAP_Read(f);
244
245/* void YAP_Write(YAP_Term,void (*)(int),int) */
246#define YapWrite(t,f) YAP_Write(t,f);
247
248/* char *YAP_CompileClause(YAP_Term) */
249#define CompileClause(t) YAP_CompileClause(t)
250#define YapCompileClause(t) YAP_CompileClause(t)
251
252/* int YAP_Init(YAP_init_args *) */
253#define YapInit(as) YAP_Init(as)
254
255/* int YAP_FastInit(char *) */
256#define YapFastInit(s) YAP_FastInit(s)
257
258/* int YAP_InitConsult(int, char *) */
259#define YapInitConsult(i,s) YAP_InitConsult(i,s)
260
261/* int YAP_StartConsult(int, char *) */
262#define YapEndConsult() YAP_EndConsult()
263
264/* void YAP_Exit(int) */
265#define YapExit(code) YAP_Exit(code)
266
267/* void YAP_PutValue(YAP_Atom, YAP_Term) */
268#define PutValue() YAP_PutValue(a, t)
269#define YapPutValue() YAP_PutValue(a, t)
270
271/* YAP_Term YAP_GetValue(YAP_Atom) */
272#define GetValue(a) YAP_GetValue(a)
273#define YapGetValue(a) YAP_GetValue(a)
274
275/* int StringToBuffer(YAP_Term,char *,unsigned int) */
276#define StringToBuffer(t,s,l) YAP_StringToBuffer(t,s,l)
277#define YapStringToBuffer(t,s,l) YAP_StringToBuffer(t,s,l)
278
279/* int BufferToString(char *) */
280#define BufferToString(s) YAP_BufferToString(s)
281#define YapBufferToString(s) YAP_BufferToString(s)
282
283/* int BufferToAtomList(char *) */
284#define BufferToAtomList(s) YAP_BufferToAtomList(s)
285#define YapBufferToAtomList(s) YAP_BufferToAtomList(s)
286
287/* void YAP_InitSocks(char *,long) */
288#define InitSocks(s,l) YAP_InitSocks(s,l)
289#define YapInitSocks(s,l) YAP_InitSocks(s,l)
290
291#ifdef SFUNC
292
293#define SFArity 0
294#define ArgsOfSFTerm(s,t) YAP_ArgsOfSFTerm(s,t)
295
296extern MkSFTerm(t) YAP_MkSFTerm(t)
297
298#endif /* SFUNC */
299
300/* YAP_Term YAP_SetOutputMessage() */
301#define YapSetOutputMessage(s) YAP_SetOutputMessage(s)
302
303/* YAP_Term YAP_SetOutputMessage() */
304#define YapStreamToFileNo(st) YAP_StreamToFileNo(st)
305
306/* YAP_Term YAP_SetOutputMessage() */
307#define YapCloseAllOpenStreams() YAP_CloseAllOpenStreams()
308
309/* YAP_Term YAP_OpenStream() */
310#define YapOpenStream(st, s, t, i) YAP_OpenStream(st, s, t, i)
311
312#endif