87 lines
3.2 KiB
C
87 lines
3.2 KiB
C
|
/******************************************************************************
|
||
|
* Copyright 1991 Advanced Micro Devices, Inc.
|
||
|
*
|
||
|
* This software is the property of Advanced Micro Devices, Inc (AMD) which
|
||
|
* specifically grants the user the right to modify, use and distribute this
|
||
|
* software provided this notice is not removed or altered. All other rights
|
||
|
* are reserved by AMD.
|
||
|
*
|
||
|
* AMD MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS
|
||
|
* SOFTWARE. IN NO EVENT SHALL AMD BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL
|
||
|
* DAMAGES IN CONNECTION WITH OR ARISING FROM THE FURNISHING, PERFORMANCE, OR
|
||
|
* USE OF THIS SOFTWARE.
|
||
|
*
|
||
|
* Comments about this software should be directed to udi@amd.com. If access
|
||
|
* to electronic mail isn't available, send mail to:
|
||
|
*
|
||
|
* Advanced Micro Devices, Inc.
|
||
|
* 29K Support Products
|
||
|
* Mail Stop 573
|
||
|
* 5900 E. Ben White Blvd.
|
||
|
* Austin, TX 78741
|
||
|
*****************************************************************************
|
||
|
* $Id$
|
||
|
* $Id: @(#)udiphsun.h 2.3, AMD
|
||
|
*/
|
||
|
|
||
|
/* This file is to be used to reconfigure the UDI Procedural interface
|
||
|
for a given host. This file should be placed so that it will be
|
||
|
included from udiproc.h. Everything in here may need to be changed
|
||
|
when you change either the host CPU or its compiler. Nothing in
|
||
|
here should change to support different targets. There are multiple
|
||
|
versions of this file, one for each of the different host/compiler
|
||
|
combinations in use.
|
||
|
*/
|
||
|
|
||
|
#define UDIStruct struct /* _packed not needed on Sun */
|
||
|
/* First, we need some types */
|
||
|
/* Types with at least the specified number of bits */
|
||
|
typedef double UDIReal64; /* 64-bit real value */
|
||
|
typedef float UDIReal32; /* 32-bit real value */
|
||
|
|
||
|
typedef unsigned long UDIUInt32; /* unsigned integers */
|
||
|
typedef unsigned short UDIUInt16;
|
||
|
typedef unsigned char UDIUInt8;
|
||
|
|
||
|
typedef long UDIInt32; /* 32-bit integer */
|
||
|
typedef short UDIInt16; /* 16-bit integer */
|
||
|
typedef char UDIInt8; /* unreliable signedness */
|
||
|
|
||
|
/* To aid in supporting environments where the DFE and TIP use
|
||
|
different compilers or hosts (like DOS 386 on one side, 286 on the
|
||
|
other, or different Unix machines connected by sockets), we define
|
||
|
two abstract types - UDIInt and UDISizeT.
|
||
|
UDIInt should be defined to be int except for host/compiler combinations
|
||
|
that are intended to talk to existing UDI components that have a different
|
||
|
sized int. Similarly for UDISizeT.
|
||
|
*/
|
||
|
typedef int UDIInt;
|
||
|
typedef unsigned int UDIUInt;
|
||
|
|
||
|
typedef unsigned int UDISizeT;
|
||
|
|
||
|
/* Now two void types. The first is for function return types,
|
||
|
the other for pointers to no particular type. Since these types
|
||
|
are used solely for documentational clarity, if your host/compiler
|
||
|
doesn't support either one, replace them with int and char *
|
||
|
respectively.
|
||
|
*/
|
||
|
typedef void UDIVoid; /* void type */
|
||
|
typedef void * UDIVoidPtr; /* void pointer type */
|
||
|
typedef void * UDIHostMemPtr; /* Arbitrary memory pointer */
|
||
|
|
||
|
/* Now we want a type optimized for boolean values. Normally this
|
||
|
would be int, but on some machines (Z80s, 8051s, etc) it might
|
||
|
be better to map it onto a char
|
||
|
*/
|
||
|
typedef int UDIBool;
|
||
|
|
||
|
/* Now indicate whether your compiler support full ANSI style
|
||
|
prototypes. If so, use #if 1. If not use #if 0.
|
||
|
*/
|
||
|
#if 0
|
||
|
#define UDIParams(x) x
|
||
|
#else
|
||
|
#define UDIParams(x) ()
|
||
|
#endif
|