From bc9b63a3dbc63d818e90237beb019f584acfe133 Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Fri, 22 Mar 2024 03:47:51 +0100 Subject: NewBoot: Working ATA driver, and new drive scheme, each data has a padding of 1 byte. Example: { "H", "\0", "e", "\0", "y" } So that the drive doesnt skip any bytes. Signed-off-by: Amlal El Mahrouss --- Public/SDK/System.Core/Headers/Containers/ODF.hxx | 8 ++++---- Public/SDK/System.Core/Headers/Defs.hxx | 12 +++++++----- 2 files changed, 11 insertions(+), 9 deletions(-) (limited to 'Public/SDK/System.Core') diff --git a/Public/SDK/System.Core/Headers/Containers/ODF.hxx b/Public/SDK/System.Core/Headers/Containers/ODF.hxx index 53098c3f..2983dbf8 100644 --- a/Public/SDK/System.Core/Headers/Containers/ODF.hxx +++ b/Public/SDK/System.Core/Headers/Containers/ODF.hxx @@ -18,7 +18,7 @@ /// @brief Document file header. typedef struct ODFFileHeader { - CharacterType f_Ident[kFourCCLength_ODF]; + CharacterTypeUTF16 f_Ident[kFourCCLength_ODF]; Int32Type f_DocumentKind; Int32Type f_DocumentSize; @@ -26,18 +26,18 @@ typedef struct ODFFileHeader Int64Type f_MetaForkOffset; Int64Type f_DocumentForkOffset; - CharacterType f_Padding[4]; + CharacterTypeUTF16 f_Padding[4]; } PACKED ODFFileHeader; /// @brief ODF Fork header typedef struct ODFForkHeader { - CharacterType f_MetadataName[255]; + CharacterTypeUTF16 f_MetadataName[255]; Int32Type f_MetadataKind; Int32Type f_MetadataSize; - CharacterType f_Padding; + CharacterTypeUTF16 f_Padding; } PACKED ODFForkHeader; #endif // !__ODF__ \ No newline at end of file diff --git a/Public/SDK/System.Core/Headers/Defs.hxx b/Public/SDK/System.Core/Headers/Defs.hxx index 367849da..ce4f85ca 100644 --- a/Public/SDK/System.Core/Headers/Defs.hxx +++ b/Public/SDK/System.Core/Headers/Defs.hxx @@ -36,6 +36,8 @@ CA_EXTERN_C void __assert_chk_fail(void); #define CA_CDECL __attribute__((cdecl)) #define CA_MSCALL __attribute__((ms_abi)) +#define PACKED __attribute__((packed)) + #define CA_PASCAL CA_STDCALL typedef __UINT8_TYPE__ ByteType; @@ -44,8 +46,8 @@ typedef __UINT32_TYPE__ DWordType; typedef __UINT64_TYPE__ QWordType; typedef __SIZE_TYPE__ SizeType; -typedef char CharacterType; -typedef CharacterType* PtrCharacterType; +typedef char CharacterTypeUTF16; +typedef CharacterTypeUTF16* PtrCharacterType; typedef void* PtrVoidType; typedef void VoidType; @@ -57,7 +59,7 @@ typedef __INT64_TYPE__ Int64Type; typedef __UINT32_TYPE__ UInt32Type; typedef __INT32_TYPE__ Int32Type; -typedef CharacterType BooleanType; +typedef CharacterTypeUTF16 BooleanType; #define CA_COPY_DELETE(KLASS) \ KLASS &operator=(const KLASS &) = delete; \ @@ -232,9 +234,9 @@ typedef struct GUID final { /// \brief Object handle. /// \author Amlal El Mahrouss typedef struct Object final { - CharacterType ObjectName[255]; + CharacterTypeUTF16 ObjectName[255]; DWordType ObjectType; - CharacterType ObjectNamespace[255]; + CharacterTypeUTF16 ObjectNamespace[255]; VoidType(*Release)(struct Object* Self); IntPtrType(*Invoke)(struct Object* Self, DWordType Sel, ...); -- cgit v1.2.3