using System;
using System.Collections.Generic;
using System.Text;
using gr2lib.core.typedefs;
namespace gr2lib.core.coretypes
{
#region struct granny_file
///
/// granny_file: update
///
public struct granny_file
{
#pragma warning disable 0169
bool IsByteReversed;
unsafe granny_grn_file_header* Header;
unsafe granny_grn_file_magic_value* SourceMagicValue;
granny_int32x SectionCount;
unsafe void** Sections;
unsafe bool* Marshalled;
unsafe bool* IsUserMemory;
unsafe void* ConversionBuffer;
#pragma warning restore 0169
};
#endregion
#region struct granny_grn_reference
///
/// granny_grn_reference: update
///
public struct granny_grn_reference
{
#pragma warning disable 0169
granny_uint32 SectionIndex;
granny_uint32 Offset;
#pragma warning restore 0169
};// GrannyAlignAttribute;
#endregion
#region struct granny_grn_file_header
///
/// granny_grn_file_header: update
///
public struct granny_grn_file_header
{
//public granny_grn_file_header()
//{
// ExtraTags = new granny_uint32[GrannyGRNExtraTagCount];
// ReservedUnused = granny_uint32[3];
//}
#pragma warning disable 0169
granny_uint32 Version;
granny_uint32 TotalSize;
granny_uint32 CRC;
granny_uint32 SectionArrayOffset;
granny_uint32 SectionArrayCount;
granny_grn_reference RootObjectTypeDefinition;
granny_grn_reference RootObject;
granny_uint32 TypeTag;
private const int GrannyGRNExtraTagCount = 4;
unsafe granny_uint32* ExtraTags;
granny_uint32 StringDatabaseCRC;
unsafe granny_uint32* ReservedUnused;
#pragma warning restore 0169
};// GrannyAlignAttribute;
#endregion
#region struct granny_grn_file_magic_value
///
/// granny_grn_file_magic_value: update
///
public struct granny_grn_file_magic_value
{
//static granny_grn_file_magic_value()
//{
// MagicValue = granny_uint32[4];
// Reserved = granny_uint32[2];
//}
#pragma warning disable 0169
unsafe granny_uint32* MagicValue;
granny_uint32 HeaderSize;
granny_uint32 HeaderFormat;
unsafe granny_uint32* Reserved;
#pragma warning restore 0169
};// GrannyAlignAttribute;
#endregion
}