X-Git-Url: http://git.subgeniuskitty.com/pforth/.git/blobdiff_plain/8bf2fe25c2d6ed80c3d41cc664d13da865d6be6c..1f99f95d6a7eecc05cae8fb357f9b7bf564c2725:/csrc/pf_guts.h diff --git a/csrc/pf_guts.h b/csrc/pf_guts.h index 4fa4bd0..5b10ac8 100644 --- a/csrc/pf_guts.h +++ b/csrc/pf_guts.h @@ -8,14 +8,17 @@ ** Author: Phil Burk ** 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. +** Permission to use, copy, modify, and/or distribute this +** software for any purpose with or without fee is hereby granted. +** +** THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL +** WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED +** WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL +** THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR +** CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING +** FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF +** CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +** OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ** ***************************************************************/ @@ -23,7 +26,7 @@ ** PFORTH_VERSION changes when PForth is modified and released. ** See README file for version info. */ -#define PFORTH_VERSION "27" +#define PFORTH_VERSION "28" /* ** PFORTH_FILE_VERSION changes when incompatible changes are made @@ -36,8 +39,9 @@ ** FV7 - 971203 - Added ID_FILL, (1LOCAL@), etc., ran out of reserved, resorted. ** FV8 - 980818 - Added Endian flag. ** FV9 - 20100503 - Added support for 64-bit CELL. +** FV10 - 20170103 - Added ID_FILE_FLUSH ID_FILE_RENAME ID_FILE_RESIZE */ -#define PF_FILE_VERSION (9) /* Bump this whenever primitives added. */ +#define PF_FILE_VERSION (10) /* Bump this whenever primitives added. */ #define PF_EARLIEST_FILE_VERSION (9) /* earliest one still compatible */ /*************************************************************** @@ -282,6 +286,8 @@ enum cforth_primitive_ids /* DELETE-FILE */ ID_FILE_DELETE, ID_FILE_FLUSH, /* FLUSH-FILE */ + ID_FILE_RENAME, /* (RENAME-FILE) */ + ID_FILE_RESIZE, /* RESIZE-FILE */ /* If you add a word here, take away one reserved word below. */ #ifdef PF_SUPPORT_FP /* Only reserve space if we are adding FP so that we can detect @@ -297,8 +303,6 @@ enum cforth_primitive_ids ID_RESERVED08, ID_RESERVED09, ID_RESERVED10, - ID_RESERVED11, - ID_RESERVED12, ID_FP_D_TO_F, ID_FP_FSTORE, ID_FP_FTIMES, @@ -369,6 +373,7 @@ enum cforth_primitive_ids #define THROW_FLOAT_STACK_UNDERFLOW ( -45) #define THROW_QUIT (-56) #define THROW_FLUSH_FILE (-68) +#define THROW_RESIZE_FILE (-74) /* THROW codes unique to pForth */ #define THROW_BYE (-256) /* Exit program. */ @@ -460,7 +465,7 @@ typedef struct IncludeFrame extern "C" { #endif -int pfCatch( ExecToken XT ); +ThrowCode pfCatch( ExecToken XT ); #ifdef __cplusplus } @@ -569,9 +574,12 @@ extern cell_t gIncludeIndex; /* Force Quad alignment. */ #define QUADUP(x) (((x)+3)&~3) +#ifndef MIN #define MIN(a,b) ( ((a)<(b)) ? (a) : (b) ) +#endif +#ifndef MAX #define MAX(a,b) ( ((a)>(b)) ? (a) : (b) ) - +#endif #ifndef TOUCH #define TOUCH(argument) ((void)argument)