2 * fusion private definitions
4 * Copyright 2008 James Hawkins
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
21 #ifndef __WINE_FUSION_PRIVATE__
22 #define __WINE_FUSION_PRIVATE__
58 LARGE_INTEGER MaskValid;
59 LARGE_INTEGER MaskSorted;
137 } INTERFACEIMPLTABLE;
159 } CUSTOMATTRIBUTETABLE;
190 } STANDALONESIGTABLE;
223 } METHODSEMANTICSTABLE;
229 WORD MethodDeclaration;
245 WORD MemberForwarded;
259 } ASSEMBLYPROCESSORTABLE;
264 DWORD OSMajorVersion;
265 DWORD OSMinorVersion;
275 WORD PublickKeyOrToken;
285 } ASSEMBLYREFPROCESSORTABLE;
290 DWORD OSMajorVersion;
291 DWORD OSMinorVersion;
293 } ASSEMBLYREFOSTABLE;
333 } GENERICPARAMCONSTRAINTTABLE;
337 DWORD ImportLookupTable;
339 DWORD ForwarderChain;
341 DWORD ImportAddressTable;
347 DWORD HintNameTableRVA;
374 VS_FIXEDFILEINFO Value;
429 typedef struct tagASSEMBLY ASSEMBLY;
431 HRESULT assembly_create(ASSEMBLY **out, LPCWSTR file) DECLSPEC_HIDDEN;
432 HRESULT assembly_release(ASSEMBLY *assembly) DECLSPEC_HIDDEN;
433 HRESULT assembly_get_name(ASSEMBLY *assembly, LPWSTR *name) DECLSPEC_HIDDEN;
434 HRESULT assembly_get_path(const ASSEMBLY *assembly, LPWSTR *path) DECLSPEC_HIDDEN;
435 HRESULT assembly_get_version(ASSEMBLY *assembly, LPWSTR *version) DECLSPEC_HIDDEN;
436 PEKIND assembly_get_architecture(ASSEMBLY *assembly) DECLSPEC_HIDDEN;
437 HRESULT assembly_get_pubkey_token(ASSEMBLY *assembly, LPWSTR *token) DECLSPEC_HIDDEN;
438 HRESULT assembly_get_runtime_version(ASSEMBLY *assembly, LPSTR *version) DECLSPEC_HIDDEN;
439 HRESULT assembly_get_external_files(ASSEMBLY *assembly, LPWSTR **files, DWORD *count) DECLSPEC_HIDDEN;
441 extern HRESULT IAssemblyName_SetPath(IAssemblyName *iface, LPCWSTR path) DECLSPEC_HIDDEN;
442 extern HRESULT IAssemblyName_GetPath(IAssemblyName *iface, LPWSTR buf, ULONG *len) DECLSPEC_HIDDEN;
444 static inline LPWSTR strdupW(LPCWSTR src)
451 dest = HeapAlloc(GetProcessHeap(), 0, (lstrlenW(src) + 1) * sizeof(WCHAR));
458 #define BYTES_PER_TOKEN 8
459 #define CHARS_PER_BYTE 2
460 #define TOKEN_LENGTH (BYTES_PER_TOKEN * CHARS_PER_BYTE + 1)
462 static inline void token_to_str(BYTE *bytes, LPWSTR str)
466 static const WCHAR hexval[] = {
467 '0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'
470 for(i = 0; i < BYTES_PER_TOKEN; i++)
472 str[i * 2] = hexval[((bytes[i] >> 4) & 0xF)];
473 str[i * 2 + 1] = hexval[(bytes[i]) & 0x0F];
478 #endif /* __WINE_FUSION_PRIVATE__ */