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