xref: /aosp_15_r20/external/intel-media-driver/Tools/MediaDriverTools/GenKrnBin/linkfile.h (revision ba62d9d3abf0e404f2022b4cd7a85e107f48596f)
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