wine_fn_config_dll opencl enable_opencl
wine_fn_config_dll opengl32 enable_opengl32 implib
wine_fn_config_test dlls/opengl32/tests opengl32_test
-wine_fn_config_dll parport.sys enable_parport_sys implib
wine_fn_config_dll pdh enable_pdh implib
wine_fn_config_test dlls/pdh/tests pdh_test
wine_fn_config_dll pidgen enable_pidgen
wine_fn_config_dll urlmon enable_urlmon implib
wine_fn_config_test dlls/urlmon/tests urlmon_test
wine_fn_config_dll usbd.sys enable_usbd_sys implib
-wine_fn_config_dll usbhub.sys enable_usbhub_sys
wine_fn_config_dll user.exe16 enable_win16
wine_fn_config_dll user32 enable_user32 po,implib
wine_fn_config_test dlls/user32/tests user32_test
WINE_CONFIG_DLL(opencl)
WINE_CONFIG_DLL(opengl32,,[implib])
WINE_CONFIG_TEST(dlls/opengl32/tests)
-WINE_CONFIG_DLL(parport.sys,,[implib])
WINE_CONFIG_DLL(pdh,,[implib])
WINE_CONFIG_TEST(dlls/pdh/tests)
WINE_CONFIG_DLL(pidgen)
WINE_CONFIG_DLL(urlmon,,[implib])
WINE_CONFIG_TEST(dlls/urlmon/tests)
WINE_CONFIG_DLL(usbd.sys,,[implib])
-WINE_CONFIG_DLL(usbhub.sys)
WINE_CONFIG_DLL(user.exe16,enable_win16)
WINE_CONFIG_DLL(user32,,[po,implib])
WINE_CONFIG_TEST(dlls/user32/tests)
static void init_parport(void)
{
- static const WCHAR parportW[] = {'p','a','r','p','o','r','t','.','s','y','s',0};
+ static const WCHAR mountmgrW[] = {'m','o','u','n','t','m','g','r','.','s','y','s',0};
- HMODULE parport = GetModuleHandleW( parportW );
+ HMODULE mountmgr = GetModuleHandleW( mountmgrW );
- if (parport)
+ if (mountmgr)
{
- pp_read = (void *)GetProcAddress( parport, "__wine_read_parport" );
- pp_write = (void *)GetProcAddress( parport, "__wine_write_parport" );
+ pp_read = (void *)GetProcAddress( mountmgr, "__wine_read_parport" );
+ pp_write = (void *)GetProcAddress( mountmgr, "__wine_write_parport" );
}
if (!pp_read || !pp_write)
ERR( "failed to load parport functions\n" );
DELAYIMPORTS = user32
EXTRADLLFLAGS = -Wb,--subsystem,native
EXTRADEFS = @HALINCL@
-EXTRALIBS = @DISKARBITRATIONLIB@
+EXTRAINCL = @USBINCL@
+EXTRALIBS = @DISKARBITRATIONLIB@ @USBLIBS@ @IEEE1284LIBS@
C_SRCS = \
device.c \
diskarb.c \
hal.c \
- mountmgr.c
+ mountmgr.c \
+ parport.c \
+ usbhub.c
@MAKE_DLL_RULES@
#include <sys/types.h>
#include <dirent.h>
-#define INITGUID
-
#include "mountmgr.h"
#include "winreg.h"
#include "winuser.h"
static const WCHAR device_mountmgrW[] = {'\\','D','e','v','i','c','e','\\','M','o','u','n','t','P','o','i','n','t','M','a','n','a','g','e','r',0};
static const WCHAR link_mountmgrW[] = {'\\','?','?','\\','M','o','u','n','t','P','o','i','n','t','M','a','n','a','g','e','r',0};
static const WCHAR harddiskW[] = {'\\','D','r','i','v','e','r','\\','H','a','r','d','d','i','s','k',0};
+ static const WCHAR parportW[] = {'\\','D','r','i','v','e','r','\\','P','a','r','p','o','r','t',0};
+ static const WCHAR usbhubW[] = {'\\','D','r','i','v','e','r','\\','u','s','b','h','u','b',0};
static const WCHAR devicemapW[] = {'H','A','R','D','W','A','R','E','\\','D','E','V','I','C','E','M','A','P',0};
static const WCHAR parallelW[] = {'P','A','R','A','L','L','E','L',' ','P','O','R','T','S',0};
static const WCHAR serialW[] = {'S','E','R','I','A','L','C','O','M','M',0};
RtlInitUnicodeString( &nameW, harddiskW );
status = IoCreateDriver( &nameW, harddisk_driver_entry );
+ RtlInitUnicodeString( &nameW, parportW );
+ status = IoCreateDriver( &nameW, parport_driver_entry );
+
+ RtlInitUnicodeString( &nameW, usbhubW );
+ status = IoCreateDriver( &nameW, usbhub_driver_entry );
+
if (automount_enabled())
{
initialize_hal();
#define WINE_MOUNTMGR_EXTENSIONS
#include "ntddstor.h"
#include "ntddcdrm.h"
+#include "ntddpar.h"
#include "ddk/wdm.h"
#include "ddk/mountmgr.h"
extern void initialize_hal(void);
extern void initialize_diskarbitration(void);
+extern NTSTATUS WINAPI usbhub_driver_entry( DRIVER_OBJECT *driver, UNICODE_STRING *path );
+extern NTSTATUS WINAPI parport_driver_entry( DRIVER_OBJECT *driver, UNICODE_STRING *path );
+
/* device functions */
enum device_type
-# nothing to export
+################################################################
+# Wine internal extensions
+#
+# All functions must be prefixed with '__wine_' (for internal functions)
+# or 'wine_' (for user-visible functions) to avoid namespace conflicts.
+
+@ cdecl __wine_read_parport(ptr)
+@ cdecl __wine_write_parport(ptr long)
/*
- * Copyright 2009 Alexander Morozov for Etersoft
+ * Copyright 2009 - 2011 Alexander Morozov for Etersoft
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
#define NONAMELESSUNION
#define NONAMELESSSTRUCT
-#define INITGUID
-
-#include "ntstatus.h"
-#define WIN32_NO_STATUS
-#include "windef.h"
-#include "winternl.h"
-#include "winioctl.h"
-#include "winbase.h"
-#include "winuser.h"
+
+#include "mountmgr.h"
#include "winreg.h"
+#include "winuser.h"
#include "setupapi.h"
-#include "ntddpar.h"
-#include "ddk/ntddk.h"
#include "ddk/parallel.h"
#include "wine/unicode.h"
#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(parport);
-
#ifdef HAVE_LIBIEEE1284
static const WCHAR device_idW[] = {'A','C','P','I','\\',
'P','N','P','0','4','0','0','\\','%','d',0};
#endif
}
-static void WINAPI parport_unload( DRIVER_OBJECT *driver )
-{
-#ifdef HAVE_LIBIEEE1284
- DEVICE_OBJECT *device = driver->DeviceObject, *device2;
- struct ParPortExtension *ppe;
-
- while (device)
- {
- device2 = device->NextDevice;
- ppe = device->DeviceExtension;
- if (ppe->interface.Buffer)
- {
- IoSetDeviceInterfaceState( &ppe->interface, FALSE );
- RtlFreeUnicodeString( &ppe->interface );
- }
- IoDeleteDevice( device );
- device = device2;
- }
- ieee1284_free_ports( &pp_list );
-#endif
-}
-
-NTSTATUS WINAPI DriverEntry( DRIVER_OBJECT *driver, UNICODE_STRING *path )
+NTSTATUS WINAPI parport_driver_entry( DRIVER_OBJECT *driver, UNICODE_STRING *path )
{
- driver->DriverUnload = parport_unload;
#ifdef HAVE_LIBIEEE1284
driver->MajorFunction[IRP_MJ_INTERNAL_DEVICE_CONTROL] = parport_ioctl;
driver->MajorFunction[IRP_MJ_PNP] = parport_pnp;
/*
- * Copyright 2008-2009 Alexander Morozov for Etersoft
+ * Copyright 2008 - 2011 Alexander Morozov for Etersoft
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
#include <stdio.h>
#include <stdlib.h>
-#include <stdarg.h>
#ifdef HAVE_LIBUSB_H
#include <libusb.h>
#define NONAMELESSSTRUCT
#define INITGUID
-#include "ntstatus.h"
-#define WIN32_NO_STATUS
-#include "windef.h"
-#include "winbase.h"
-#include "winternl.h"
-#include "winioctl.h"
+#include "mountmgr.h"
#include "winreg.h"
#include "winsvc.h"
#include "winuser.h"
#include "setupapi.h"
#include "cfgmgr32.h"
#include "devguid.h"
-#include "ddk/ntddk.h"
#define WINE_USBHUB_EXTENSIONS
#include "ddk/usbdrivr.h"
#include "ddk/usbioctl.h"
#endif
-NTSTATUS WINAPI DriverEntry( DRIVER_OBJECT *driver, UNICODE_STRING *path )
+NTSTATUS WINAPI usbhub_driver_entry( DRIVER_OBJECT *driver, UNICODE_STRING *path )
{
#ifdef HAVE_LIBUSB
HANDLE thread;
*/
static void init_parport(void)
{
- static const WCHAR parportW[] = {'p','a','r','p','o','r','t','.','s','y','s',0};
+ static const WCHAR mountmgrW[] = {'m','o','u','n','t','m','g','r','.','s','y','s',0};
- HMODULE parport = GetModuleHandleW( parportW );
+ HMODULE mountmgr = GetModuleHandleW( mountmgrW );
- if (parport)
+ if (mountmgr)
{
- pp_read = (void *)GetProcAddress( parport, "__wine_read_parport" );
- pp_write = (void *)GetProcAddress( parport, "__wine_write_parport" );
+ pp_read = (void *)GetProcAddress( mountmgr, "__wine_read_parport" );
+ pp_write = (void *)GetProcAddress( mountmgr, "__wine_write_parport" );
}
if (!pp_read || !pp_write)
ERR( "failed to load parport functions\n" );
+++ /dev/null
-MODULE = parport.sys
-IMPORTLIB = parport.sys
-IMPORTS = ntoskrnl.exe setupapi
-EXTRADLLFLAGS = -Wb,--subsystem,native
-EXTRALIBS = @IEEE1284LIBS@
-
-C_SRCS = \
- parport.c
-
-@MAKE_DLL_RULES@
+++ /dev/null
-################################################################
-# Wine internal extensions
-#
-# All functions must be prefixed with '__wine_' (for internal functions)
-# or 'wine_' (for user-visible functions) to avoid namespace conflicts.
-
-@ cdecl __wine_read_parport(ptr)
-@ cdecl __wine_write_parport(ptr long)
+++ /dev/null
-MODULE = usbhub.sys
-IMPORTS = ntoskrnl.exe advapi32 setupapi
-EXTRADLLFLAGS = -Wb,--subsystem,native
-EXTRAINCL = @USBINCL@
-EXTRALIBS = @USBLIBS@
-
-C_SRCS = \
- usbhub.c
-
-@MAKE_DLL_RULES@
+++ /dev/null
-# nothing to export
#ifdef HAVE_LIBUSB
static const WCHAR usbhub_started_event[] = {'_','_','w','i','n','e',
'_','U','s','b','h','u','b','S','t','a','r','t','e','d',0};
- static const WCHAR usbhub[] = {'U','s','b','h','u','b',0};
+ static const WCHAR mountmgr[] = {'M','o','u','n','t','M','g','r',0};
#endif
struct service_entry **services_list;
unsigned int i = 0;
argv[0] = service->name;
argv[1] = NULL;
#ifdef HAVE_LIBUSB
- if (!strcmpW(service->name, usbhub))
+ if (!strcmpW(service->name, mountmgr))
event = CreateEventW(NULL, TRUE, FALSE, usbhub_started_event);
#endif
err = service_start(service, 1, argv);
[DefaultInstall.Services]
AddService=MountMgr,0x800,MountMgrService
-AddService=Parport,0,ParPortService
AddService=Spooler,0,SpoolerService
-AddService=Usbhub,0,UsbhubService
AddService=TermService,0,TerminalServices
AddService=PlugPlay,0,PlugPlayService
[DefaultInstall.NT.Services]
AddService=MountMgr,0x800,MountMgrService
-AddService=Parport,0,ParPortService
AddService=Spooler,0,SpoolerService
-AddService=Usbhub,0,UsbhubService
AddService=TermService,0,TerminalServices
AddService=PlugPlay,0,PlugPlayService
11,,notepad.exe
11,,winetest.exe,-
12,,mountmgr.sys
-12,,parport.sys
-12,,usbhub.sys
10,Microsoft.NET\Framework\v1.1.4322,aspnet_regiis.exe
10,Microsoft.NET\Framework\v1.1.4322,ngen.exe
10,Microsoft.NET\Framework\v1.1.4322,fusion.dll
StartType=2
ErrorControl=1
-[ParPortService]
-ServiceBinary="%12%\parport.sys"
-ServiceType=1
-StartType=2
-ErrorControl=1
-
[SpoolerService]
Description="Loads files to memory for later printing"
DisplayName="Print Spooler"
ErrorControl=1
LoadOrderGroup="SpoolerGroup"
-[UsbhubService]
-ServiceBinary="%12%\usbhub.sys"
-ServiceType=1
-StartType=2
-ErrorControl=1
-
[TerminalServices]
Description="Remote desktop access"
DisplayName="Terminal Services"