This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
vsc e5f4633c39 This commit was generated by cvs2svn to compensate for changes in r4,
which included commits to RCS files with non-trunk default branches.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@5 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2001-04-09 19:54:03 +00:00

92 lines
2.4 KiB
C

/*************************************************************************
* *
* YAP Prolog @(#)c_interface.h 2.2 *
* Yap Prolog was developed at NCCUP - Universidade do Porto *
* *
* Copyright L.Damas, V.S.Costa and Universidade do Porto 1985-1997 *
* *
**************************************************************************
* *
* File: yap_structs.h *
* Last rev: 15/5/2000 *
* mods: *
* comments: Data structures and defines used in the Interface *
* *
*************************************************************************/
#if defined(__STDC__)
#define PROTO(X,ARGS) X ARGS
#else
#define PROTO(X,ARGS) X()
#endif
#ifndef HAS_YAP_H
/* Type definitions */
typedef unsigned long CELL; /* this is common to all current machines */
typedef int Bool;
typedef long int Int;
typedef double flt;
typedef CELL Term, Functor, Atom;
#ifndef TRUE
#define TRUE 1
#endif
#ifndef FALSE
#define FALSE 0
#endif
#endif
#define YAP_BOOT_FROM_PROLOG 0
#define YAP_BOOT_FROM_SAVED_CODE 1
#define YAP_BOOT_FROM_SAVED_STACKS 2
#define YAP_BOOT_FROM_SAVED_ERROR -1
#define YAP_WRITE_QUOTED 0
#define YAP_WRITE_HANDLE_VARS 1
#define YAP_WRITE_IGNORE_OPS 2
#define YAP_CONSULT_MODE 0
#define YAP_RECONSULT_MODE 1
typedef struct {
/* if NON-NULL, path where we can find the saved state */
char *SavedState;
/* if NON-0, minimal size for Heap or Code Area */
int HeapSize;
/* if NON-0, minimal size for Local+Global Stack */
int StackSize;
/* if NON-0, minimal size for Trail */
int TrailSize;
/* if NON-NULL, value for YAPLIBDIR */
char *YapLibDir;
/* if NON-NULL, name for a Prolog file to consult before entering top-level */
char *YapPrologBootFile;
/* if previous NON-NULL and TRUE, halt after consulting that file */
int HaltAfterConsult;
/* the next three fields only interest YAPOR, but we keep them so that
users don't need to recompile DLL in order to use YAPOR */
/* if NON-0, number of workers we want to have (default=1) */
int NumberWorkers;
/* if NON-0, manage the inner scheduler loop (default = 10) */
int SchedulerLoop;
/* if NON-0, say how long to keep nodes (default = 3) */
int DelayedReleaseLoad;
/* end of YAPOR fields */
/* number of arguments that Prolog will see */
int Argc;
/* array of arguments as seen by Prolog */
char **Argv;
} yap_init_args;