[SCM] Samba Shared Repository - branch master updated -
release-4-0-0alpha6-974-g8e33960
Günther Deschner
gd at samba.org
Wed Feb 18 23:52:29 GMT 2009
The branch, master has been updated
via 8e33960655999cd52d3f11070ff15c9866404694 (commit)
via 266e8954beeec35c9416b9af8abc38f5b81d518c (commit)
via 28158165dae4a37414a3ed1dfbcbb16f186ddc5a (commit)
from c9295c93d13744dc8f25e5877625f13be9de7327 (commit)
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 8e33960655999cd52d3f11070ff15c9866404694
Author: Günther Deschner <gd at samba.org>
Date: Thu Feb 19 00:51:15 2009 +0100
s3: re-run make samba3-idl.
Guenther
commit 266e8954beeec35c9416b9af8abc38f5b81d518c
Author: Günther Deschner <gd at samba.org>
Date: Thu Feb 19 00:10:12 2009 +0100
spoolss: add spoolss_PortData2 (used by vista).
Guenther
commit 28158165dae4a37414a3ed1dfbcbb16f186ddc5a
Author: Günther Deschner <gd at samba.org>
Date: Thu Feb 19 00:09:30 2009 +0100
spoolss: use spoolss access mask in OpenPrinter{Ex}.
Guenther
-----------------------------------------------------------------------
Summary of changes:
librpc/gen_ndr/ndr_spoolss.c | 107 +++++++++++++++++++++++++++++++++++++++--
librpc/gen_ndr/ndr_spoolss.h | 4 ++
librpc/gen_ndr/spoolss.h | 17 +++++++
librpc/idl/spoolss.idl | 21 +++++++-
4 files changed, 141 insertions(+), 8 deletions(-)
Changeset truncated at 500 lines:
diff --git a/librpc/gen_ndr/ndr_spoolss.c b/librpc/gen_ndr/ndr_spoolss.c
index 610ecb9..0709df9 100644
--- a/librpc/gen_ndr/ndr_spoolss.c
+++ b/librpc/gen_ndr/ndr_spoolss.c
@@ -14165,6 +14165,32 @@ _PUBLIC_ void ndr_print_spoolss_UserLevelCtr(struct ndr_print *ndr, const char *
ndr->depth--;
}
+static enum ndr_err_code ndr_push_spoolss_AccessRights(struct ndr_push *ndr, int ndr_flags, uint32_t r)
+{
+ NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
+ return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_spoolss_AccessRights(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
+{
+ uint32_t v;
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
+ *r = v;
+ return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_spoolss_AccessRights(struct ndr_print *ndr, const char *name, uint32_t r)
+{
+ ndr_print_uint32(ndr, name, r);
+ ndr->depth++;
+ ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SERVER_ACCESS_ADMINISTER", SERVER_ACCESS_ADMINISTER, r);
+ ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SERVER_ACCESS_ENUMERATE", SERVER_ACCESS_ENUMERATE, r);
+ ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ACCESS_ADMINISTER", PRINTER_ACCESS_ADMINISTER, r);
+ ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ACCESS_USE", PRINTER_ACCESS_USE, r);
+ ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_ACCESS_ADMINISTER", JOB_ACCESS_ADMINISTER, r);
+ ndr->depth--;
+}
+
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DeleteDriverFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
{
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
@@ -14286,6 +14312,75 @@ _PUBLIC_ void ndr_print_spoolss_PortData1(struct ndr_print *ndr, const char *nam
ndr->depth--;
}
+_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PortData2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PortData2 *r)
+{
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_push_align(ndr, 4));
+ NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->portname, 64, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0x00000002));
+ NDR_CHECK(ndr_push_spoolss_PortProtocol(ndr, NDR_SCALARS, r->protocol));
+ NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, sizeof(r)));
+ NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
+ NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->hostaddress, 128, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->snmpcommunity, 33, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dblspool));
+ NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->queue, 33, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->device_type, 257, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->port_number));
+ NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->snmp_enabled));
+ NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->snmp_dev_index));
+ NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->port_monitor_mib_index));
+ }
+ if (ndr_flags & NDR_BUFFERS) {
+ }
+ return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PortData2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PortData2 *r)
+{
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->portname, 64, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
+ NDR_CHECK(ndr_pull_spoolss_PortProtocol(ndr, NDR_SCALARS, &r->protocol));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
+ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->hostaddress, 128, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->snmpcommunity, 33, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dblspool));
+ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->queue, 33, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->device_type, 257, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->port_number));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->snmp_enabled));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->snmp_dev_index));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->port_monitor_mib_index));
+ }
+ if (ndr_flags & NDR_BUFFERS) {
+ }
+ return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_spoolss_PortData2(struct ndr_print *ndr, const char *name, const struct spoolss_PortData2 *r)
+{
+ ndr_print_struct(ndr, name, "spoolss_PortData2");
+ ndr->depth++;
+ ndr_print_string(ndr, "portname", r->portname);
+ ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0x00000002:r->version);
+ ndr_print_spoolss_PortProtocol(ndr, "protocol", r->protocol);
+ ndr_print_uint32(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?sizeof(r):r->size);
+ ndr_print_uint32(ndr, "reserved", r->reserved);
+ ndr_print_string(ndr, "hostaddress", r->hostaddress);
+ ndr_print_string(ndr, "snmpcommunity", r->snmpcommunity);
+ ndr_print_uint32(ndr, "dblspool", r->dblspool);
+ ndr_print_string(ndr, "queue", r->queue);
+ ndr_print_string(ndr, "device_type", r->device_type);
+ ndr_print_uint32(ndr, "port_number", r->port_number);
+ ndr_print_uint32(ndr, "snmp_enabled", r->snmp_enabled);
+ ndr_print_uint32(ndr, "snmp_dev_index", r->snmp_dev_index);
+ ndr_print_uint32(ndr, "port_monitor_mib_index", r->port_monitor_mib_index);
+ ndr->depth--;
+}
+
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_MonitorUi(struct ndr_push *ndr, int ndr_flags, const struct spoolss_MonitorUi *r)
{
if (ndr_flags & NDR_SCALARS) {
@@ -14598,7 +14693,7 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_OpenPrinter(struct ndr_push *ndr, in
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.datatype, ndr_charset_length(r->in.datatype, CH_UTF16), sizeof(uint16_t), CH_UTF16));
}
NDR_CHECK(ndr_push_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.devmode_ctr));
- NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.access_mask));
+ NDR_CHECK(ndr_push_spoolss_AccessRights(ndr, NDR_SCALARS, r->in.access_mask));
}
if (flags & NDR_OUT) {
if (r->out.handle == NULL) {
@@ -14657,7 +14752,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_spoolss_OpenPrinter(struct ndr_pull *ndr, in
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_datatype_0, 0);
}
NDR_CHECK(ndr_pull_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.devmode_ctr));
- NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.access_mask));
+ NDR_CHECK(ndr_pull_spoolss_AccessRights(ndr, NDR_SCALARS, &r->in.access_mask));
NDR_PULL_ALLOC(ndr, r->out.handle);
ZERO_STRUCTP(r->out.handle);
}
@@ -14697,7 +14792,7 @@ _PUBLIC_ void ndr_print_spoolss_OpenPrinter(struct ndr_print *ndr, const char *n
}
ndr->depth--;
ndr_print_spoolss_DevmodeContainer(ndr, "devmode_ctr", &r->in.devmode_ctr);
- ndr_print_uint32(ndr, "access_mask", r->in.access_mask);
+ ndr_print_spoolss_AccessRights(ndr, "access_mask", r->in.access_mask);
ndr->depth--;
}
if (flags & NDR_OUT) {
@@ -20666,7 +20761,7 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_OpenPrinterEx(struct ndr_push *ndr,
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.datatype, ndr_charset_length(r->in.datatype, CH_UTF16), sizeof(uint16_t), CH_UTF16));
}
NDR_CHECK(ndr_push_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.devmode_ctr));
- NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.access_mask));
+ NDR_CHECK(ndr_push_spoolss_AccessRights(ndr, NDR_SCALARS, r->in.access_mask));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.userlevel, r->in.level));
NDR_CHECK(ndr_push_spoolss_UserLevel(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.userlevel));
@@ -20728,7 +20823,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_spoolss_OpenPrinterEx(struct ndr_pull *ndr,
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_datatype_0, 0);
}
NDR_CHECK(ndr_pull_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.devmode_ctr));
- NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.access_mask));
+ NDR_CHECK(ndr_pull_spoolss_AccessRights(ndr, NDR_SCALARS, &r->in.access_mask));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.userlevel, r->in.level));
NDR_CHECK(ndr_pull_spoolss_UserLevel(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.userlevel));
@@ -20771,7 +20866,7 @@ _PUBLIC_ void ndr_print_spoolss_OpenPrinterEx(struct ndr_print *ndr, const char
}
ndr->depth--;
ndr_print_spoolss_DevmodeContainer(ndr, "devmode_ctr", &r->in.devmode_ctr);
- ndr_print_uint32(ndr, "access_mask", r->in.access_mask);
+ ndr_print_spoolss_AccessRights(ndr, "access_mask", r->in.access_mask);
ndr_print_uint32(ndr, "level", r->in.level);
ndr_print_set_switch_value(ndr, &r->in.userlevel, r->in.level);
ndr_print_spoolss_UserLevel(ndr, "userlevel", &r->in.userlevel);
diff --git a/librpc/gen_ndr/ndr_spoolss.h b/librpc/gen_ndr/ndr_spoolss.h
index 4369a3d..8b0bda5 100644
--- a/librpc/gen_ndr/ndr_spoolss.h
+++ b/librpc/gen_ndr/ndr_spoolss.h
@@ -337,6 +337,7 @@ void ndr_print_spoolss_UserLevel2(struct ndr_print *ndr, const char *name, const
void ndr_print_spoolss_UserLevel3(struct ndr_print *ndr, const char *name, const struct spoolss_UserLevel3 *r);
void ndr_print_spoolss_UserLevel(struct ndr_print *ndr, const char *name, const union spoolss_UserLevel *r);
void ndr_print_spoolss_UserLevelCtr(struct ndr_print *ndr, const char *name, const struct spoolss_UserLevelCtr *r);
+void ndr_print_spoolss_AccessRights(struct ndr_print *ndr, const char *name, uint32_t r);
enum ndr_err_code ndr_push_spoolss_DeleteDriverFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r);
enum ndr_err_code ndr_pull_spoolss_DeleteDriverFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r);
void ndr_print_spoolss_DeleteDriverFlags(struct ndr_print *ndr, const char *name, uint32_t r);
@@ -344,6 +345,9 @@ void ndr_print_spoolss_PortProtocol(struct ndr_print *ndr, const char *name, enu
enum ndr_err_code ndr_push_spoolss_PortData1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PortData1 *r);
enum ndr_err_code ndr_pull_spoolss_PortData1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PortData1 *r);
void ndr_print_spoolss_PortData1(struct ndr_print *ndr, const char *name, const struct spoolss_PortData1 *r);
+enum ndr_err_code ndr_push_spoolss_PortData2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PortData2 *r);
+enum ndr_err_code ndr_pull_spoolss_PortData2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PortData2 *r);
+void ndr_print_spoolss_PortData2(struct ndr_print *ndr, const char *name, const struct spoolss_PortData2 *r);
enum ndr_err_code ndr_push_spoolss_MonitorUi(struct ndr_push *ndr, int ndr_flags, const struct spoolss_MonitorUi *r);
enum ndr_err_code ndr_pull_spoolss_MonitorUi(struct ndr_pull *ndr, int ndr_flags, struct spoolss_MonitorUi *r);
void ndr_print_spoolss_MonitorUi(struct ndr_print *ndr, const char *name, const struct spoolss_MonitorUi *r);
diff --git a/librpc/gen_ndr/spoolss.h b/librpc/gen_ndr/spoolss.h
index 8727d73..2c9aa21 100644
--- a/librpc/gen_ndr/spoolss.h
+++ b/librpc/gen_ndr/spoolss.h
@@ -1208,6 +1208,23 @@ struct spoolss_PortData1 {
uint32_t snmp_dev_index;
}/* [public] */;
+struct spoolss_PortData2 {
+ const char *portname;/* [charset(UTF16)] */
+ uint32_t version;/* [value(0x00000002)] */
+ enum spoolss_PortProtocol protocol;
+ uint32_t size;/* [value(sizeof(r))] */
+ uint32_t reserved;
+ const char *hostaddress;/* [charset(UTF16)] */
+ const char *snmpcommunity;/* [charset(UTF16)] */
+ uint32_t dblspool;
+ const char *queue;/* [charset(UTF16)] */
+ const char *device_type;/* [charset(UTF16)] */
+ uint32_t port_number;
+ uint32_t snmp_enabled;
+ uint32_t snmp_dev_index;
+ uint32_t port_monitor_mib_index;
+}/* [public] */;
+
struct spoolss_MonitorUi {
const char * dll_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */
}/* [public] */;
diff --git a/librpc/idl/spoolss.idl b/librpc/idl/spoolss.idl
index 56796a1..534b0b4 100644
--- a/librpc/idl/spoolss.idl
+++ b/librpc/idl/spoolss.idl
@@ -372,7 +372,7 @@ import "misc.idl", "security.idl", "winreg.idl";
[in,unique] [string,charset(UTF16)] uint16 *printername,
[in,unique] [string,charset(UTF16)] uint16 *datatype,
[in] spoolss_DevmodeContainer devmode_ctr,
- [in] uint32 access_mask,
+ [in] spoolss_AccessRights access_mask,
[out,ref] policy_handle *handle
);
@@ -1821,7 +1821,7 @@ import "misc.idl", "security.idl", "winreg.idl";
[in,unique] [string,charset(UTF16)] uint16 *printername,
[in,unique] [string,charset(UTF16)] uint16 *datatype,
[in] spoolss_DevmodeContainer devmode_ctr,
- [in] uint32 access_mask,
+ [in] spoolss_AccessRights access_mask,
[in] uint32 level,
[in,switch_is(level)] spoolss_UserLevel userlevel,
[out,ref] policy_handle *handle
@@ -2001,6 +2001,23 @@ import "misc.idl", "security.idl", "winreg.idl";
} spoolss_PortData1;
typedef [public] struct {
+ [charset(UTF16)] uint16 portname[64];
+ [value(0x00000002)] uint32 version;
+ spoolss_PortProtocol protocol;
+ [value(sizeof(r))] uint32 size;
+ uint32 reserved;
+ [charset(UTF16)] uint16 hostaddress[128];
+ [charset(UTF16)] uint16 snmpcommunity[33];
+ uint32 dblspool;
+ [charset(UTF16)] uint16 queue[33];
+ [charset(UTF16)] uint16 device_type[257];
+ uint32 port_number;
+ boolean32 snmp_enabled;
+ uint32 snmp_dev_index;
+ uint32 port_monitor_mib_index;
+ } spoolss_PortData2;
+
+ typedef [public] struct {
nstring dll_name;
} spoolss_MonitorUi;
--
Samba Shared Repository
More information about the samba-cvs
mailing list