home *** CD-ROM | disk | FTP | other *** search
- /* svobjects/svobjects.h */
- /* Version : 4.1 */
- /* Date : 15.05.1994 */
- /* Written by : Andreas R. Kleinert */
-
- /* SVObject-Version V2.x+ */
-
- #ifndef SVOBJECTS_SVOBJECTS_H
- #define SVOBJECTS_SVOBJECTS_H
-
-
- struct SVO_ObjectNode
- {
- struct Node svo_Node; /* chaining Node */
- /* (svo_Node->ln_Name is NULL */
- /* by default !) */
-
- ULONG svo_Version; /* Library-Version of svobject */
-
- ULONG svo_ObjectType; /* see below (SVO_OBJECTTYPE_...) */
-
- 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, which is an */
- /* unimplemented feature yet and */
- /* means that the SubTypeID and */
- /* SubTypeCode fields should be skipped. */
-
- UBYTE svo_SubTypeID [16][16]; /* e.g. "87a" or "89a" */
- ULONG svo_SubTypeCode [16]; /* ... and their appropriate Codes, */
- /* assigned by superview.library LATER. */
-
- /* version 2 extensions : */
-
- ULONG svo_Flags; /* SVO_FLAG_... (see below) */
-
- /* size may grow with bigger svo_Version, see below */
- };
-
- #define SVO_VERSION (2) /* 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) /* UNIMPLEMENTED */
- /* Handle them like EXTERNAL, */
- /* but ignore some entries. */
- #define SVO_OBJECTTYPE_EXTERNAL ((ULONG) 3) /* external svobject */
-
-
- /* The following flags have been introduced with the V2 SVObjects
- (depending on svo_Version : do not check them with V1 SVObjects).
- They should help any applications deciding, whether a specific
- SVObject may fulfil an action or not.
- Note : Some SVObjects may not have the correct flags set and might
- return SVERR_ACTION_NOT_SUPPORTED nevertheless
- */
-
-
- #define SVO_FLAG_READS_TO_BUFFER (1<<0) /* allows reading to SV_GfxBuffer */
- #define SVO_FLAG_READS_TO_SCREEN (1<<1) /* allows displaying on Screen */
-
- #define SVO_FLAG_WRITES_FROM_BUFFER (1<<2) /* writes SV_GfxBuffer to file */
- #define SVO_FLAG_WRITES_FROM_SCREEN (1<<3) /* writes Screen to file */
-
- #define SVO_FLAG_SUPPORTS_SVDRIVER (1<<4) /* uses default SVDriver, */
- /* if available */
- #define SVO_FLAG_NEEDS_SVDRIVER (1<<5) /* needs valid default SVDriver */
- /* for working. Developers : */
- /* Set SVO_FLAG_SVDRIVER instead */
-
- #define SVO_FLAG_SVDRIVER (SVO_FLAG_SUPPORTS_SVDRIVER | SVO_FLAG_NEEDS_SVDRIVER)
-
-
- /* This structure has to be passed to SVObject's SVO_CheckFileType()
- function, if media other than AKO_MEDIUM_DISK are used for reading.
- This is supported since superview.library V4 and may be ignored by
- SVObjects for compatibility reasons. To prevent older SVO_CheckFileType()
- functions from crashing, superview.library will create a dummy-file and
- pass it's handle also ...
- ("You wanna something to check ? - Here you get it !")
-
- In the V3-SVObject specification this structure will HAVE TO be
- examined, then. In the current V2-specification this is not the case.
- */
-
- struct SVOCheckFile
- {
- ULONG svc_Medium; /* AKO_MEDIUM_... */
-
- ULONG svc_Future; /* as usual */
- };
-
- #endif /* SVOBJECTS_SVOBJECTS_H */
-