From 6aa48afdd57d03314fdf4be6c9da911c32277c84 Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Fri, 8 Jan 2010 20:28:34 +0100 Subject: Import tome-2.3.5. --- src/h-define.h | 133 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 133 insertions(+) create mode 100644 src/h-define.h (limited to 'src/h-define.h') diff --git a/src/h-define.h b/src/h-define.h new file mode 100644 index 00000000..777a5b8d --- /dev/null +++ b/src/h-define.h @@ -0,0 +1,133 @@ +/* File: h-define.h */ + +#ifndef INCLUDED_H_DEFINE_H +#define INCLUDED_H_DEFINE_H + +/* + * Define some simple constants + */ + + +/* + * Hack -- Define NULL + */ +#ifndef NULL +# ifdef __STDC__ +# define NULL ((void*)0) +# else +# define NULL ((char*)0) +# endif /* __STDC__ */ +#endif /* NULL */ + + +/* + * Hack -- assist "main-acn.c" XXX XXX XXX + */ +#ifdef ACORN +# define O_RDONLY 0 +# define O_WRONLY 1 +# define O_RDWR 2 +#endif + + +/* + * Hack -- force definitions -- see fd_seek() + */ +#ifndef SEEK_SET +# define SEEK_SET 0 +#endif +#ifndef SEEK_CUR +# define SEEK_CUR 1 +#endif +#ifndef SEEK_END +# define SEEK_END 2 +#endif + +/* + * Hack -- force definitions -- see fd_lock() XXX XXX XXX + */ +#ifndef F_UNLCK +# define F_UNLCK 0 +#endif +#ifndef F_RDLCK +# define F_RDLCK 1 +#endif +#ifndef F_WRLCK +# define F_WRLCK 2 +#endif + + +/* + * The constants "TRUE" and "FALSE" + */ + +#undef TRUE +#define TRUE 1 + +#undef FALSE +#define FALSE 0 + + + + +/**** Simple "Macros" ****/ + +/* + * Force a character to lowercase/uppercase + */ +#define FORCELOWER(A) ((isupper((A))) ? tolower((A)) : (A)) +#define FORCEUPPER(A) ((islower((A))) ? toupper((A)) : (A)) + + +/* + * Non-typed minimum value macro + */ +#undef MIN +#define MIN(a,b) (((a) > (b)) ? (b) : (a)) + +/* + * Non-typed maximum value macro + */ +#undef MAX +#define MAX(a,b) (((a) < (b)) ? (b) : (a)) + +/* + * Non-typed absolute value macro + */ +#undef ABS +#define ABS(a) (((a) < 0) ? (-(a)) : (a)) + +/* + * Non-typed sign extractor macro + */ +#undef SGN +#define SGN(a) (((a) < 0) ? (-1) : ((a) != 0)) + + +/* + * Hack -- allow use of "ASCII" and "EBCDIC" for "indexes", "digits", + * and "Control-Characters". + * + * Note that all "index" values must be "lowercase letters", while + * all "digits" must be "digits". Control characters can be made + * from any legal characters. XXX XXX XXX + */ +#ifdef VM +# define A2I(X) alphatoindex(X) +# define I2A(X) indextoalpha(X) +# define D2I(X) ((X) - '0') +# define I2D(X) ((X) + '0') +# define KTRL(X) ((X) & 0x1F) +# define ESCAPE '\033' +#else +# define A2I(X) ((X) - 'a') +# define I2A(X) ((X) + 'a') +# define D2I(X) ((X) - '0') +# define I2D(X) ((X) + '0') +# define KTRL(X) ((X) & 0x1F) +# define ESCAPE '\033' +#endif + + +#endif + -- cgit v1.2.3