49 lines
1.3 KiB
C
49 lines
1.3 KiB
C
|
|
#ifndef PL_TYPES_H
|
|
|
|
#define PL_TYPES_H
|
|
|
|
/*******************************
|
|
* TYPES *
|
|
*******************************/
|
|
|
|
|
|
#ifdef __WINDOWS__
|
|
#ifndef INT64_T_DEFINED
|
|
#define INT64_T_DEFINED 1
|
|
typedef __int64 int64_t;
|
|
typedef unsigned __int64 uint64_t;
|
|
#if (_MSC_VER < 1300) && !defined(__MINGW32__)
|
|
typedef long intptr_t;
|
|
typedef unsigned long uintptr_t;
|
|
#endif
|
|
#endif
|
|
#else
|
|
#include <inttypes.h> /* more portable than stdint.h */
|
|
#endif
|
|
|
|
|
|
#ifndef PL_HAVE_TERM_T
|
|
#define PL_HAVE_TERM_T
|
|
typedef intptr_t term_t;
|
|
#endif
|
|
typedef struct mod_entry *module_t;
|
|
typedef struct DB_STRUCT *record_t;
|
|
typedef uintptr_t atom_t;
|
|
typedef struct pred_entry *predicate_t;
|
|
typedef struct open_query_struct *qid_t;
|
|
typedef uintptr_t functor_t;
|
|
typedef int (*PL_agc_hook_t)(atom_t);
|
|
typedef uintptr_t foreign_t; /* return type of foreign functions */
|
|
typedef wchar_t pl_wchar_t; /* wide character support */
|
|
#include <inttypes.h> /* more portable than stdint.h */
|
|
#if !defined(_MSC_VER)
|
|
typedef uintptr_t PL_fid_t; /* opaque foreign context handle */
|
|
#endif
|
|
typedef int (*PL_dispatch_hook_t)(int fd);
|
|
typedef void *pl_function_t;
|
|
|
|
#define fid_t PL_fid_t /* avoid AIX name-clash */
|
|
|
|
#endif /* PL_TYPES */
|