DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: T s

⟦73d42c939⟧ TextFile

    Length: 2976 (0xba0)
    Types: TextFile
    Names: »standtype.h«

Derivation

└─⟦060c9c824⟧ Bits:30007080 DKUUG TeX 2/12/89
    └─⟦this⟧ »./DVIware/laser-setters/quicspool/standard/standtype.h« 
└─⟦52210d11f⟧ Bits:30007239 EUUGD2: TeX 3 1992-12
    └─⟦af5ba6c8e⟧ »unix3.0/DVIWARE.tar.Z« 
        └─⟦ca79c7339⟧ 
            └─⟦this⟧ »DVIware/laser-setters/quicspool/standard/standtype.h« 

TextFile

/* $Header: standtype.h,v 1.1 88/01/15 13:07:17 simpson Rel $ */
/*
$Log:	standtype.h,v $
 * Revision 1.1  88/01/15  13:07:17  simpson
 * initial release
 * 
 * Revision 0.1  87/12/11  18:34:16  simpson
 * beta test
 * 
*/
/* Standard machine independent type definitions. */

#ifndef	STANDARD_TYPE	/* prevent multiple inclusions	*/
#define	STANDARD_TYPE

/*
 * Integers
 *     Tiny/UnsignedTiny	8+ bit integers
 *     Short/UnsignedShort	16+ bit integers
 *     Integer/UnsignedInteger	natural machine integer size
 *     Long/UnsignedLong	32+ bit integers
 *
 * Bits
 *     TinyBits		8+ bits
 *     Bits		16+ bits
 *     LongBits		32+ bits
 *
 * Booleans
 *     TinyBoolean
 *     Boolean
 *
 * Void
 *
 * Storage Classes
 *     Export		Seen in other compilation units
 *     Import		Supplied by another compilation unit
 *     Local		Unseen outside compilation unit
 */

/*
 * Each of the following sections for the integer types defines both
 * a base type and an extraction macro for the value.
 */

typedef char	Tiny;
/* Not all machines have signed characters so we may have to simulate them. */
#ifdef CHAR_IS_SIGNED
#   define TINY(x) (x)
#else
#   define TINY(x) (((x) & MIN_TINY) ? (~MAX_TINY | (x)) : (x))
#endif CHAR_IS_SIGNED

/* Not all compilers support unsigned chars so we may have to simulate them. */
#ifdef HAS_UNSIGNED_CHAR
    typedef unsigned char UnsignedTiny;
#else
    typedef char UnsignedTiny;
#endif HAS_UNSIGNED_CHAR
#ifdef CHAR_IS_SIGNED
#   define UNSIGNED_TINY(x) ((x) & MAX_UNSIGNED_TINY)
#else
#   define UNSIGNED_TINY(x) (x)
#endif

/*
 * All compilers have signed short integers.  This type is included
 * for lexical consistency.
 */
typedef short Short;

/* Not all compilers support unsigned shorts so we may have to simulate them. */
#ifdef HAS_UNSIGNED_SHORT
    typedef unsigned short UnsignedShort;
#else
    typedef short UnsignedShort;
#endif
#   define UNSIGNED_SHORT(x) ((unsigned)(x) & MAX_UNSIGNED_SHORT)

/* These types are solely for lexical consistency. */
typedef int Integer;
typedef	unsigned int UnsignedInteger;

typedef long Long;

/* Not all compilers support unsigned longs so we may have to simulate them. */
#ifdef HAS_UNSIGNED_LONG
    typedef unsigned long UnsignedLong;
#   define UNSIGNED_LONG(s) ((UnsignedLong)(x))
#else
    typedef long UnsignedLong;
#   define UNSIGNED_LONG(x) ((long)(x) & MAX_LONG)
#endif HAS_UNSIGNED_LONG

/* Boolean types take on only the values TRUE or FALSE. */
typedef	char TinyBoolean;
typedef	short Boolean;

/* This type is included for lexical consistency. */
typedef char Character;

/* Bit types are used only for bit set, clear and test operations. */
typedef	char TinyBits;
typedef	short Bits;
typedef	long LongBits;

/* Not all compilers support void functions so we may have to simulate it. */
#ifdef HAS_VOID
#   define Void void
#else
    typedef int Void;
#endif

/* Storage classes. */
#define	Export
#define Import extern
#define	Local static

#endif	STANDARD_TYPE