#ifndef __DEFS_H__
#define __DEFS_H__

/* RTL Function and data declarators */
#if defined(__BUILDING_LSCRTL_DLL)
#define _RTL_FUNC  _export
#define _RTL_DATA  _export
#define _RTL_CLASS
#elif defined( __LSCRTL_DLL)
#define _RTL_FUNC _import
#define _RTL_DATA _import
#define _RTL_CLASS
#else
#define _RTL_FUNC
#define _RTL_DATA
#define _RTL_CLASS
#endif

#ifndef __STDC__
#define _RTL_INTRINS _RTL_FUNC _intrinsic
#else
#define _RTL_INTRINS
#endif

#ifdef __CC386__
#define _FAR far
#else
#define _FAR
#endif 

#ifdef __cplusplus
#define __NOTHROW throw ( )
#define __STD_NS_QUALIFIER std::
#else
#define __NOTHROW 
#define __STD_NS_QUALIFIER
#endif

/* the headers use the restrict keyword, which is not valid prior to
 * C99.  If not compiling for C99 define it as an empty macro to allow
 * compilation to procede
 */
#if  __STDC_VERSION__ < 199901L
#define restrict
#endif

#endif
