diff options
-rw-r--r-- | source3/librpc/gen_ndr/libnetapi.h | 21 | ||||
-rw-r--r-- | source3/librpc/gen_ndr/ndr_libnetapi.c | 55 | ||||
-rw-r--r-- | source3/librpc/gen_ndr/ndr_libnetapi.h | 7 |
3 files changed, 82 insertions, 1 deletions
diff --git a/source3/librpc/gen_ndr/libnetapi.h b/source3/librpc/gen_ndr/libnetapi.h index dda4fadd5f..08b45456f1 100644 --- a/source3/librpc/gen_ndr/libnetapi.h +++ b/source3/librpc/gen_ndr/libnetapi.h @@ -6,6 +6,7 @@ #ifndef _HEADER_libnetapi #define _HEADER_libnetapi +#define ERROR_MORE_DATA ( 234L ) enum NET_API_STATUS #ifndef USE_UINT_ENUMS { @@ -209,4 +210,24 @@ struct NetUserDel { }; + +struct NetUserEnum { + struct { + const char * server_name;/* [unique] */ + uint32_t level; + uint32_t filter; + uint32_t prefmaxlen; + uint32_t *resume_handle;/* [ref] */ + } in; + + struct { + uint8_t **buffer;/* [ref] */ + uint32_t *entries_read;/* [ref] */ + uint32_t *total_entries;/* [ref] */ + uint32_t *resume_handle;/* [ref] */ + enum NET_API_STATUS result; + } out; + +}; + #endif /* _HEADER_libnetapi */ diff --git a/source3/librpc/gen_ndr/ndr_libnetapi.c b/source3/librpc/gen_ndr/ndr_libnetapi.c index 54b3d3e925..cd8df4d641 100644 --- a/source3/librpc/gen_ndr/ndr_libnetapi.c +++ b/source3/librpc/gen_ndr/ndr_libnetapi.c @@ -630,3 +630,58 @@ _PUBLIC_ void ndr_print_NetUserDel(struct ndr_print *ndr, const char *name, int ndr->depth--; } +_PUBLIC_ void ndr_print_NetUserEnum(struct ndr_print *ndr, const char *name, int flags, const struct NetUserEnum *r) +{ + ndr_print_struct(ndr, name, "NetUserEnum"); + ndr->depth++; + if (flags & NDR_SET_VALUES) { + ndr->flags |= LIBNDR_PRINT_SET_VALUES; + } + if (flags & NDR_IN) { + ndr_print_struct(ndr, "in", "NetUserEnum"); + ndr->depth++; + ndr_print_ptr(ndr, "server_name", r->in.server_name); + ndr->depth++; + if (r->in.server_name) { + ndr_print_string(ndr, "server_name", r->in.server_name); + } + ndr->depth--; + ndr_print_uint32(ndr, "level", r->in.level); + ndr_print_uint32(ndr, "filter", r->in.filter); + ndr_print_uint32(ndr, "prefmaxlen", r->in.prefmaxlen); + ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle); + ndr->depth++; + ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle); + ndr->depth--; + ndr->depth--; + } + if (flags & NDR_OUT) { + ndr_print_struct(ndr, "out", "NetUserEnum"); + ndr->depth++; + ndr_print_ptr(ndr, "buffer", r->out.buffer); + ndr->depth++; + ndr_print_ptr(ndr, "buffer", *r->out.buffer); + ndr->depth++; + if (*r->out.buffer) { + ndr_print_uint8(ndr, "buffer", **r->out.buffer); + } + ndr->depth--; + ndr->depth--; + ndr_print_ptr(ndr, "entries_read", r->out.entries_read); + ndr->depth++; + ndr_print_uint32(ndr, "entries_read", *r->out.entries_read); + ndr->depth--; + ndr_print_ptr(ndr, "total_entries", r->out.total_entries); + ndr->depth++; + ndr_print_uint32(ndr, "total_entries", *r->out.total_entries); + ndr->depth--; + ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle); + ndr->depth++; + ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle); + ndr->depth--; + ndr_print_NET_API_STATUS(ndr, "result", r->out.result); + ndr->depth--; + } + ndr->depth--; +} + diff --git a/source3/librpc/gen_ndr/ndr_libnetapi.h b/source3/librpc/gen_ndr/ndr_libnetapi.h index 879e2d6faa..32ad926699 100644 --- a/source3/librpc/gen_ndr/ndr_libnetapi.h +++ b/source3/librpc/gen_ndr/ndr_libnetapi.h @@ -28,7 +28,9 @@ #define NDR_NETUSERDEL (0x0a) -#define NDR_LIBNETAPI_CALL_COUNT (11) +#define NDR_NETUSERENUM (0x0b) + +#define NDR_LIBNETAPI_CALL_COUNT (12) enum ndr_err_code ndr_push_NET_API_STATUS(struct ndr_push *ndr, int ndr_flags, enum NET_API_STATUS r); enum ndr_err_code ndr_pull_NET_API_STATUS(struct ndr_pull *ndr, int ndr_flags, enum NET_API_STATUS *r); void ndr_print_NET_API_STATUS(struct ndr_print *ndr, const char *name, enum NET_API_STATUS r); @@ -74,4 +76,7 @@ void ndr_print_NetUserAdd(struct ndr_print *ndr, const char *name, int flags, co enum ndr_err_code ndr_push_NetUserDel(struct ndr_push *ndr, int flags, const struct NetUserDel *r); enum ndr_err_code ndr_pull_NetUserDel(struct ndr_pull *ndr, int flags, struct NetUserDel *r); void ndr_print_NetUserDel(struct ndr_print *ndr, const char *name, int flags, const struct NetUserDel *r); +enum ndr_err_code ndr_push_NetUserEnum(struct ndr_push *ndr, int flags, const struct NetUserEnum *r); +enum ndr_err_code ndr_pull_NetUserEnum(struct ndr_pull *ndr, int flags, struct NetUserEnum *r); +void ndr_print_NetUserEnum(struct ndr_print *ndr, const char *name, int flags, const struct NetUserEnum *r); #endif /* _HEADER_NDR_libnetapi */ |