diff options
| author | Amlal El Mahrouss <amlal@el-mahrouss-logic.com> | 2024-03-27 17:38:23 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@el-mahrouss-logic.com> | 2024-03-27 17:38:23 +0100 |
| commit | 1ce16b83dba0326b13dfa3399c1497ac6b1af14d (patch) | |
| tree | 8a5e4063b5d4cf6ce4f42dd500073994e9ef8954 /Public/Developer/System.Containers/Headers/XIFF.h | |
| parent | 6a18e607ffc4e83f2bd953c9de5c14f18e077df8 (diff) | |
Kernel && Developer:
Developer:
- Rework System API to use C instead of C++
- Add new calls in Thread.h
- Documented code.
Kernel:
- Rework handover stage, separated the Processor specific code from
the cross platform code.
Signed-off-by: Amlal El Mahrouss <amlal@el-mahrouss-logic.com>
Diffstat (limited to 'Public/Developer/System.Containers/Headers/XIFF.h')
| -rw-r--r-- | Public/Developer/System.Containers/Headers/XIFF.h | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/Public/Developer/System.Containers/Headers/XIFF.h b/Public/Developer/System.Containers/Headers/XIFF.h new file mode 100644 index 00000000..dd4880cd --- /dev/null +++ b/Public/Developer/System.Containers/Headers/XIFF.h @@ -0,0 +1,62 @@ +/** =========================================== + (C) Mahrouss Logic + ===========================================*/ + +#ifndef __XIFF__ +#define __XIFF__ + +/** --------------------------------------------------- + + * The eXtended Information File Format. + * XIFF is used to make setup programs/audio/video files. + +------------------------------------------------------- */ + +#include <System.Core/Headers/Defines.h> + +/// @brief four-character code for XIFF. +#define kFourCCLength_XIFF 4 +#define kXIFFNameLength 255 + +#define kXIFFContainerVideo "XVFF" +#define kXIFFContainerAudio "XAFF" +#define kXIFFContainerInstaller "XNFF" +#define kXIFFContainerGeneric "XIFF" +#define kXIFFContainerBinary "XBFF" + +/*** + * @brief Generic XIFF header + * Used by XIFF based containers. + */ + +struct PACKED XiffHeader { + ByteType f_Magic[kFourCCLength_XIFF]; // XIFF string (includes \0) + DWordType f_Size; // overall size of header (XiffHeader) in bytes + DWordType f_FormatType; // format type. generic + ByteType f_SpecificMag[kFourCCLength_XIFF]; // The sub header magic + DWordType f_SpecificSize; // length of the format data + DWordType f_SpecificFormatType; // format type. generic +}; + +typedef struct XiffHeader XiffHeader; + +/// @brief XIFF metadata header, either located in forks or in file directly. +/// @author Amlal EL Mahrouss +struct PACKED XiffMetadataHeader { + ByteType f_Name[kXIFFNameLength]; + DWordType f_Flags; + DWordType f_Type; + QWordType f_Offset; + SizeType f_Size; +}; + +/// Pascal string +#define kXIFFStringMetadata4CC "strp" + +/// TrueType font +#define kXIFFFontMetadata4CC "font" + +/// UI resource +#define kXIFFResourceMetadata4CC "resx" + +#endif // ifndef __XIFF__ |
