From 8f85427d6d8fa7e6bfd76ed5335c8dbe7dd14afe Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Thu, 16 Jun 2005 17:27:57 +0000 Subject: r7643: This patch adds a new NTPTR subsystem: - this is an abstraction layer for print services, like out NTVFS subsystem for file services - all protocol specific details are still in rpc_server/spoolss/ - like the stupid in and out Buffer handling - checking of the r->in.server_name - ... - this subsystem can have multiple implementation selected by the "ntptr providor" global-section parameter - I currently added a "simple_ldb" backend, that stores Printers, Forms, Ports, Monitors, ... in the spoolss.db, and does no real printing this backend is basicly for testing, how the spoolss protocol works - the interface is just a prototype and will be changed a bit the next days or weeks, till the simple_ldb backend can handle all calls that are used by normal w2k3/xp clients - I'll also make the api async, as the ntvfs api this will make things like the RemoteFindFirstPrinterChangeNotifyEx(), that opens a connection back to the client, easier to implement, as we should not block the whole smbd for that - the idea is to later implement a "unix" backend that works like the current samba3 code - and maybe some embedded print server vendors can write there own backend that can directly talk to a printer without having cups or something like this - the default settings are (it currently makes no sense to change them :-): ntptr providor = simple_ldb spoolss database = $private_dir/spoolss.db metze (This used to be commit 455b5536d41bc31ebef8290812f45d4a38afa8e9) --- source4/include/structs.h | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) (limited to 'source4/include') diff --git a/source4/include/structs.h b/source4/include/structs.h index 944f79225b..2c8003e791 100644 --- a/source4/include/structs.h +++ b/source4/include/structs.h @@ -37,8 +37,43 @@ union spoolss_FormInfo; union spoolss_PortInfo; union spoolss_MonitorInfo; union spoolss_PrintProcessorInfo; + struct spoolss_GetPrinterData; struct spoolss_SetPrinterData; +struct spoolss_OpenPrinterEx; +struct spoolss_EnumPrinterData; +struct spoolss_DeletePrinterData; +struct spoolss_AddForm; +struct spoolss_GetForm; +struct spoolss_SetForm; +struct spoolss_DeleteForm; +struct spoolss_AddPrinterDriver; +struct spoolss_DeletePrinterDriver; +struct spoolss_GetPrinterDriverDirectory; +struct spoolss_AddPrinter; +struct spoolss_GetPrinter; +struct spoolss_SetPrinter; +struct spoolss_DeletePrinter; +struct spoolss_GetPrinterDriver; +struct spoolss_EnumPrinterData; +struct spoolss_DeletePrinterData; +struct spoolss_AddForm; +struct spoolss_GetForm; +struct spoolss_SetForm; +struct spoolss_DeleteForm; +struct spoolss_AddJob; +struct spoolss_ScheduleJob; +struct spoolss_GetJob; +struct spoolss_SetJob; +struct spoolss_StartDocPrinter; +struct spoolss_EndDocPrinter; +struct spoolss_StartPagePrinter; +struct spoolss_EndPagePrinter; +struct spoolss_WritePrinter; +struct spoolss_ReadPrinter; + +struct ntptr_context; +struct ntptr_GenericHandle; struct drsuapi_DsReplicaObjectListItem; struct drsuapi_DsReplicaObjectListItemEx; -- cgit