V25 with 64-bit support
[pforth] / csrc / pforth.h
index 39a1290..70a700a 100644 (file)
 typedef void *PForthTask;\r
 typedef void *PForthDictionary;\r
 \r
 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
 \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
 \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
 \r
 /* Turn off messages. */\r
-void  pfSetQuiet( int32 IfQuiet );\r
+void  pfSetQuiet( cell_t IfQuiet );\r
 \r
 /* Query message status. */\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
 \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
 \r
 /* Establish this task as the current task. */\r
 void  pfSetCurrentTask( PForthTask task );\r
@@ -59,10 +60,10 @@ void  pfSetCurrentTask( PForthTask task );
 void  pfDeleteTask( PForthTask task );\r
 \r
 /* Build a dictionary with all the basic kernel words. */\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
 \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
 \r
 /* Load dictionary from a file. */\r
 PForthDictionary pfLoadDictionary( const char *FileName, ExecToken *EntryPointPtr );\r