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);
432 HRESULT assembly_release(ASSEMBLY *assembly);
433 HRESULT assembly_get_name(ASSEMBLY *assembly, LPWSTR *name);
434 HRESULT assembly_get_path(ASSEMBLY *assembly, LPWSTR *path);
435 HRESULT assembly_get_version(ASSEMBLY *assembly, LPWSTR *version);
436 HRESULT assembly_get_pubkey_token(ASSEMBLY *assembly, LPWSTR *token);
438 static inline LPWSTR strdupW(LPCWSTR src)
445 dest = HeapAlloc(GetProcessHeap(), 0, (lstrlenW(src) + 1) * sizeof(WCHAR));
452 #define BYTES_PER_TOKEN 8
453 #define CHARS_PER_BYTE 2
454 #define TOKEN_LENGTH (BYTES_PER_TOKEN * CHARS_PER_BYTE + 1)
456 static inline void token_to_str(BYTE *bytes, LPWSTR str)
460 static const WCHAR hexval[16] = {
461 '0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'
464 for(i = 0; i < BYTES_PER_TOKEN; i++)
466 str[i * 2] = hexval[((bytes[i] >> 4) & 0xF)];
467 str[i * 2 + 1] = hexval[(bytes[i]) & 0x0F];
472 #endif /* __WINE_FUSION_PRIVATE__ */