mirror of
https://github.com/reactos/reactos.git
synced 2024-11-09 08:08:38 +00:00
74ef03da5c
svn path=/branches/reactos-yarotows/; revision=45355
86 lines
1.4 KiB
C
86 lines
1.4 KiB
C
|
|
#ifdef __GNUC__
|
|
/* Hack, for bug in ld. Will be removed soon. */
|
|
#define __ImageBase _image_base__
|
|
#endif
|
|
extern IMAGE_DOS_HEADER __ImageBase;
|
|
|
|
|
|
#define TAG_LDEV 'Gldv'
|
|
|
|
#define GDI_ENGINE_VERSION DDI_DRIVER_VERSION_NT5_01
|
|
|
|
typedef enum
|
|
{
|
|
LDEV_DEVICE_DISPLAY = 1,
|
|
LDEV_DEVICE_PRINTER = 2,
|
|
LDEV_DEVICE_META = 3,
|
|
LDEV_DEVICE_MIRROR = 4,
|
|
LDEV_IMAGE = 5,
|
|
LDEV_FONT = 6,
|
|
} LDEVTYPE;
|
|
|
|
typedef struct _LDEVOBJ
|
|
{
|
|
struct _LDEVOBJ *pldevNext;
|
|
struct _LDEVOBJ *pldevPrev;
|
|
SYSTEM_GDI_DRIVER_INFORMATION *pGdiDriverInfo;
|
|
LDEVTYPE ldevtype;
|
|
ULONG cRefs;
|
|
ULONG ulDriverVersion;
|
|
|
|
union
|
|
{
|
|
PVOID apfn[INDEX_LAST];
|
|
DRIVER_FUNCTIONS pfn;
|
|
};
|
|
|
|
} LDEVOBJ, *PLDEVOBJ;
|
|
|
|
extern PLDEVOBJ gpldevHead;
|
|
extern HSEMAPHORE ghsemDriverMgmt;
|
|
|
|
PLDEVOBJ
|
|
NTAPI
|
|
LDEVOBJ_pldevLoadImage(
|
|
PUNICODE_STRING pusPathName,
|
|
LDEVTYPE ldevtype);
|
|
|
|
BOOL
|
|
NTAPI
|
|
LDEVOBJ_bLoadDriver(
|
|
IN PLDEVOBJ pldev);
|
|
|
|
PVOID
|
|
NTAPI
|
|
LDEVOBJ_pvFindImageProcAddress(
|
|
IN PLDEVOBJ pldev,
|
|
IN LPSTR lpProcName);
|
|
|
|
PDEVMODEINFO
|
|
NTAPI
|
|
LDEVOBJ_pdmiGetModes(
|
|
PLDEVOBJ pldev,
|
|
HANDLE hDriver);
|
|
|
|
BOOL
|
|
NTAPI
|
|
InitLDEVImpl();
|
|
|
|
PLDEVOBJ
|
|
APIENTRY
|
|
EngLoadDriver(
|
|
LPWSTR pwszDriverName,
|
|
ULONG ldevtype);
|
|
|
|
PLDEVOBJ
|
|
NTAPI
|
|
EngGetLDEV(
|
|
PDEVMODEW pdm);
|
|
|
|
NTSTATUS
|
|
APIENTRY
|
|
DriverEntry (
|
|
IN PDRIVER_OBJECT DriverObject,
|
|
IN PUNICODE_STRING RegistryPath);
|
|
|