/* svobjects/svobjects.h            */
/* Version    : 1.1                 */
/* Date       : 15.12.1993          */
/* Written by : Andreas R. Kleinert */

#ifndef SVOBJECTS_SVOBJECTS_H
#define SVOBJECTS_SVOBJECTS_H


struct SVO_ObjectNode
{
 struct Node svo_Node;              /* chaining Node                         */

 ULONG svo_Version;                 /* Library-Version of svobject           */

 ULONG svo_ObjectType;              /* see below                             */

 UBYTE svo_FileName [108];          /* use 30, as in struct FileInfoBlock    */

 UBYTE svo_TypeID      [32];        /* e.g. "GIF"                            */
 ULONG svo_TypeCode;                /* ... and its appropriate Code,  ,      */
                                    /* assigned by superview.library LATER.  */

 ULONG svo_SubTypeNum;              /* actually available SubTypes           */
                                    /* (maximum 16) of the svobject.         */

                                    /* 0xFFFFFFFF means, that it is an       */
                                    /* INDEPENDENT entry like the OS V3.00+  */
                                    /* DataTypes and that the following      */
                                    /* Entries are WITHOUT ANY MEANING.      */

 UBYTE svo_SubTypeID   [16][16];    /* e.g. "87a" or "89a"                   */
 ULONG svo_SubTypeCode [16];        /* ... and their appropriate Codes,      */
                                    /* assigned by superview.library LATER.  */

 /* size may grow with bigger svo_Version, see below */
};

#define SVO_VERSION (1)             /* If this Version, which depends on the */
                                    /* svobject's Library-Version, is set,   */
                                    /* it is guaranteed, that at least the   */
                                    /* above information is available.       */

#define SVO_FILENAME "INTERNAL"     /* for internal svobjects only.          */

#define SVO_OBJECTTYPE_NONE    ((ULONG) 0)
#define SVO_OBJECTTYPE_UNKNOWN SVO_OBJECTTYPE_NONE
#define SVO_OBJECTTYPE_ILLEGAL ((ULONG) 0xFFFFFFFF)

#define SVO_OBJECTTYPE_INTERNAL    ((ULONG) 1) /* internal                   */
#define SVO_OBJECTTYPE_INDEPENDENT ((ULONG) 2) /* for OS V3.00 DataTypes     */
#define SVO_OBJECTTYPE_EXTERNAL    ((ULONG) 3) /* external svobject          */

#endif /* SVOBJECTS_SVOBJECTS_H */
