ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

corhdr.h
Go to the documentation of this file.
00001 /*
00002  * Copyright 2008 James Hawkins
00003  *
00004  * This library is free software; you can redistribute it and/or
00005  * modify it under the terms of the GNU Lesser General Public
00006  * License as published by the Free Software Foundation; either
00007  * version 2.1 of the License, or (at your option) any later version.
00008  *
00009  * This library is distributed in the hope that it will be useful,
00010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012  * Lesser General Public License for more details.
00013  *
00014  * You should have received a copy of the GNU Lesser General Public
00015  * License along with this library; if not, write to the Free Software
00016  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
00017  */
00018 
00019 #ifndef __WINE_CORHDR_H
00020 #define __WINE_CORHDR_H
00021 
00022 typedef enum CorTokenType
00023 {
00024     mdtModule                   = 0x00000000,
00025     mdtTypeRef                  = 0x01000000,
00026     mdtTypeDef                  = 0x02000000,
00027     mdtFieldDef                 = 0x04000000,
00028     mdtMethodDef                = 0x06000000,
00029     mdtParamDef                 = 0x08000000,
00030     mdtInterfaceImpl            = 0x09000000,
00031     mdtMemberRef                = 0x0a000000,
00032     mdtCustomAttribute          = 0x0c000000,
00033     mdtPermission               = 0x0e000000,
00034     mdtSignature                = 0x11000000,
00035     mdtEvent                    = 0x14000000,
00036     mdtProperty                 = 0x17000000,
00037     mdtModuleRef                = 0x1a000000,
00038     mdtTypeSpec                 = 0x1b000000,
00039     mdtAssembly                 = 0x20000000,
00040     mdtAssemblyRef              = 0x23000000,
00041     mdtFile                     = 0x26000000,
00042     mdtExportedType             = 0x27000000,
00043     mdtManifestResource         = 0x28000000,
00044     mdtGenericParam             = 0x2a000000,
00045     mdtMethodSpec               = 0x2b000000,
00046     mdtGenericParamConstraint   = 0x2c000000,
00047     mdtString                   = 0x70000000,
00048     mdtName                     = 0x71000000,
00049     mdtBaseType                 = 0x72000000,
00050 } CorTokenType;
00051 
00052 typedef enum CorElementType
00053 {
00054     ELEMENT_TYPE_END            = 0x00,
00055     ELEMENT_TYPE_VOID           = 0x01,
00056     ELEMENT_TYPE_BOOLEAN        = 0x02,
00057     ELEMENT_TYPE_CHAR           = 0x03,
00058     ELEMENT_TYPE_I1             = 0x04,
00059     ELEMENT_TYPE_U1             = 0x05,
00060     ELEMENT_TYPE_I2             = 0x06,
00061     ELEMENT_TYPE_U2             = 0x07,
00062     ELEMENT_TYPE_I4             = 0x08,
00063     ELEMENT_TYPE_U4             = 0x09,
00064     ELEMENT_TYPE_I8             = 0x0a,
00065     ELEMENT_TYPE_U8             = 0x0b,
00066     ELEMENT_TYPE_R4             = 0x0c,
00067     ELEMENT_TYPE_R8             = 0x0d,
00068     ELEMENT_TYPE_STRING         = 0x0e,
00069     ELEMENT_TYPE_PTR            = 0x0f,
00070     ELEMENT_TYPE_BYREF          = 0x10,
00071     ELEMENT_TYPE_VALUETYPE      = 0x11,
00072     ELEMENT_TYPE_CLASS          = 0x12,
00073     ELEMENT_TYPE_VAR            = 0x13,
00074     ELEMENT_TYPE_ARRAY          = 0x14,
00075     ELEMENT_TYPE_GENERICINST    = 0x15,
00076     ELEMENT_TYPE_TYPEDBYREF     = 0x16,
00077     ELEMENT_TYPE_I              = 0x18,
00078     ELEMENT_TYPE_U              = 0x19,
00079     ELEMENT_TYPE_FNPTR          = 0x1b,
00080     ELEMENT_TYPE_OBJECT         = 0x1c,
00081     ELEMENT_TYPE_SZARRAY        = 0x1d,
00082     ELEMENT_TYPE_MVAR           = 0x1e,
00083     ELEMENT_TYPE_CMOD_REQD      = 0x1f,
00084     ELEMENT_TYPE_CMOD_OPT       = 0x20,
00085     ELEMENT_TYPE_INTERNAL       = 0x21,
00086     ELEMENT_TYPE_MAX            = 0x22,
00087     ELEMENT_TYPE_MODIFIER       = 0x40,
00088     ELEMENT_TYPE_SENTINEL       = 0x01 | ELEMENT_TYPE_MODIFIER,
00089     ELEMENT_TYPE_PINNED         = 0x05 | ELEMENT_TYPE_MODIFIER,
00090     ELEMENT_TYPE_R4_HFA         = 0x06 | ELEMENT_TYPE_MODIFIER,
00091     ELEMENT_TYPE_R8_HFA         = 0x07 | ELEMENT_TYPE_MODIFIER,
00092 
00093 } CorElementType;
00094 
00095 #define RidToToken(rid,tktype) ((rid) |= (tktype))
00096 #define TokenFromRid(rid,tktype) ((rid) | (tktype))
00097 #define RidFromToken(tk) ((RID)((tk) & 0x00ffffff))
00098 #define TypeFromToken(tk) ((ULONG32)((tk) & 0xff000000))
00099 #define IsNilToken(tk) ((RidFromToken(tk)) == 0)
00100 
00101 typedef LPVOID  mdScope;
00102 typedef ULONG32 mdToken;
00103 
00104 typedef mdToken mdModule;
00105 typedef mdToken mdTypeRef;
00106 typedef mdToken mdTypeDef;
00107 typedef mdToken mdFieldDef;
00108 typedef mdToken mdMethodDef;
00109 typedef mdToken mdParamDef;
00110 typedef mdToken mdInterfaceImpl;
00111 typedef mdToken mdMemberRef;
00112 typedef mdToken mdCustomAttribute;
00113 typedef mdToken mdPermission;
00114 typedef mdToken mdSignature;
00115 typedef mdToken mdEvent;
00116 typedef mdToken mdProperty;
00117 typedef mdToken mdModuleRef;
00118 typedef mdToken mdAssembly;
00119 typedef mdToken mdAssemblyRef;
00120 typedef mdToken mdFile;
00121 typedef mdToken mdExportedType;
00122 typedef mdToken mdManifestResource;
00123 typedef mdToken mdTypeSpec;
00124 typedef mdToken mdGenericParam;
00125 typedef mdToken mdMethodSpec;
00126 typedef mdToken mdGenericParamConstraint;
00127 typedef mdToken mdString;
00128 typedef mdToken mdCPToken;
00129 
00130 #endif /* __WINE_CORHDR_H */

Generated on Sun May 27 2012 04:31:12 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.