05431d7ec9f3c97a0a6ada252aa406a187d428ac
/* @(#) pf_text.h 96/12/18 1.10 */
/***************************************************************
** Include file for PForth Text
** Copyright 1994 3DO, Phil Burk, Larry Polansky, David Rosenboom
** The pForth software code is dedicated to the public domain,
** and any third party may reproduce, distribute and modify
** the pForth software code or any derivative works thereof
** without any compensation or license. The pForth software
** code is provided on an "as is" basis without any warranty
** of any kind, including, without limitation, the implied
** warranties of merchantability and fitness for a particular
** purpose and their equivalents under the laws of any jurisdiction.
***************************************************************/
#define PF_ERR_INDEX_MASK (0xFFFF)
#define PF_ERR_BASE (0x80000000)
#define PF_ERR_NO_MEM (PF_ERR_BASE | 0)
#define PF_ERR_TOO_BIG (PF_ERR_BASE | 2)
#define PF_ERR_NUM_PARAMS (PF_ERR_BASE | 3)
#define PF_ERR_OPEN_FILE (PF_ERR_BASE | 4)
#define PF_ERR_WRONG_FILE (PF_ERR_BASE | 5)
#define PF_ERR_BAD_FILE (PF_ERR_BASE | 6)
#define PF_ERR_READ_FILE (PF_ERR_BASE | 7)
#define PF_ERR_WRITE_FILE (PF_ERR_BASE | 8)
#define PF_ERR_CORRUPT_DIC (PF_ERR_BASE | 9)
#define PF_ERR_NOT_SUPPORTED (PF_ERR_BASE | 10)
#define PF_ERR_VERSION_FUTURE (PF_ERR_BASE | 11)
#define PF_ERR_VERSION_PAST (PF_ERR_BASE | 12)
#define PF_ERR_COLON_STACK (PF_ERR_BASE | 13)
#define PF_ERR_HEADER_ROOM (PF_ERR_BASE | 14)
#define PF_ERR_CODE_ROOM (PF_ERR_BASE | 15)
#define PF_ERR_NO_SHELL (PF_ERR_BASE | 16)
#define PF_ERR_NO_NAMES (PF_ERR_BASE | 17)
#define PF_ERR_OUT_OF_RANGE (PF_ERR_BASE | 18)
#define PF_ERR_ENDIAN_CONFLICT (PF_ERR_BASE | 19)
#define PF_ERR_FLOAT_CONFLICT (PF_ERR_BASE | 20)
#define PF_ERR_CELL_SIZE_CONFLICT (PF_ERR_BASE | 21)
/* If you add an error code here, also add a text message in "pf_text.c". */
void pfReportError( const char *FunctionName
, Err ErrCode
);
void pfReportThrow( ThrowCode code
);
char *ForthStringToC( char *dst
, const char *FString
, cell_t dstSize
);
char *CStringToForth( char *dst
, const char *CString
, cell_t dstSize
);
cell_t
ffCompare( const char *s1
, cell_t len1
, const char *s2
, int32_t len2
);
cell_t
ffCompareText( const char *s1
, const char *s2
, cell_t len
);
cell_t
ffCompareTextCaseN( const char *s1
, const char *s2
, cell_t len
);
void DumpMemory( void *addr
, cell_t cnt
);
char *ConvertNumberToText( cell_t Num
, cell_t Base
, int32_t IfSigned
, int32_t MinChars
);
void TypeName( const char *Name
);
cell_t
pfUnitTestText( void );
#endif /* _pforth_text_h */