typedef void *PForthTask;\r
typedef void *PForthDictionary;\r
\r
-typedef unsigned long ExecToken; /* Execution Token */\r
-typedef long ThrowCode;\r
+#include <stdint.h>\r
+/* Integer types for Forth cells, signed and unsigned: */\r
+typedef intptr_t cell_t;\r
+typedef uintptr_t ucell_t;\r
\r
-#ifndef int32\r
- typedef long int32;\r
-#endif\r
+typedef ucell_t ExecToken; /* Execution Token */\r
+typedef cell_t ThrowCode;\r
\r
#ifdef __cplusplus\r
extern "C" {\r
#endif\r
\r
/* Main entry point to pForth. */\r
-int32 pfDoForth( const char *DicName, const char *SourceName, int32 IfInit );\r
+cell_t pfDoForth( const char *DicName, const char *SourceName, cell_t IfInit );\r
\r
/* Turn off messages. */\r
-void pfSetQuiet( int32 IfQuiet );\r
+void pfSetQuiet( cell_t IfQuiet );\r
\r
/* Query message status. */\r
-int32 pfQueryQuiet( void );\r
+cell_t pfQueryQuiet( void );\r
\r
/* Send a message using low level I/O of pForth */\r
void pfMessage( const char *CString );\r
\r
/* Create a task used to maintain context of execution. */\r
-PForthTask pfCreateTask( int32 UserStackDepth, int32 ReturnStackDepth );\r
+PForthTask pfCreateTask( cell_t UserStackDepth, cell_t ReturnStackDepth );\r
\r
/* Establish this task as the current task. */\r
void pfSetCurrentTask( PForthTask task );\r
void pfDeleteTask( PForthTask task );\r
\r
/* Build a dictionary with all the basic kernel words. */\r
-PForthDictionary pfBuildDictionary( int32 HeaderSize, int32 CodeSize );\r
+PForthDictionary pfBuildDictionary( cell_t HeaderSize, cell_t CodeSize );\r
\r
/* Create an empty dictionary. */\r
-PForthDictionary pfCreateDictionary( int32 HeaderSize, int32 CodeSize );\r
+PForthDictionary pfCreateDictionary( cell_t HeaderSize, cell_t CodeSize );\r
\r
/* Load dictionary from a file. */\r
PForthDictionary pfLoadDictionary( const char *FileName, ExecToken *EntryPointPtr );\r