//	utf-8

/*	Copyright  (c)	Günter Woigk   1999-2001
  					mailto:kio@little-bat.de

	This file is free software

 	This program is distributed in the hope that it will be useful,
 	but WITHOUT ANY WARRANTY; without even the implied warranty of
 	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  

 	Permission to use, copy, modify, distribute, and sell this software and
 	its documentation for any purpose is hereby granted without fee, provided
 	that the above copyright notice appear in all copies and that both that
 	copyright notice and this permission notice appear in supporting
 	documentation, and that the name of the copyright holder not be used
 	in advertising or publicity pertaining to distribution of the software
 	without specific, written prior permission. The copyright holder makes no
 	representations about the suitability of this software for any purpose.
 	It is provided "as is" without express or implied warranty.

 	THE COPYRIGHT HOLDER DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
 	INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
 	EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY SPECIAL, 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.

	standard data type definitions
    included from kio.h
*/


#ifndef _standard_types_h_
#define _standard_types_h_


#if HAVE_SYS_TYPES_H
#include <sys/types.h>
#elif defined(_MPW)
#include <types.h>					// DB020812 21:02
#endif


/* ---- basic data type definitions ------------------------------------
*/
typedef	unsigned char		uchar;
typedef	unsigned long		ulong;
#ifndef _SYS_TYPES_H_
typedef	unsigned short		ushort;
typedef unsigned int		uint;
#endif

typedef	long long			llong;
typedef	unsigned long long	ullong;

typedef	char*				str;
typedef char const*			cstr;

typedef char				byte;
typedef byte*				ptr;
typedef byte const*			cptr;

typedef uchar*			    uptr;
typedef uchar const*		cuptr;

#ifndef __MACTYPES__
typedef int					OSErr;
#endif

typedef class String		String;
typedef const String		cString;

typedef class Twsp			Twsp;
typedef struct Loc			Loc;
typedef struct Dist			Dist;
typedef struct Box			Box;
typedef const Loc			cLoc;
typedef const Dist			cDist;
typedef const Box			cBox;





// ----	constants ------------------------------------------------------------
#ifndef NULL
#define	NULL				((void *)0)
#endif
//nst bool true			=	1;
//nst bool false		=	0;
const bool	yes			=	1;
const bool	no 			=	0;
const bool	on			=	1;
const bool	off			=	0;
const bool	high		=	1;
const bool	low			=	0;
const bool	enabled		=	1;
const bool	disabled	=	0;

const OSErr	noerror		=	0;
const OSErr success		=	0;
const OSErr	error		=	-1;
#if defined(_METROWERKS)
	#define	ok				OSErr(0)	// somewhere in the system headers is an enum...
#else
	const OSErr	ok		=	0;
#endif

#define	kB					*0x400
#define MB					*0x100000


#endif


