#ifndef __CPORTAB
#define __CPORTAB

#define ANSI
#define atarist /* GNU ! */

typedef          char  BYTE;
typedef unsigned char  UBYTE;
typedef          int   WORD;
typedef unsigned int   UWORD;
typedef          long  LONG;
typedef unsigned long  ULONG;
typedef          short BOOL;
typedef double         DOUBLE;

#define FALSE    ( BOOL)0
#define TRUE     ( BOOL)1

#define SUCCESS 0

#define EOS             '\0'
#define MAXINT          (32767)
#define STRMAXLEN       (128)

#define UWORD_SIZE	sizeof( UWORD)

#define PUBLIC
#define PRIVATE       static
#define GLOBAL
#define LOCAL         static

/*** Makros ************************************************************/

#define MIN( a, b)      ((a < b) ? (a) : (b))
#define MAX( a, b)      ((a > b) ? (a) : (b))
#define ABS( a)         (((a) >= 0) ? (a) : (-(a)))
#define SQR( a)         ((a)*(a))

#define bcopy(s,d,n)	memcpy((d),(s),(n)) /* GNU */

#ifdef ANSI
#define _( params)		params
#else
#define _( params)		()
#define const
#define volatile
#define size_t ULONG
#endif /* ANSI */

#define REG    register

#define DRIVESEP    ':'                   /* Laufwerks-Trennzeichen */
#define PATHSEP     '\\'                  /* Pfad-Trennzeichen */
#define SUFFSEP     '.'                   /* Suffix-Trennzeichen */

#define STRSIZE      82                   /* Stringgr”˛e           */
#define STRLEN       80                   /* Stringl„nge           */
#define LONGSTRSIZE 256                   /* Lange Stringgr”˛e     */
#define LONGSTRLEN  255                   /* Lange Stringl„nge     */
#define HALFSTRSIZE 128                   /* Halblange Stringgr”˛e */
#define HALFSTRLEN  127                   /* Halblange Stringl„nge */

typedef char String_t[ STRSIZE];            /* Zeichenkette           */
typedef BYTE LongStr_t[ LONGSTRSIZE];       /* Lange Zeichenkette     */
typedef BYTE Str128_t[ HALFSTRSIZE];        /* Halblange Zeichenkette */

#endif /* __CPORTAB */