fusion: Add the missing assembly table structs.

This commit is contained in:
James Hawkins 2008-05-03 21:16:24 -05:00 committed by Alexandre Julliard
parent 4442306a84
commit f52ecfe041
2 changed files with 259 additions and 34 deletions

View file

@ -64,54 +64,53 @@ struct tagASSEMBLY
BYTE *blobs;
};
/* FIXME: fill in */
const DWORD COR_TABLE_SIZES[64] =
{
sizeof(MODULETABLE),
sizeof(TYPEREFTABLE),
sizeof(TYPEDEFTABLE),
0,
sizeof(FIELDTABLE),
0,
sizeof(METHODDEFTABLE),
0,
sizeof(PARAMTABLE),
sizeof(INTERFACEIMPLTABLE),
sizeof(MEMBERREFTABLE),
sizeof(CONSTANTTABLE),
sizeof(CUSTOMATTRIBUTETABLE),
sizeof(FIELDMARSHALTABLE),
sizeof(DECLSECURITYTABLE),
sizeof(CLASSLAYOUTTABLE),
sizeof(FIELDLAYOUTTABLE),
sizeof(STANDALONESIGTABLE),
sizeof(EVENTMAPTABLE),
0,
sizeof(EVENTTABLE),
sizeof(PROPERTYMAPTABLE),
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
sizeof(PROPERTYTABLE),
sizeof(METHODSEMANTICSTABLE),
sizeof(METHODIMPLTABLE),
sizeof(MODULEREFTABLE),
sizeof(TYPESPECTABLE),
sizeof(IMPLMAPTABLE),
sizeof(FIELDRVATABLE),
0,
0,
sizeof(ASSEMBLYTABLE),
0,
0,
0,
0,
0,
0,
0,
sizeof(ASSEMBLYPROCESSORTABLE),
sizeof(ASSEMBLYOSTABLE),
sizeof(ASSEMBLYREFTABLE),
sizeof(ASSEMBLYREFPROCESSORTABLE),
sizeof(ASSEMBLYREFOSTABLE),
sizeof(FILETABLE),
sizeof(EXPORTEDTYPETABLE),
sizeof(MANIFESTRESTABLE),
0,
0,
0,
0,
sizeof(NESTEDCLASSTABLE),
sizeof(GENERICPARAMTABLE),
sizeof(METHODSPECTABLE),
sizeof(GENERICPARAMCONSTRAINTTABLE),
0,
0,
0,

View file

@ -84,6 +84,13 @@ typedef struct
WORD Namespace;
} TYPEREFTABLE;
typedef struct
{
WORD Flags;
WORD Name;
WORD Signature;
} FIELDTABLE;
typedef struct
{
DWORD HashAlgId;
@ -105,6 +112,225 @@ typedef struct
WORD Implementation;
} MANIFESTRESTABLE;
typedef struct
{
DWORD RVA;
WORD ImplFlags;
WORD Flags;
WORD Name;
WORD Signature;
WORD ParamList;
} METHODDEFTABLE;
typedef struct
{
WORD Flags;
WORD Sequence;
WORD Name;
} PARAMTABLE;
typedef struct
{
WORD Class;
WORD Interface;
} INTERFACEIMPLTABLE;
typedef struct
{
WORD Class;
WORD Name;
WORD Signature;
} MEMBERREFTABLE;
typedef struct
{
BYTE Type;
BYTE Reserved;
WORD Parent;
WORD Value;
} CONSTANTTABLE;
typedef struct
{
WORD Parent;
WORD Type;
WORD Value;
} CUSTOMATTRIBUTETABLE;
typedef struct
{
WORD Parent;
WORD NativeType;
} FIELDMARSHALTABLE;
typedef struct
{
WORD Action;
WORD Parent;
WORD PermissionSet;
} DECLSECURITYTABLE;
typedef struct
{
WORD PackingSize;
DWORD ClassSize;
WORD Parent;
} CLASSLAYOUTTABLE;
typedef struct
{
DWORD Offset;
WORD Field;
} FIELDLAYOUTTABLE;
typedef struct
{
WORD Signature;
} STANDALONESIGTABLE;
typedef struct
{
WORD Parent;
WORD EventList;
} EVENTMAPTABLE;
typedef struct
{
WORD EventFlags;
WORD Name;
WORD EventType;
} EVENTTABLE;
typedef struct
{
WORD Parent;
WORD PropertyList;
} PROPERTYMAPTABLE;
typedef struct
{
WORD Flags;
WORD Name;
WORD Type;
} PROPERTYTABLE;
typedef struct
{
WORD Semantics;
WORD Method;
WORD Association;
} METHODSEMANTICSTABLE;
typedef struct
{
WORD Class;
WORD MethodBody;
WORD MethodDeclaration;
} METHODIMPLTABLE;
typedef struct
{
WORD Name;
} MODULEREFTABLE;
typedef struct
{
WORD Signature;
} TYPESPECTABLE;
typedef struct
{
WORD MappingFlags;
WORD MemberForwarded;
WORD ImportName;
WORD ImportScope;
} IMPLMAPTABLE;
typedef struct
{
DWORD RVA;
WORD Field;
} FIELDRVATABLE;
typedef struct
{
DWORD Processor;
} ASSEMBLYPROCESSORTABLE;
typedef struct
{
DWORD OSPlatformID;
DWORD OSMajorVersion;
DWORD OSMinorVersion;
} ASSEMBLYOSTABLE;
typedef struct
{
WORD MajorVersion;
WORD MinorVersion;
WORD BuildNumber;
WORD RevisionNumber;
DWORD Flags;
WORD PublickKeyOrToken;
WORD Name;
WORD Culture;
WORD HashValue;
} ASSEMBLYREFTABLE;
typedef struct
{
DWORD Processor;
WORD AssemblyRef;
} ASSEMBLYREFPROCESSORTABLE;
typedef struct
{
DWORD OSPlatformId;
DWORD OSMajorVersion;
DWORD OSMinorVersion;
WORD AssemblyRef;
} ASSEMBLYREFOSTABLE;
typedef struct
{
DWORD Flags;
WORD Name;
WORD HashValue;
} FILETABLE;
typedef struct
{
DWORD Flags;
DWORD TypeDefId;
WORD TypeName;
WORD TypeNameSpace;
WORD Implementation;
} EXPORTEDTYPETABLE;
typedef struct
{
WORD NestedClass;
WORD EnclosingClass;
} NESTEDCLASSTABLE;
typedef struct
{
WORD Number;
WORD Flags;
} GENERICPARAMTABLE;
typedef struct
{
WORD MethodDef;
WORD Instantiation;
} METHODSPECTABLE;
typedef struct
{
WORD Owner;
WORD Constraint;
} GENERICPARAMCONSTRAINTTABLE;
typedef struct
{
DWORD ImportLookupTable;