summaryrefslogtreecommitdiff
path: root/source4/librpc/ndr/libndr.h
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2003-11-16 11:36:59 +0000
committerAndrew Tridgell <tridge@samba.org>2003-11-16 11:36:59 +0000
commitea266c0625e04a2dc10d25c2fee7b685965fcd3e (patch)
tree3db57fa36d79ab2df9adf6d7faa37f7d644b83b7 /source4/librpc/ndr/libndr.h
parent0c5759a4b2615b9c57ee7de04275ced1fc7d19cb (diff)
downloadsamba-ea266c0625e04a2dc10d25c2fee7b685965fcd3e.tar.gz
samba-ea266c0625e04a2dc10d25c2fee7b685965fcd3e.tar.bz2
samba-ea266c0625e04a2dc10d25c2fee7b685965fcd3e.zip
added support for level1 of EnumPrinters in spoolss. This uses a
number of "magic" add-ons to IDL to make it less painful, hopefully this will make IDL generation useful for horrible systems like spoolss (This used to be commit e18dba7d5a957ef82e8f91733a0bf95d579dcd7a)
Diffstat (limited to 'source4/librpc/ndr/libndr.h')
-rw-r--r--source4/librpc/ndr/libndr.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/source4/librpc/ndr/libndr.h b/source4/librpc/ndr/libndr.h
index 8347aa8f28..5e53704255 100644
--- a/source4/librpc/ndr/libndr.h
+++ b/source4/librpc/ndr/libndr.h
@@ -52,10 +52,14 @@ struct ndr_push {
uint32 alloc_size;
uint32 offset;
TALLOC_CTX *mem_ctx;
+
+ /* this list is used by the relstr code to find the offsets */
+ struct ndr_push_save *relstr_list;
};
struct ndr_push_save {
uint32 offset;
+ struct ndr_push_save *next;
};
@@ -81,6 +85,8 @@ enum ndr_err_code {
NDR_ERR_ARRAY_SIZE,
NDR_ERR_BAD_SWITCH,
NDR_ERR_OFFSET,
+ NDR_ERR_RELSTR,
+ NDR_ERR_CHARCNV,
NDR_ERR_LENGTH
};
@@ -145,6 +151,8 @@ typedef NTSTATUS (*ndr_pull_fn_t)(struct ndr_pull *, void *);
typedef NTSTATUS (*ndr_push_flags_fn_t)(struct ndr_push *, int ndr_flags, void *);
typedef NTSTATUS (*ndr_pull_flags_fn_t)(struct ndr_pull *, int ndr_flags, void *);
+typedef NTSTATUS (*ndr_push_union_fn_t)(struct ndr_push *, int ndr_flags, uint16, void *);
+typedef NTSTATUS (*ndr_pull_union_fn_t)(struct ndr_pull *, int ndr_flags, uint16 *, void *);
typedef void (*ndr_print_fn_t)(struct ndr_print *, const char *, void *);
typedef void (*ndr_print_union_fn_t)(struct ndr_print *, const char *, uint16, void *);
@@ -155,5 +163,6 @@ typedef void (*ndr_print_union_fn_t)(struct ndr_print *, const char *, uint16, v
#include "librpc/ndr/ndr_lsa.h"
#include "librpc/ndr/ndr_dfs.h"
#include "librpc/ndr/ndr_spoolss.h"
+#include "librpc/ndr/ndr_spoolss_buf.h"
#include "librpc/ndr/ndr_samr.h"