1 #ifndef __LINKFILE_H__ 2 #define __LINKFILE_H__ 3 4 #include <list> 5 6 using namespace std; 7 8 #define MAX_STRING_SIZE 4096 9 10 #pragma pack(4) 11 #define LINKFILE_VERSION 0x00010000 12 typedef struct tagLinkFileHeader 13 { 14 unsigned int dwVersion; 15 unsigned int dwSize; 16 unsigned int dwImports; 17 unsigned int dwExports; 18 } LinkFileHeader; 19 20 typedef struct tagLinkData 21 { 22 unsigned int dwKernelID : 16; // Kernel ID 23 unsigned int dwLabelID : 16; // Label ID 24 unsigned int bExport : 1; // 0 - import; 1 - export; 25 unsigned int bResolved : 1; // MBZ 26 unsigned int dwOffset : 20; // Offset in DWORDs 27 unsigned int bInline : 1; // 0 - none; 1 - inline; 28 unsigned int : 9; // MBZ 29 } LinkData; 30 #pragma pack() 31 32 void CreateLinkFile(char *pDirectoryName, list <string> &kernels); 33 void DeleteLinkFile(char *pDirectoryName); 34 35 #endif // __LINKFILE_H__ 36