diff options
| author | Amlal El Mahrouss <amlal@el-mahrouss-logic.com> | 2024-03-25 20:17:53 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@el-mahrouss-logic.com> | 2024-03-25 20:17:53 +0100 |
| commit | 3b3b36dcc6542e203475fe1d50ed89799e3f3fc6 (patch) | |
| tree | 3d1e4cfba79343e2b5ef8db58c58271009a44937 /Public/Developer/System.Core/Headers/Containers | |
| parent | d968190d1ba48638c1481be0d367ee3cea82ae55 (diff) | |
Kernel: implement some tickets, improved stuff.
Signed-off-by: Amlal El Mahrouss <amlal@el-mahrouss-logic.com>
Diffstat (limited to 'Public/Developer/System.Core/Headers/Containers')
| -rw-r--r-- | Public/Developer/System.Core/Headers/Containers/ODF.hxx | 41 | ||||
| -rw-r--r-- | Public/Developer/System.Core/Headers/Containers/XIFF.hxx | 57 |
2 files changed, 98 insertions, 0 deletions
diff --git a/Public/Developer/System.Core/Headers/Containers/ODF.hxx b/Public/Developer/System.Core/Headers/Containers/ODF.hxx new file mode 100644 index 00000000..266726bf --- /dev/null +++ b/Public/Developer/System.Core/Headers/Containers/ODF.hxx @@ -0,0 +1,41 @@ +/** =========================================== + (C) Mahrouss Logic + ===========================================*/ + +#ifndef __ODF__ +#define __ODF__ + +#include <System.Core/Headers/Defines.hxx> + +/** + * @brief Open Document Format + * @file ODF.hxx + */ + +/// @brief four-character code for ODF. +#define kFourCCLength_ODF 4 + +/// @brief Document file header. +typedef struct ODFFileHeader { + CharacterTypeUTF8 f_Ident[kFourCCLength_ODF]; + + Int32Type f_DocumentKind; + Int32Type f_DocumentSize; + + Int64Type f_MetaForkOffset; + Int64Type f_DocumentForkOffset; + + CharacterTypeUTF8 f_Padding[4]; +} PACKED ODFFileHeader; + +/// @brief ODF Fork header +typedef struct ODFForkHeader { + CharacterTypeUTF8 f_MetadataName[255]; + + Int32Type f_MetadataKind; + Int32Type f_MetadataSize; + + CharacterTypeUTF8 f_Padding; +} PACKED ODFForkHeader; + +#endif // !__ODF__
\ No newline at end of file diff --git a/Public/Developer/System.Core/Headers/Containers/XIFF.hxx b/Public/Developer/System.Core/Headers/Containers/XIFF.hxx new file mode 100644 index 00000000..11d286e9 --- /dev/null +++ b/Public/Developer/System.Core/Headers/Containers/XIFF.hxx @@ -0,0 +1,57 @@ +/** =========================================== + (C) Mahrouss Logic + ===========================================*/ + +#ifndef __XIFF__ +#define __XIFF__ + +/** --------------------------------------------------- + + * THIS FILE CONTAINS CODE FOR THE eXtended Information File Format. + * XIFF is used to make setup programs/audio/video files. + +------------------------------------------------------- */ + +#include <System.Core/Headers/Defines.hxx> + +/// @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 final { + 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 ML_PACKED XiffMetadataHeader final { + ByteType f_Name[kXIFFNameLength]; + DWordType f_Flags; + DWordType f_Type; + QWordType f_Offset; + SizeType f_Size; +}; + +#define kXIFFStringMetadata4CC "strp" +#define kXIFFFontMetadata4CC "font" +#define kXIFFResourceMetadata4CC "resx" + +#endif // ifndef __XIFF__ |
