%bits
Defined in:   types.h
Declaration:  typedef ... bits;
Summary:      May be used to declare a variable to be used as a bit mask

%bool
Defined in:   types.h
Declaration:  typedef ... bool;
Summary:      May be used to declare a variable to be used for a boolean value

%byte
Defined in:   types.h
Declaration:  typedef ... byte;
Summary:      May be ued to declare a variable to hold a very small value

%NULL
Defined in:   types.h
Declaration:  #define NULL ((void *) ...)
Summary:      May be used to refer to the null pointer

%FALSE
Defined in:   types.h
Declaration:  #define FALSE ((bool) ...)
Summary:      May be used to refer to the boolean value for falsehood

%TRUE
Defined in:   types.h
Declaration:  #define TRUE ((bool) ...)
Summary:      May be used to refer to the boolean value for truth

%NONE
Defined in:   types.h
Declaration:  #define NONE ((bits) ...)
Summary:      May be used to refer to the bit mask value for all-noughts

%ALL
Defined in:   types.h
Declaration:  #define ALL ((bits) ...)
Summary:      May be used to refer to the bit mask value for all-ones

%SKIP
Defined in:   types.h
Declaration:  #define SKIP ...
Summary:      May be used as a "don't care" value

%_C
Defined in:   types.h
Declaration:  #define _C ((bits) ...)
Summary:      May be used to extract the C flag from a PSR bit mask

%_Z
Defined in:   types.h
Declaration:  #define _Z ((bits) ...)
Summary:      May be used to extract the Z flag from a PSR bit mask

%_N
Defined in:   types.h
Declaration:  #define _N ((bits) ...)
Summary:      May be used to extract the N flag from a PSR bit mask

%DEC_WIDTH
Defined in:   macros.h
Declaration:  #define DEC_WIDTH ((int) ...)
Summary:      Length of INT_MAX in decimal: strlen ("2147483647")

%SHORT_DEC_WIDTH
Defined in:   macros.h
Declaration:  #define SHORT_DEC_WIDTH ((int) ...)
Summary:      Length of SHRT_MAX in decimal: strlen ("32767")

%LONG_DEC_WIDTH
Defined in:   macros.h
Declaration:  #define LONG_DEC_WIDTH ((int) ...)
Summary:      Length of LONG_MAX in decimal: strlen ("2147483647")

%OCT_WIDTH
Defined in:   macros.h
Declaration:  #define OCT_WIDTH ((int) ...)
Summary:      Length of INT_MAX in octal: strlen ("37777777777")

%SHORT_OCT_WIDTH
Defined in:   macros.h
Declaration:  #define SHORT_OCT_WIDTH ((int) ...)
Summary:      Length of SHRT_MAX in octal: strlen ("177777")

%LONG_OCT_WIDTH
Defined in:   macros.h
Declaration:  #define LONG_OCT_WIDTH ((int) ...)
Summary:      Length of LONG_MAX in octal: strlen ("37777777777")

%UNSIGNED_WIDTH
Defined in:   macros.h
Declaration:  #define UNSIGNED_WIDTH ((int) ...)
Summary:      Length of UINT_MAX in decimal: strlen ("4294967295")

%SHORT_UNSIGNED_WIDTH
Defined in:   macros.h
Declaration:  #define SHORT_UNSIGNED_WIDTH ((int) ...)
Summary:      Length of USHRT_MAX in decimal: strlen ("65535")

%LONG_UNSIGNED_WIDTH
Defined in:   macros.h
Declaration:  #define LONG_UNSIGNED_WIDTH ((int) ...)
Summary:      Length of ULONG_MAX in decimal: strlen ("4294967295")

%HEX_WIDTH
Defined in:   macros.h
Declaration:  #define HEX_WIDTH ((int) ...)
Summary:      Length of UINT_MAX in hexadecimal: strlen ("FFFFFFFF")

%SHORT_HEX_WIDTH
Defined in:   macros.h
Declaration:  #define SHORT_HEX_WIDTH ((int) ...)
Summary:      Length of USHRT_MAX in hexadecimal: strlen ("FFFF")

%LONG_HEX_WIDTH
Defined in:   macros.h
Declaration:  #define LONG_HEX_WIDTH ((int) ...)
Summary:      Length of ULONG_MAX in hexadecimal: strlen ("FFFFFFFF")

%FLT_WIDTH
Defined in:   macros.h
Declaration:  #define FLT_WIDTH ((int) ...)
Summary:      Number of decimal places needed to distinguish 1 + FLT_EPSILON
                 from 1: strlen ("0000001")

%DBL_WIDTH
Defined in:   macros.h
Declaration:  #define DBL_WIDTH ((int) ...)
Summary:      Number of decimal places needed to distinguish 1 + DBL_EPSILON
                 from 1: strlen ("00000000000000002")

%LDBL_WIDTH
Defined in:   macros.h
Declaration:  #define LDBL_WIDTH ((int) ...)
Summary:      Number of decimal places needed to distinguish 1 + LDBL_EPSILON
                 from 1: strlen ("00000000000000002")

%FLT_EXP_WIDTH
Defined in:   macros.h
Declaration:  #define FLT_EXP_WIDTH ((int) ...)
Summary:      Width of the exponent of FLT_MAX in decimal: strlen ("38")

%DBL_EXP_WIDTH
Defined in:   macros.h
Declaration:  #define DBL_EXP_WIDTH ((int) ...)
Summary:      Width of the exponent of DBL_MAX in decimal: strlen ("308")

%LDBL_EXP_WIDTH
Defined in:   macros.h
Declaration:  #define LDBL_EXP_WIDTH ((int) ...)
Summary:      Width of the exponent of LDBL_MAX in decimal: strlen ("308")

%ERROR
Defined in:   types.h
Declaration:  #define ERROR ((int) ...)
Summary:      May be used to signify an error return from an i/o function

%WHETHER
Defined in:   macros.h
Declaration:  #define LDBL_EXP_WIDTH ((char *) ...)
Summary:      May be used to print a boolean value: evaluates to "TRUE" or
                 "FALSE"

%MAX
Defined in:   macros.h
Declaration:  #define MAX(a, b) ...
Summary:      Macro giving the larger of two values; arguments must have no
                 side-effects

%MIN
Defined in:   macros.h
Declaration:  #define MIN(a, b) ...
Summary:      Macro giving the smaller of two values; arguments must have no
                 side-effects

%MAXAB
Defined in:   macros.h
Declaration:  #define MAXAB(a, b) ...
Summary:      Macro assigning the larger of two variables to the first;
                 arguments must have no side-effects

%MINAB
Defined in:   macros.h
Declaration:  #define MINAB(a, b) ...
Summary:      Macro assigning the smaller of two variables to the first;
                 arguments must have no side-effects

%ABS
Defined in:   macros.h
Declaration:  #define ABS(a) ...
Summary:      Macro returning the absolute value of its argument, which
                 must have no side-effects

%SGN
Defined in:   macros.h
Declaration:  #define SGN(a) ...
Summary:      Macro returning the signum of its argument, which must
                 have no side-effects

%DIM
Defined in:   macros.h
Declaration:  #define DIM(a, b) ...
Summary:      Macro returning the positive difference of its arguments,
                 which must have no side-effects

%SQR
Defined in:   macros.h
Declaration:  #define SQR(a) ...
Summary:      Macro returning the square of its argument, which must have no
                 side-effects

%BOOL
Defined in:   macros.h
Declaration:  #define BOOL(a) ...
Summary:      Macro returning TRUE or FALSE depending on whether its
                 argument is not equal or equal to 0

%INT
Defined in:   macros.h
Declaration:  #define INT(a) ...
Summary:      Macro returning the value of a single digit argument, which
                 must have no side-effects

%UCHAR
Defined in:   macros.h
Declaration:  #define UCHAR(a) ...
Summary:      Macro returning the digit (chosen from 0, 1, 2, 3, 4, 5, 6, 7,
                 8, 9, A, B, C, D, E, F) corresponding to its argument

%LCHAR
Defined in:   macros.h
Declaration:  #define LCHAR(a) ...
Summary:      Macro returning the digit (chosen from 0, 1, 2, 3, 4, 5, 6, 7,
                 8, 9, a, b, c, d, e, f) corresponding to its argument

%BINEXP
Defined in:   macros.h
Declaration:  #define BINEXP(a) ...
Summary:      Macro returning 2 to the power of its argument

%BIT
Defined in:   macros.h
Declaration:  #define BIT(p, i) ...
Summary:      Macro returning the state of the bit at a given offset from a
                 pointer. The arguments must have no side-effects

%SET
Defined in:   macros.h
Declaration:  #define SET(p, i) ...
Summary:      Macro to set the state of the bit at a given offset from a
                 pointer to TRUE. The arguments must have no side-effects

%CLR
Defined in:   macros.h
Declaration:  #define CLR(p, i) ...
Summary:      Macro to set the state of the bit at a given offset from a
                 pointer to FALSE. The arguments must have no side-effects

%CLEAR
Defined in:   macros.h
Declaration:  #define CLEAR(s) ...
Summary:      Macro to clear a string

%EMPTY
Defined in:   macros.h
Declaration:  #define EMPTY(s) ((bool) ...)
Summary:      Macro to test whether a string is empty

%NCOPY
Defined in:   macros.h
Declaration:  #define NCOPY(s, s1, n) ...
Summary:      Macro to copy and terminate a string with a given maximum
                 length

%STR
Defined in:   macros.h
Declaration:  #define STR(s) ...
Summary:      Macro to "stringise" its argument

%COUNT
Defined in:   macros.h
Declaration:  #define COUNT(a) ...
Summary:      Macro to return the number of elements in an array

%ALIGN
Defined in:   macros.h
Declaration:  #define ALIGN(a) ...
Summary:      Macro to return its argument rounded up to the next multiple
                 of 4

%UNKNOWN
Defined in:   types.h
Declaration:  #define UNKNOWN ...
Summary:      May be used to declare an array of unknown size

%AS
Defined in:   types.h
Declaration:  #define AS .
Summary:      May be used in place of '.' for union members

%ASREF
Defined in:   types.h
Declaration:  #define ASREF ->
Summary:      May be used in place of '->' for union members

%_
Defined in:   types.h
Declaration:  #define _ ,
Summary:      May be used in place of ',' for macro calls, allowing a
                 variable number of arguments to be passed

%WORD
Defined in:   macros.h
Declaration:  #define WORD(p) ...
Summary:      Macro to assemble an integer at an unaligned character pointer.
                 The argument must have no side-effects

%SHORT
Defined in:   macros.h
Declaration:  #define SHORT(p) ...
Summary:      Macro to assemble a short integer at an unaligned character
                 pointer. The argument must have no side-effects
