Windows2003-3790/termsrv/inc/t120.h

94 lines
2.5 KiB
C

/*
* t120.h
*
* Abstract:
* This is the interface file for the communications infrastructure of
* T120.
*
* Note that this is a "C" language interface in order to prevent any "C++"
* naming conflicts between different compiler manufacturers. Therefore,
* if this file is included in a module that is being compiled with a "C++"
* compiler, it is necessary to use the following syntax:
*
* extern "C"
* {
* #include "t120.h"
* }
*
* This disables C++ name mangling on the API entry points defined within
* this file.
*
* Author:
* blp
*
* Caveats:
* none
*/
#ifndef _T120_
#define _T120_
/*
* This is the GCCBoolean type used throughout MCS.
*/
typedef int T120Boolean;
/*
* These macros are used to resolve far references in the Windows world.
* When not operating in the Windows world, they are simply NULL.
*/
#ifdef _WINDOWS
# ifndef FAR
# ifdef WIN32
# define FAR
# else
# define FAR _far
# endif
# endif
# ifndef CALLBACK
# ifdef WIN32
# define CALLBACK __stdcall
# else
# define CALLBACK _far _pascal
# endif
# endif
# ifndef APIENTRY
# ifdef WIN32
# define APIENTRY __stdcall
# else
# define APIENTRY _far _pascal _export
# endif
# endif
#else
# ifndef FAR
# define FAR
# endif
# ifndef CALLBACK
# define CALLBACK
# endif
# ifndef APIENTRY
# define APIENTRY
# endif
#endif
#define FALSE 0
#define TRUE 1
/*
* These macros are used to pack 2 16-bit values into a 32-bit variable, and
* get them out again.
*/
#ifndef LOWUSHORT
#define LOWUSHORT(ul) ((unsigned short) (ul))
#endif
#ifndef HIGHUSHORT
#define HIGHUSHORT(ul) ((unsigned short) ((unsigned long) (ul) >> 16))
#endif
#include "mcscommn.h"
#include "tgcc.h" // tiny gcc
#endif