r7643: This patch adds a new NTPTR subsystem:
authorStefan Metzmacher <metze@samba.org>
Thu, 16 Jun 2005 17:27:57 +0000 (17:27 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:18:16 +0000 (13:18 -0500)
commit8f85427d6d8fa7e6bfd76ed5335c8dbe7dd14afe
treeea4000a042eebeca2dc09e6b1c329fcf6129f82d
parent038628b9c5eb033213e187b38f8260573cbf6b17
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)
13 files changed:
source4/config.list
source4/include/structs.h
source4/librpc/idl/spoolss.idl
source4/ntptr/config.mk [new file with mode: 0644]
source4/ntptr/ntptr.h [new file with mode: 0644]
source4/ntptr/ntptr_base.c [new file with mode: 0644]
source4/ntptr/ntptr_interface.c [new file with mode: 0644]
source4/ntptr/simple_ldb/ntptr_simple_ldb.c [new file with mode: 0644]
source4/param/loadparm.c
source4/rpc_server/config.mk
source4/rpc_server/spoolss/dcesrv_spoolss.c
source4/rpc_server/spoolss/dcesrv_spoolss.h [deleted file]
source4/rpc_server/spoolss/spoolssdb.c [deleted file]