summaryrefslogtreecommitdiffhomepage
path: root/Public/Developer/System.Containers/Headers/ODF.h
blob: 48dc1e1e4cbaa7ac569a556f5da140b274de2026 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
/** ===========================================
 (C) Mahrouss Logic
    ===========================================*/

#ifndef __ODF__
#define __ODF__

#include <System.Core/Headers/Defines.h>

/**
 * @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__