[WIN32K]
[reactos.git] / reactos / win32ss / gdi / eng / mapping.h
1
2 typedef struct _ENGSECTION
3 {
4 PVOID pvSectionObject;
5 PVOID pvMappedBase;
6 SIZE_T cjViewSize;
7 ULONG ulTag;
8 } ENGSECTION, *PENGSECTION;
9
10 typedef struct _FILEVIEW
11 {
12 LARGE_INTEGER LastWriteTime;
13 PVOID pvKView;
14 PVOID pvViewFD;
15 SIZE_T cjView;
16 PVOID pSection;
17 } FILEVIEW, *PFILEVIEW;
18
19 typedef struct _FONTFILEVIEW
20 {
21 FILEVIEW;
22 DWORD reserved[2];
23 PWSTR pwszPath;
24 SIZE_T ulRegionSize;
25 ULONG cKRefCount;
26 ULONG cRefCountFD;
27 PVOID pvSpoolerBase;
28 DWORD dwSpoolerPid;
29 } FONTFILEVIEW, *PFONTFILEVIEW;
30
31 enum
32 {
33 FVF_SYSTEMROOT = 1,
34 FVF_READONLY = 2,
35 FVF_FONTFILE = 4,
36 };
37
38 PVOID
39 NTAPI
40 EngMapSectionView(
41 _In_ HANDLE hSection,
42 _In_ SIZE_T cjSize,
43 _In_ ULONG cjOffset,
44 _Out_ PHANDLE phSecure);
45
46 VOID
47 NTAPI
48 EngUnmapSectionView(
49 _In_ PVOID pvBits,
50 _In_ ULONG cjOffset,
51 _In_ HANDLE hSecure);
52
53 PVOID
54 NTAPI
55 EngCreateSection(
56 IN ULONG fl,
57 IN SIZE_T cjSize,
58 IN ULONG ulTag);
59
60 BOOL
61 APIENTRY
62 EngMapSection(
63 IN PVOID pvSection,
64 IN BOOL bMap,
65 IN HANDLE hProcess,
66 OUT PVOID* pvBaseAddress);
67
68 PVOID
69 APIENTRY
70 EngAllocSectionMem(
71 OUT PVOID *ppvSection,
72 IN ULONG fl,
73 IN SIZE_T cjSize,
74 IN ULONG ulTag);
75
76 BOOL
77 APIENTRY
78 EngFreeSectionMem(
79 IN PVOID pvSection OPTIONAL,
80 IN PVOID pvMappedBase OPTIONAL);
81
82 PFILEVIEW
83 NTAPI
84 EngLoadModuleEx(
85 LPWSTR pwsz,
86 ULONG cjSizeOfModule,
87 FLONG fl);
88