DATATYPES Types Reference

Per-function autodoc pages link to these types via the type name (e.g., [List](types-datatypes.md#list)).

Clickable inner types: inside each struct definition, field types that are themselves structs/unions/enums are clickable hyperlinks to their own definitions.

Contents

animationclass.h


struct AnimHeader

Source: datatypes/animationclass.h


struct AnimHeader
{
    UBYTE    ah_Operation;  /*  The compression method:
                     0  set directly (normal ILBM BODY),
                     1  XOR ILBM mode,
                     2  Long Delta mode,
                     3  Short Delta mode,
                     4  Generalized short/long Delta mode,
                     5  Byte Vertical Delta mode
                     6  Stereo op 5 (third party)
                    74  (ascii 'J') reserved for Eric Graham's
                        compression technique (details to be
                        released later). */

    UBYTE    ah_Mask;   /* (XOR mode only - plane mask where each
                   bit is set =1 if there is data and =0
                   if not.) */

    UWORD    ah_Width;      /* (XOR mode only - width and height of the */
    UWORD    ah_Height; /* area represented by the BODY to eliminate */
                /* unnecessary un-changed data) */


    WORD     ah_Left;   /* (XOR mode only - position of rectangular */
    WORD     ah_Top;    /* area representd by the BODY) */


    ULONG    ah_AbsTime;    /* Timing for a frame relative to the time
                   the first frame was displayed, in
                   jiffies (1/60 sec) */

    ULONG    ah_RelTime;    /* Timing for frame relative to time
                                   previous frame was displayed - in
                   jiffies (1/60 sec) */

    UBYTE    ah_Interleave; /* Indicates how may frames back this data is to
                   modify.  0 defaults to indicate two frames back
                   (for double buffering). n indicates n frames back.
                   The main intent here is to allow values
                   of 1 for special applications where
                   frame data would modify the immediately
                   previous frame. */

    UBYTE    ah_Pad0;   /* Pad byte, not used at present. */

    ULONG    ah_Flags;  /* 32 option bits used by options=4 and 5.
                   At present only 6 are identified, but the
                   rest are set =0 so they can be used to
                   implement future ideas.  These are defined
                   for option 4 only at this point.  It is
                   recommended that all bits be set =0 for
                   option 5 and that any bit settings
                   used in the future (such as for XOR mode)
                   be compatible with the option 4
                   bit settings.   Player code should check
                   undefined bits in options 4 and 5 to assure
                   they are zero.

                   The six bits for current use are:

                    bit #   set =0          set =1
                    ===============================================
                    0       short data      long data
                    1       set             XOR
                    2       separate info       one info list
                        for each plane      for all planes
                    3       not RLC         RLC (run length coded)
                    4       horizontal      vertical
                    5       short info offsets  long info offsets
                */

    UBYTE    ah_Pad[16];    /* This is a pad for future use for future
                   compression modes. */
};

datatypes.h


struct DTHookContext

Source: datatypes/datatypes.h


struct DTHookContext
{
    /* Libraries that are already opened for your use */
    struct Library       *dthc_SysBase;
    struct Library       *dthc_DOSBase;
    struct Library       *dthc_IFFParseBase;
    struct Library       *dthc_UtilityBase;

    /* File context */
    BPTR             dthc_Lock;     /* Lock on the file */
    struct FileInfoBlock    *dthc_FIB;      /* Pointer to a FileInfoBlock */
    BPTR             dthc_FileHandle;   /* Pointer to the file handle (may be NULL) */
    struct IFFHandle       *dthc_IFF;      /* Pointer to an IFFHandle (may be NULL) */
    STRPTR           dthc_Buffer;       /* Buffer */
    ULONG            dthc_BufferLength; /* Length of the buffer */
};

struct DataType

Source: datatypes/datatypes.h


struct DataType
{
    struct Node          dtn_Node1;     /* Reserved for system use */
    struct Node          dtn_Node2;     /* Reserved for system use */
    struct DataTypeHeader    *dtn_Header;        /* Pointer to the DataTypeHeader */
    struct List          dtn_ToolList;      /* List of tool nodes */
    STRPTR           dtn_FunctionName;  /* Name of comparision routine */
    struct TagItem        *dtn_AttrList;      /* Object creation tags */
    ULONG            dtn_Length;        /* Length of the memory block */
};
#endif

struct DataTypeHeader

Source: datatypes/datatypes.h


struct DataTypeHeader
{
    STRPTR   dth_Name;              /* Descriptive name of the data type */
    STRPTR   dth_BaseName;              /* Base name of the data type */
    STRPTR   dth_Pattern;               /* Match pattern for file name. */
    WORD    *dth_Mask;              /* Comparision mask */
    ULONG    dth_GroupID;               /* Group that the DataType is in */
    ULONG    dth_ID;                /* ID for DataType (same as IFF FORM type) */
    WORD     dth_MaskLen;               /* Length of comparision mask */
    WORD     dth_Pad;               /* Unused at present (must be 0) */
    UWORD    dth_Flags;             /* Flags */
    UWORD    dth_Priority;              /* Priority */
};

struct Tool

Source: datatypes/datatypes.h


struct Tool
{
    UWORD    tn_Which;              /* Which tool is this */
    UWORD    tn_Flags;              /* Flags */
    STRPTR   tn_Program;                /* Application to use */
};

struct ToolNode

Source: datatypes/datatypes.h


struct ToolNode
{
    struct Node  tn_Node;               /* Embedded node */
    struct Tool  tn_Tool;              /* Embedded tool */
    ULONG    tn_Length;             /* Length of the memory block */
};

datatypesclass.h


struct DTMethod

Source: datatypes/datatypesclass.h


struct DTMethod
{
    STRPTR   dtm_Label;
    STRPTR   dtm_Command;
    ULONG    dtm_Method;
};

struct DTSpecialInfo

Source: datatypes/datatypesclass.h


struct DTSpecialInfo
{
    struct SignalSemaphore    si_Lock;   /* Locked while in DoAsyncLayout() */
    ULONG            si_Flags;

    LONG             si_TopVert;    /* Top row (in units) */
    LONG             si_VisVert;    /* Number of visible rows (in units) */
    LONG             si_TotVert;    /* Total number of rows (in units) */
    LONG             si_OTopVert;   /* Previous top (in units) */
    LONG             si_VertUnit;   /* Number of pixels in vertical unit */

    LONG             si_TopHoriz;   /* Top column (in units) */
    LONG             si_VisHoriz;   /* Number of visible columns (in units) */
    LONG             si_TotHoriz;   /* Total number of columns (in units) */
    LONG             si_OTopHoriz;  /* Previous top (in units) */
    LONG             si_HorizUnit;  /* Number of pixels in horizontal unit */
};

struct FrameInfo

Source: datatypes/datatypesclass.h


struct FrameInfo
{
    ULONG        fri_PropertyFlags;     /* DisplayInfo (graphics/displayinfo.h) */
    Point        fri_Resolution;        /* DisplayInfo */

    UBYTE        fri_RedBits;
    UBYTE        fri_GreenBits;
    UBYTE        fri_BlueBits;

    struct
    {
    ULONG Width;
    ULONG Height;
    ULONG Depth;

    } fri_Dimensions;

    struct Screen    *fri_Screen;
    struct ColorMap *fri_ColorMap;

    ULONG        fri_Flags;
};

pictureclass.h


struct BitMapHeader

Source: datatypes/pictureclass.h


struct BitMapHeader
{
    UWORD   bmh_Width;      /* Width in pixels */
    UWORD   bmh_Height;     /* Height in pixels */
    WORD    bmh_Left;       /* Left position */
    WORD    bmh_Top;        /* Top position */
    UBYTE   bmh_Depth;      /* Number of planes */
    UBYTE   bmh_Masking;        /* Masking type */
    UBYTE   bmh_Compression;    /* Compression type */
    UBYTE   bmh_Pad;
    UWORD   bmh_Transparent;    /* Transparent color */
    UBYTE   bmh_XAspect;
    UBYTE   bmh_YAspect;
    WORD    bmh_PageWidth;
    WORD    bmh_PageHeight;
};

struct ColorRegister

Source: datatypes/pictureclass.h


struct ColorRegister
{
    UBYTE red, green, blue;
};

soundclass.h


struct VoiceHeader

Source: datatypes/soundclass.h


struct VoiceHeader
{
    ULONG vh_OneShotHiSamples;  /* # samples in the high octave 1-shot part */
                                /* (per channel) */
    ULONG vh_RepeatHiSamples;   /* # samples in the high octave repeat part */
                                /* (per channel) */
    ULONG vh_SamplesPerHiCycle; /* # samples/cycle in high octave */
                                /* (per channel), else 0 */
    UWORD vh_SamplesPerSec;     /* data sampling rate */
    UBYTE vh_Octaves;       /* # of octaves of waveforms */
    UBYTE vh_Compression;       /* data compression technique used */
    ULONG vh_Volume;        /* playback nominal volume from 0 to Unity
                     * (full volume). Map this value into
                     * the output hardware's dynamic range.
                     */
};

textclass.h


struct Line

Source: datatypes/textclass.h


struct Line
{
    struct MinNode    ln_Link;       /* to link the lines together */
    STRPTR       ln_Text;       /* pointer to the text for this line */
    ULONG        ln_TextLen;        /* the character length of the text for this line */
    UWORD        ln_XOffset;        /* where in the line the text starts */
    UWORD        ln_YOffset;        /* line the text is on */
    UWORD        ln_Width;      /* Width of line in pixels */
    UWORD        ln_Height;     /* Height of line in pixels */
    UWORD        ln_Flags;      /* info on the line */
    BYTE         ln_FgPen;      /* foreground pen */
    BYTE         ln_BgPen;      /* background pen */
    ULONG        ln_Style;      /* Font style */
    APTR         ln_Data;       /* Link data... */
};