[NDK][NTOS] Add global definition of INIT_FUNCTION/INIT_SECTION (#779)
[reactos.git] / win32ss / gdi / eng / ldevobj.h
1
2 extern IMAGE_DOS_HEADER __ImageBase;
3
4 static const unsigned GDI_ENGINE_VERSION = DDI_DRIVER_VERSION_NT5_01;
5
6 typedef enum
7 {
8 LDEV_DEVICE_DISPLAY = 1,
9 LDEV_DEVICE_PRINTER = 2,
10 LDEV_DEVICE_META = 3,
11 LDEV_DEVICE_MIRROR = 4,
12 LDEV_IMAGE = 5,
13 LDEV_FONT = 6,
14 } LDEVTYPE;
15
16 typedef struct _LDEVOBJ
17 {
18 LIST_ENTRY leLink;
19 SYSTEM_GDI_DRIVER_INFORMATION *pGdiDriverInfo;
20 LDEVTYPE ldevtype;
21 ULONG cRefs;
22 ULONG ulDriverVersion;
23
24 union
25 {
26 PVOID apfn[INDEX_LAST];
27 DRIVER_FUNCTIONS pfn;
28 };
29
30 } LDEVOBJ, *PLDEVOBJ;
31
32 INIT_FUNCTION
33 NTSTATUS
34 NTAPI
35 InitLDEVImpl(VOID);
36
37 PDEVMODEINFO
38 NTAPI
39 LDEVOBJ_pdmiGetModes(
40 _In_ PLDEVOBJ pldev,
41 _In_ HANDLE hDriver);
42
43 PLDEVOBJ
44 APIENTRY
45 EngLoadImageEx(
46 _In_z_ LPWSTR pwszDriverName,
47 _In_ ULONG ldevtype);
48
49 PLDEVOBJ
50 NTAPI
51 EngGetLDEV(
52 PDEVMODEW pdm);
53
54 INIT_FUNCTION
55 NTSTATUS
56 APIENTRY
57 DriverEntry (
58 _In_ PDRIVER_OBJECT DriverObject,
59 _In_ PUNICODE_STRING RegistryPath);
60