r24558: merge from SAMBA_4_0:
[sfrench/samba-autobuild/.git] / source3 / librpc / gen_ndr / ndr_srvsvc.c
index 8af4c483c89996bc1138c64ad78d294b99b465e7..d362f864a0af39c522b2dafe0ade23d762844b63 100644 (file)
@@ -340,9 +340,8 @@ _PUBLIC_ void ndr_print_srvsvc_NetCharDevCtr1(struct ndr_print *ndr, const char
 
 NTSTATUS ndr_push_srvsvc_NetCharDevInfo(struct ndr_push *ndr, int ndr_flags, const union srvsvc_NetCharDevInfo *r)
 {
-       int level;
-       level = ndr_push_get_switch_value(ndr, r);
        if (ndr_flags & NDR_SCALARS) {
+               int level = ndr_push_get_switch_value(ndr, r);
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
                switch (level) {
                        case 0:
@@ -359,6 +358,7 @@ NTSTATUS ndr_push_srvsvc_NetCharDevInfo(struct ndr_push *ndr, int ndr_flags, con
                }
        }
        if (ndr_flags & NDR_BUFFERS) {
+               int level = ndr_push_get_switch_value(ndr, r);
                switch (level) {
                        case 0:
                                if (r->info0) {
@@ -390,7 +390,7 @@ NTSTATUS ndr_pull_srvsvc_NetCharDevInfo(struct ndr_pull *ndr, int ndr_flags, uni
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
                if (_level != level) {
-                       return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for srvsvc_NetCharDevInfo", _level);
+                       return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
                }
                switch (level) {
                        case 0: {
@@ -478,9 +478,8 @@ _PUBLIC_ void ndr_print_srvsvc_NetCharDevInfo(struct ndr_print *ndr, const char
 
 NTSTATUS ndr_push_srvsvc_NetCharDevCtr(struct ndr_push *ndr, int ndr_flags, const union srvsvc_NetCharDevCtr *r)
 {
-       int level;
-       level = ndr_push_get_switch_value(ndr, r);
        if (ndr_flags & NDR_SCALARS) {
+               int level = ndr_push_get_switch_value(ndr, r);
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
                switch (level) {
                        case 0:
@@ -497,6 +496,7 @@ NTSTATUS ndr_push_srvsvc_NetCharDevCtr(struct ndr_push *ndr, int ndr_flags, cons
                }
        }
        if (ndr_flags & NDR_BUFFERS) {
+               int level = ndr_push_get_switch_value(ndr, r);
                switch (level) {
                        case 0:
                                if (r->ctr0) {
@@ -528,7 +528,7 @@ NTSTATUS ndr_pull_srvsvc_NetCharDevCtr(struct ndr_pull *ndr, int ndr_flags, unio
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
                if (_level != level) {
-                       return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for srvsvc_NetCharDevCtr", _level);
+                       return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
                }
                switch (level) {
                        case 0: {
@@ -952,9 +952,8 @@ _PUBLIC_ void ndr_print_srvsvc_NetCharDevQCtr1(struct ndr_print *ndr, const char
 
 NTSTATUS ndr_push_srvsvc_NetCharDevQInfo(struct ndr_push *ndr, int ndr_flags, const union srvsvc_NetCharDevQInfo *r)
 {
-       int level;
-       level = ndr_push_get_switch_value(ndr, r);
        if (ndr_flags & NDR_SCALARS) {
+               int level = ndr_push_get_switch_value(ndr, r);
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
                switch (level) {
                        case 0:
@@ -971,6 +970,7 @@ NTSTATUS ndr_push_srvsvc_NetCharDevQInfo(struct ndr_push *ndr, int ndr_flags, co
                }
        }
        if (ndr_flags & NDR_BUFFERS) {
+               int level = ndr_push_get_switch_value(ndr, r);
                switch (level) {
                        case 0:
                                if (r->info0) {
@@ -1002,7 +1002,7 @@ NTSTATUS ndr_pull_srvsvc_NetCharDevQInfo(struct ndr_pull *ndr, int ndr_flags, un
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
                if (_level != level) {
-                       return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for srvsvc_NetCharDevQInfo", _level);
+                       return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
                }
                switch (level) {
                        case 0: {
@@ -1090,9 +1090,8 @@ _PUBLIC_ void ndr_print_srvsvc_NetCharDevQInfo(struct ndr_print *ndr, const char
 
 NTSTATUS ndr_push_srvsvc_NetCharDevQCtr(struct ndr_push *ndr, int ndr_flags, const union srvsvc_NetCharDevQCtr *r)
 {
-       int level;
-       level = ndr_push_get_switch_value(ndr, r);
        if (ndr_flags & NDR_SCALARS) {
+               int level = ndr_push_get_switch_value(ndr, r);
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
                switch (level) {
                        case 0:
@@ -1109,6 +1108,7 @@ NTSTATUS ndr_push_srvsvc_NetCharDevQCtr(struct ndr_push *ndr, int ndr_flags, con
                }
        }
        if (ndr_flags & NDR_BUFFERS) {
+               int level = ndr_push_get_switch_value(ndr, r);
                switch (level) {
                        case 0:
                                if (r->ctr0) {
@@ -1140,7 +1140,7 @@ NTSTATUS ndr_pull_srvsvc_NetCharDevQCtr(struct ndr_pull *ndr, int ndr_flags, uni
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
                if (_level != level) {
-                       return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for srvsvc_NetCharDevQCtr", _level);
+                       return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
                }
                switch (level) {
                        case 0: {
@@ -1534,9 +1534,8 @@ _PUBLIC_ void ndr_print_srvsvc_NetConnCtr1(struct ndr_print *ndr, const char *na
 
 NTSTATUS ndr_push_srvsvc_NetConnCtr(struct ndr_push *ndr, int ndr_flags, const union srvsvc_NetConnCtr *r)
 {
-       int level;
-       level = ndr_push_get_switch_value(ndr, r);
        if (ndr_flags & NDR_SCALARS) {
+               int level = ndr_push_get_switch_value(ndr, r);
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
                switch (level) {
                        case 0:
@@ -1553,6 +1552,7 @@ NTSTATUS ndr_push_srvsvc_NetConnCtr(struct ndr_push *ndr, int ndr_flags, const u
                }
        }
        if (ndr_flags & NDR_BUFFERS) {
+               int level = ndr_push_get_switch_value(ndr, r);
                switch (level) {
                        case 0:
                                if (r->ctr0) {
@@ -1584,7 +1584,7 @@ NTSTATUS ndr_pull_srvsvc_NetConnCtr(struct ndr_pull *ndr, int ndr_flags, union s
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
                if (_level != level) {
-                       return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for srvsvc_NetConnCtr", _level);
+                       return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
                }
                switch (level) {
                        case 0: {
@@ -1972,9 +1972,8 @@ _PUBLIC_ void ndr_print_srvsvc_NetFileCtr3(struct ndr_print *ndr, const char *na
 
 NTSTATUS ndr_push_srvsvc_NetFileInfo(struct ndr_push *ndr, int ndr_flags, const union srvsvc_NetFileInfo *r)
 {
-       int level;
-       level = ndr_push_get_switch_value(ndr, r);
        if (ndr_flags & NDR_SCALARS) {
+               int level = ndr_push_get_switch_value(ndr, r);
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
                switch (level) {
                        case 2:
@@ -1991,6 +1990,7 @@ NTSTATUS ndr_push_srvsvc_NetFileInfo(struct ndr_push *ndr, int ndr_flags, const
                }
        }
        if (ndr_flags & NDR_BUFFERS) {
+               int level = ndr_push_get_switch_value(ndr, r);
                switch (level) {
                        case 2:
                                if (r->info2) {
@@ -2022,7 +2022,7 @@ NTSTATUS ndr_pull_srvsvc_NetFileInfo(struct ndr_pull *ndr, int ndr_flags, union
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
                if (_level != level) {
-                       return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for srvsvc_NetFileInfo", _level);
+                       return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
                }
                switch (level) {
                        case 2: {
@@ -2110,9 +2110,8 @@ _PUBLIC_ void ndr_print_srvsvc_NetFileInfo(struct ndr_print *ndr, const char *na
 
 NTSTATUS ndr_push_srvsvc_NetFileCtr(struct ndr_push *ndr, int ndr_flags, const union srvsvc_NetFileCtr *r)
 {
-       int level;
-       level = ndr_push_get_switch_value(ndr, r);
        if (ndr_flags & NDR_SCALARS) {
+               int level = ndr_push_get_switch_value(ndr, r);
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
                switch (level) {
                        case 2:
@@ -2129,6 +2128,7 @@ NTSTATUS ndr_push_srvsvc_NetFileCtr(struct ndr_push *ndr, int ndr_flags, const u
                }
        }
        if (ndr_flags & NDR_BUFFERS) {
+               int level = ndr_push_get_switch_value(ndr, r);
                switch (level) {
                        case 2:
                                if (r->ctr2) {
@@ -2160,7 +2160,7 @@ NTSTATUS ndr_pull_srvsvc_NetFileCtr(struct ndr_pull *ndr, int ndr_flags, union s
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
                if (_level != level) {
-                       return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for srvsvc_NetFileCtr", _level);
+                       return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
                }
                switch (level) {
                        case 2: {
@@ -3256,9 +3256,8 @@ _PUBLIC_ void ndr_print_srvsvc_NetSessCtr502(struct ndr_print *ndr, const char *
 
 NTSTATUS ndr_push_srvsvc_NetSessCtr(struct ndr_push *ndr, int ndr_flags, const union srvsvc_NetSessCtr *r)
 {
-       int level;
-       level = ndr_push_get_switch_value(ndr, r);
        if (ndr_flags & NDR_SCALARS) {
+               int level = ndr_push_get_switch_value(ndr, r);
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
                switch (level) {
                        case 0:
@@ -3287,6 +3286,7 @@ NTSTATUS ndr_push_srvsvc_NetSessCtr(struct ndr_push *ndr, int ndr_flags, const u
                }
        }
        if (ndr_flags & NDR_BUFFERS) {
+               int level = ndr_push_get_switch_value(ndr, r);
                switch (level) {
                        case 0:
                                if (r->ctr0) {
@@ -3339,7 +3339,7 @@ NTSTATUS ndr_pull_srvsvc_NetSessCtr(struct ndr_pull *ndr, int ndr_flags, union s
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
                if (_level != level) {
-                       return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for srvsvc_NetSessCtr", _level);
+                       return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
                }
                switch (level) {
                        case 0: {
@@ -5259,9 +5259,8 @@ _PUBLIC_ void ndr_print_srvsvc_NetShareCtr1501(struct ndr_print *ndr, const char
 
 NTSTATUS ndr_push_srvsvc_NetShareInfo(struct ndr_push *ndr, int ndr_flags, const union srvsvc_NetShareInfo *r)
 {
-       int level;
-       level = ndr_push_get_switch_value(ndr, r);
        if (ndr_flags & NDR_SCALARS) {
+               int level = ndr_push_get_switch_value(ndr, r);
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
                switch (level) {
                        case 0:
@@ -5310,6 +5309,7 @@ NTSTATUS ndr_push_srvsvc_NetShareInfo(struct ndr_push *ndr, int ndr_flags, const
                }
        }
        if (ndr_flags & NDR_BUFFERS) {
+               int level = ndr_push_get_switch_value(ndr, r);
                switch (level) {
                        case 0:
                                if (r->info0) {
@@ -5397,7 +5397,7 @@ NTSTATUS ndr_pull_srvsvc_NetShareInfo(struct ndr_pull *ndr, int ndr_flags, union
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
                if (_level != level) {
-                       return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for srvsvc_NetShareInfo", _level);
+                       return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
                }
                switch (level) {
                        case 0: {
@@ -5709,9 +5709,8 @@ _PUBLIC_ void ndr_print_srvsvc_NetShareInfo(struct ndr_print *ndr, const char *n
 
 NTSTATUS ndr_push_srvsvc_NetShareCtr(struct ndr_push *ndr, int ndr_flags, const union srvsvc_NetShareCtr *r)
 {
-       int level;
-       level = ndr_push_get_switch_value(ndr, r);
        if (ndr_flags & NDR_SCALARS) {
+               int level = ndr_push_get_switch_value(ndr, r);
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
                switch (level) {
                        case 0:
@@ -5760,6 +5759,7 @@ NTSTATUS ndr_push_srvsvc_NetShareCtr(struct ndr_push *ndr, int ndr_flags, const
                }
        }
        if (ndr_flags & NDR_BUFFERS) {
+               int level = ndr_push_get_switch_value(ndr, r);
                switch (level) {
                        case 0:
                                if (r->ctr0) {
@@ -5847,7 +5847,7 @@ NTSTATUS ndr_pull_srvsvc_NetShareCtr(struct ndr_pull *ndr, int ndr_flags, union
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
                if (_level != level) {
-                       return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for srvsvc_NetShareCtr", _level);
+                       return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
                }
                switch (level) {
                        case 0: {
@@ -9010,9 +9010,8 @@ _PUBLIC_ void ndr_print_srvsvc_NetSrvInfo1556(struct ndr_print *ndr, const char
 
 NTSTATUS ndr_push_srvsvc_NetSrvInfo(struct ndr_push *ndr, int ndr_flags, const union srvsvc_NetSrvInfo *r)
 {
-       int level;
-       level = ndr_push_get_switch_value(ndr, r);
        if (ndr_flags & NDR_SCALARS) {
+               int level = ndr_push_get_switch_value(ndr, r);
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
                switch (level) {
                        case 100:
@@ -9257,6 +9256,7 @@ NTSTATUS ndr_push_srvsvc_NetSrvInfo(struct ndr_push *ndr, int ndr_flags, const u
                }
        }
        if (ndr_flags & NDR_BUFFERS) {
+               int level = ndr_push_get_switch_value(ndr, r);
                switch (level) {
                        case 100:
                                if (r->info100) {
@@ -9687,7 +9687,7 @@ NTSTATUS ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int ndr_flags, union s
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
                if (_level != level) {
-                       return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for srvsvc_NetSrvInfo", _level);
+                       return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
                }
                switch (level) {
                        case 100: {
@@ -12554,9 +12554,8 @@ _PUBLIC_ void ndr_print_srvsvc_NetTransportCtr3(struct ndr_print *ndr, const cha
 
 NTSTATUS ndr_push_srvsvc_NetTransportCtr(struct ndr_push *ndr, int ndr_flags, const union srvsvc_NetTransportCtr *r)
 {
-       int level;
-       level = ndr_push_get_switch_value(ndr, r);
        if (ndr_flags & NDR_SCALARS) {
+               int level = ndr_push_get_switch_value(ndr, r);
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
                switch (level) {
                        case 0:
@@ -12581,6 +12580,7 @@ NTSTATUS ndr_push_srvsvc_NetTransportCtr(struct ndr_push *ndr, int ndr_flags, co
                }
        }
        if (ndr_flags & NDR_BUFFERS) {
+               int level = ndr_push_get_switch_value(ndr, r);
                switch (level) {
                        case 0:
                                if (r->ctr0) {
@@ -12626,7 +12626,7 @@ NTSTATUS ndr_pull_srvsvc_NetTransportCtr(struct ndr_pull *ndr, int ndr_flags, un
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
                if (_level != level) {
-                       return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for srvsvc_NetTransportCtr", _level);
+                       return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
                }
                switch (level) {
                        case 0: {
@@ -12833,9 +12833,8 @@ _PUBLIC_ void ndr_print_srvsvc_NetRemoteTODInfo(struct ndr_print *ndr, const cha
 
 NTSTATUS ndr_push_srvsvc_NetTransportInfo(struct ndr_push *ndr, int ndr_flags, const union srvsvc_NetTransportInfo *r)
 {
-       int level;
-       level = ndr_push_get_switch_value(ndr, r);
        if (ndr_flags & NDR_SCALARS) {
+               int level = ndr_push_get_switch_value(ndr, r);
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
                switch (level) {
                        case 0:
@@ -12859,6 +12858,7 @@ NTSTATUS ndr_push_srvsvc_NetTransportInfo(struct ndr_push *ndr, int ndr_flags, c
                }
        }
        if (ndr_flags & NDR_BUFFERS) {
+               int level = ndr_push_get_switch_value(ndr, r);
                switch (level) {
                        case 0:
                                NDR_CHECK(ndr_push_srvsvc_NetTransportInfo0(ndr, NDR_BUFFERS, &r->info0));
@@ -12891,7 +12891,7 @@ NTSTATUS ndr_pull_srvsvc_NetTransportInfo(struct ndr_pull *ndr, int ndr_flags, u
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
                if (_level != level) {
-                       return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for srvsvc_NetTransportInfo", _level);
+                       return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
                }
                switch (level) {
                        case 0: {
@@ -12979,7 +12979,6 @@ NTSTATUS ndr_push_srvsvc_NetCharDevEnum(struct ndr_push *ndr, int flags, const s
                if (r->in.level == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.level));
                if (r->in.ctr == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
-               if (r->in.level == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
                NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.ctr, *r->in.level));
                NDR_CHECK(ndr_push_srvsvc_NetCharDevCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.ctr));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_buffer));
@@ -12992,7 +12991,6 @@ NTSTATUS ndr_push_srvsvc_NetCharDevEnum(struct ndr_push *ndr, int flags, const s
                if (r->out.level == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level));
                if (r->out.ctr == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
-               if (r->out.level == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
                NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level));
                NDR_CHECK(ndr_push_srvsvc_NetCharDevCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
                if (r->out.totalentries == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
@@ -13048,7 +13046,6 @@ NTSTATUS ndr_pull_srvsvc_NetCharDevEnum(struct ndr_pull *ndr, int flags, struct
                }
                _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
                NDR_PULL_SET_MEM_CTX(ndr, r->in.ctr, LIBNDR_FLAG_REF_ALLOC);
-               if (r->in.level == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
                NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.ctr, *r->in.level));
                NDR_CHECK(ndr_pull_srvsvc_NetCharDevCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.ctr));
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
@@ -13085,7 +13082,6 @@ NTSTATUS ndr_pull_srvsvc_NetCharDevEnum(struct ndr_pull *ndr, int flags, struct
                }
                _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
                NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
-               if (r->out.level == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
                NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level));
                NDR_CHECK(ndr_pull_srvsvc_NetCharDevCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
@@ -13135,7 +13131,6 @@ _PUBLIC_ void ndr_print_srvsvc_NetCharDevEnum(struct ndr_print *ndr, const char
                ndr->depth--;
                ndr_print_ptr(ndr, "ctr", r->in.ctr);
                ndr->depth++;
-               if (r->in.level == NULL) return;
                ndr_print_set_switch_value(ndr, r->in.ctr, *r->in.level);
                ndr_print_srvsvc_NetCharDevCtr(ndr, "ctr", r->in.ctr);
                ndr->depth--;
@@ -13157,7 +13152,6 @@ _PUBLIC_ void ndr_print_srvsvc_NetCharDevEnum(struct ndr_print *ndr, const char
                ndr->depth--;
                ndr_print_ptr(ndr, "ctr", r->out.ctr);
                ndr->depth++;
-               if (r->out.level == NULL) return;
                ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level);
                ndr_print_srvsvc_NetCharDevCtr(ndr, "ctr", r->out.ctr);
                ndr->depth--;
@@ -13396,7 +13390,6 @@ NTSTATUS ndr_push_srvsvc_NetCharDevQEnum(struct ndr_push *ndr, int flags, const
                if (r->in.level == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.level));
                if (r->in.ctr == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
-               if (r->in.level == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
                NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.ctr, *r->in.level));
                NDR_CHECK(ndr_push_srvsvc_NetCharDevQCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.ctr));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_buffer));
@@ -13409,7 +13402,6 @@ NTSTATUS ndr_push_srvsvc_NetCharDevQEnum(struct ndr_push *ndr, int flags, const
                if (r->out.level == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level));
                if (r->out.ctr == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
-               if (r->out.level == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
                NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level));
                NDR_CHECK(ndr_push_srvsvc_NetCharDevQCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
                if (r->out.totalentries == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
@@ -13485,7 +13477,6 @@ NTSTATUS ndr_pull_srvsvc_NetCharDevQEnum(struct ndr_pull *ndr, int flags, struct
                }
                _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
                NDR_PULL_SET_MEM_CTX(ndr, r->in.ctr, LIBNDR_FLAG_REF_ALLOC);
-               if (r->in.level == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
                NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.ctr, *r->in.level));
                NDR_CHECK(ndr_pull_srvsvc_NetCharDevQCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.ctr));
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
@@ -13522,7 +13513,6 @@ NTSTATUS ndr_pull_srvsvc_NetCharDevQEnum(struct ndr_pull *ndr, int flags, struct
                }
                _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
                NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
-               if (r->out.level == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
                NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level));
                NDR_CHECK(ndr_pull_srvsvc_NetCharDevQCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
@@ -13578,7 +13568,6 @@ _PUBLIC_ void ndr_print_srvsvc_NetCharDevQEnum(struct ndr_print *ndr, const char
                ndr->depth--;
                ndr_print_ptr(ndr, "ctr", r->in.ctr);
                ndr->depth++;
-               if (r->in.level == NULL) return;
                ndr_print_set_switch_value(ndr, r->in.ctr, *r->in.level);
                ndr_print_srvsvc_NetCharDevQCtr(ndr, "ctr", r->in.ctr);
                ndr->depth--;
@@ -13600,7 +13589,6 @@ _PUBLIC_ void ndr_print_srvsvc_NetCharDevQEnum(struct ndr_print *ndr, const char
                ndr->depth--;
                ndr_print_ptr(ndr, "ctr", r->out.ctr);
                ndr->depth++;
-               if (r->out.level == NULL) return;
                ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level);
                ndr_print_srvsvc_NetCharDevQCtr(ndr, "ctr", r->out.ctr);
                ndr->depth--;
@@ -14089,7 +14077,6 @@ NTSTATUS ndr_push_srvsvc_NetConnEnum(struct ndr_push *ndr, int flags, const stru
                if (r->in.level == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.level));
                if (r->in.ctr == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
-               if (r->in.level == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
                NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.ctr, *r->in.level));
                NDR_CHECK(ndr_push_srvsvc_NetConnCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.ctr));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_buffer));
@@ -14102,7 +14089,6 @@ NTSTATUS ndr_push_srvsvc_NetConnEnum(struct ndr_push *ndr, int flags, const stru
                if (r->out.level == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level));
                if (r->out.ctr == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
-               if (r->out.level == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
                NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level));
                NDR_CHECK(ndr_push_srvsvc_NetConnCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
                if (r->out.totalentries == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
@@ -14178,7 +14164,6 @@ NTSTATUS ndr_pull_srvsvc_NetConnEnum(struct ndr_pull *ndr, int flags, struct srv
                }
                _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
                NDR_PULL_SET_MEM_CTX(ndr, r->in.ctr, LIBNDR_FLAG_REF_ALLOC);
-               if (r->in.level == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
                NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.ctr, *r->in.level));
                NDR_CHECK(ndr_pull_srvsvc_NetConnCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.ctr));
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
@@ -14215,7 +14200,6 @@ NTSTATUS ndr_pull_srvsvc_NetConnEnum(struct ndr_pull *ndr, int flags, struct srv
                }
                _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
                NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
-               if (r->out.level == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
                NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level));
                NDR_CHECK(ndr_pull_srvsvc_NetConnCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
@@ -14271,7 +14255,6 @@ _PUBLIC_ void ndr_print_srvsvc_NetConnEnum(struct ndr_print *ndr, const char *na
                ndr->depth--;
                ndr_print_ptr(ndr, "ctr", r->in.ctr);
                ndr->depth++;
-               if (r->in.level == NULL) return;
                ndr_print_set_switch_value(ndr, r->in.ctr, *r->in.level);
                ndr_print_srvsvc_NetConnCtr(ndr, "ctr", r->in.ctr);
                ndr->depth--;
@@ -14293,7 +14276,6 @@ _PUBLIC_ void ndr_print_srvsvc_NetConnEnum(struct ndr_print *ndr, const char *na
                ndr->depth--;
                ndr_print_ptr(ndr, "ctr", r->out.ctr);
                ndr->depth++;
-               if (r->out.level == NULL) return;
                ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level);
                ndr_print_srvsvc_NetConnCtr(ndr, "ctr", r->out.ctr);
                ndr->depth--;
@@ -14340,7 +14322,6 @@ NTSTATUS ndr_push_srvsvc_NetFileEnum(struct ndr_push *ndr, int flags, const stru
                if (r->in.level == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.level));
                if (r->in.ctr == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
-               if (r->in.level == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
                NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.ctr, *r->in.level));
                NDR_CHECK(ndr_push_srvsvc_NetFileCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.ctr));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_buffer));
@@ -14353,7 +14334,6 @@ NTSTATUS ndr_push_srvsvc_NetFileEnum(struct ndr_push *ndr, int flags, const stru
                if (r->out.level == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level));
                if (r->out.ctr == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
-               if (r->out.level == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
                NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level));
                NDR_CHECK(ndr_push_srvsvc_NetFileCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
                if (r->out.totalentries == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
@@ -14449,7 +14429,6 @@ NTSTATUS ndr_pull_srvsvc_NetFileEnum(struct ndr_pull *ndr, int flags, struct srv
                }
                _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
                NDR_PULL_SET_MEM_CTX(ndr, r->in.ctr, LIBNDR_FLAG_REF_ALLOC);
-               if (r->in.level == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
                NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.ctr, *r->in.level));
                NDR_CHECK(ndr_pull_srvsvc_NetFileCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.ctr));
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
@@ -14486,7 +14465,6 @@ NTSTATUS ndr_pull_srvsvc_NetFileEnum(struct ndr_pull *ndr, int flags, struct srv
                }
                _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
                NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
-               if (r->out.level == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
                NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level));
                NDR_CHECK(ndr_pull_srvsvc_NetFileCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
@@ -14548,7 +14526,6 @@ _PUBLIC_ void ndr_print_srvsvc_NetFileEnum(struct ndr_print *ndr, const char *na
                ndr->depth--;
                ndr_print_ptr(ndr, "ctr", r->in.ctr);
                ndr->depth++;
-               if (r->in.level == NULL) return;
                ndr_print_set_switch_value(ndr, r->in.ctr, *r->in.level);
                ndr_print_srvsvc_NetFileCtr(ndr, "ctr", r->in.ctr);
                ndr->depth--;
@@ -14570,7 +14547,6 @@ _PUBLIC_ void ndr_print_srvsvc_NetFileEnum(struct ndr_print *ndr, const char *na
                ndr->depth--;
                ndr_print_ptr(ndr, "ctr", r->out.ctr);
                ndr->depth++;
-               if (r->out.level == NULL) return;
                ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level);
                ndr_print_srvsvc_NetFileCtr(ndr, "ctr", r->out.ctr);
                ndr->depth--;
@@ -14795,7 +14771,6 @@ NTSTATUS ndr_push_srvsvc_NetSessEnum(struct ndr_push *ndr, int flags, const stru
                if (r->in.level == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.level));
                if (r->in.ctr == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
-               if (r->in.level == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
                NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.ctr, *r->in.level));
                NDR_CHECK(ndr_push_srvsvc_NetSessCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.ctr));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_buffer));
@@ -14808,7 +14783,6 @@ NTSTATUS ndr_push_srvsvc_NetSessEnum(struct ndr_push *ndr, int flags, const stru
                if (r->out.level == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level));
                if (r->out.ctr == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
-               if (r->out.level == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
                NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level));
                NDR_CHECK(ndr_push_srvsvc_NetSessCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
                if (r->out.totalentries == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
@@ -14904,7 +14878,6 @@ NTSTATUS ndr_pull_srvsvc_NetSessEnum(struct ndr_pull *ndr, int flags, struct srv
                }
                _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
                NDR_PULL_SET_MEM_CTX(ndr, r->in.ctr, LIBNDR_FLAG_REF_ALLOC);
-               if (r->in.level == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
                NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.ctr, *r->in.level));
                NDR_CHECK(ndr_pull_srvsvc_NetSessCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.ctr));
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
@@ -14941,7 +14914,6 @@ NTSTATUS ndr_pull_srvsvc_NetSessEnum(struct ndr_pull *ndr, int flags, struct srv
                }
                _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
                NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
-               if (r->out.level == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
                NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level));
                NDR_CHECK(ndr_pull_srvsvc_NetSessCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
@@ -15003,7 +14975,6 @@ _PUBLIC_ void ndr_print_srvsvc_NetSessEnum(struct ndr_print *ndr, const char *na
                ndr->depth--;
                ndr_print_ptr(ndr, "ctr", r->in.ctr);
                ndr->depth++;
-               if (r->in.level == NULL) return;
                ndr_print_set_switch_value(ndr, r->in.ctr, *r->in.level);
                ndr_print_srvsvc_NetSessCtr(ndr, "ctr", r->in.ctr);
                ndr->depth--;
@@ -15025,7 +14996,6 @@ _PUBLIC_ void ndr_print_srvsvc_NetSessEnum(struct ndr_print *ndr, const char *na
                ndr->depth--;
                ndr_print_ptr(ndr, "ctr", r->out.ctr);
                ndr->depth++;
-               if (r->out.level == NULL) return;
                ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level);
                ndr_print_srvsvc_NetSessCtr(ndr, "ctr", r->out.ctr);
                ndr->depth--;
@@ -15329,7 +15299,6 @@ NTSTATUS ndr_push_srvsvc_NetShareEnumAll(struct ndr_push *ndr, int flags, const
                if (r->in.level == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.level));
                if (r->in.ctr == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
-               if (r->in.level == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
                NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.ctr, *r->in.level));
                NDR_CHECK(ndr_push_srvsvc_NetShareCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.ctr));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_buffer));
@@ -15342,7 +15311,6 @@ NTSTATUS ndr_push_srvsvc_NetShareEnumAll(struct ndr_push *ndr, int flags, const
                if (r->out.level == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level));
                if (r->out.ctr == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
-               if (r->out.level == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
                NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level));
                NDR_CHECK(ndr_push_srvsvc_NetShareCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
                if (r->out.totalentries == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
@@ -15398,7 +15366,6 @@ NTSTATUS ndr_pull_srvsvc_NetShareEnumAll(struct ndr_pull *ndr, int flags, struct
                }
                _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
                NDR_PULL_SET_MEM_CTX(ndr, r->in.ctr, LIBNDR_FLAG_REF_ALLOC);
-               if (r->in.level == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
                NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.ctr, *r->in.level));
                NDR_CHECK(ndr_pull_srvsvc_NetShareCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.ctr));
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
@@ -15435,7 +15402,6 @@ NTSTATUS ndr_pull_srvsvc_NetShareEnumAll(struct ndr_pull *ndr, int flags, struct
                }
                _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
                NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
-               if (r->out.level == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
                NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level));
                NDR_CHECK(ndr_pull_srvsvc_NetShareCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
@@ -15485,7 +15451,6 @@ _PUBLIC_ void ndr_print_srvsvc_NetShareEnumAll(struct ndr_print *ndr, const char
                ndr->depth--;
                ndr_print_ptr(ndr, "ctr", r->in.ctr);
                ndr->depth++;
-               if (r->in.level == NULL) return;
                ndr_print_set_switch_value(ndr, r->in.ctr, *r->in.level);
                ndr_print_srvsvc_NetShareCtr(ndr, "ctr", r->in.ctr);
                ndr->depth--;
@@ -15507,7 +15472,6 @@ _PUBLIC_ void ndr_print_srvsvc_NetShareEnumAll(struct ndr_print *ndr, const char
                ndr->depth--;
                ndr_print_ptr(ndr, "ctr", r->out.ctr);
                ndr->depth++;
-               if (r->out.level == NULL) return;
                ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level);
                ndr_print_srvsvc_NetShareCtr(ndr, "ctr", r->out.ctr);
                ndr->depth--;
@@ -16485,8 +16449,8 @@ NTSTATUS ndr_push_srvsvc_NetServerStatisticsGet(struct ndr_push *ndr, int flags,
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.options));
        }
        if (flags & NDR_OUT) {
-               if (r->out.stat == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
-               NDR_CHECK(ndr_push_srvsvc_Statistics(ndr, NDR_SCALARS, r->out.stat));
+               if (r->out.stats == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
+               NDR_CHECK(ndr_push_srvsvc_Statistics(ndr, NDR_SCALARS, r->out.stats));
                NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
        }
        return NT_STATUS_OK;
@@ -16498,7 +16462,7 @@ NTSTATUS ndr_pull_srvsvc_NetServerStatisticsGet(struct ndr_pull *ndr, int flags,
        uint32_t _ptr_service;
        TALLOC_CTX *_mem_save_server_unc_0;
        TALLOC_CTX *_mem_save_service_0;
-       TALLOC_CTX *_mem_save_stat_0;
+       TALLOC_CTX *_mem_save_stats_0;
        if (flags & NDR_IN) {
                ZERO_STRUCT(r->out);
 
@@ -16540,17 +16504,17 @@ NTSTATUS ndr_pull_srvsvc_NetServerStatisticsGet(struct ndr_pull *ndr, int flags,
                }
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.options));
-               NDR_PULL_ALLOC(ndr, r->out.stat);
-               ZERO_STRUCTP(r->out.stat);
+               NDR_PULL_ALLOC(ndr, r->out.stats);
+               ZERO_STRUCTP(r->out.stats);
        }
        if (flags & NDR_OUT) {
                if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.stat);
+                       NDR_PULL_ALLOC(ndr, r->out.stats);
                }
-               _mem_save_stat_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.stat, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_srvsvc_Statistics(ndr, NDR_SCALARS, r->out.stat));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_stat_0, LIBNDR_FLAG_REF_ALLOC);
+               _mem_save_stats_0 = NDR_PULL_GET_MEM_CTX(ndr);
+               NDR_PULL_SET_MEM_CTX(ndr, r->out.stats, LIBNDR_FLAG_REF_ALLOC);
+               NDR_CHECK(ndr_pull_srvsvc_Statistics(ndr, NDR_SCALARS, r->out.stats));
+               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_stats_0, LIBNDR_FLAG_REF_ALLOC);
                NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
        }
        return NT_STATUS_OK;
@@ -16585,9 +16549,9 @@ _PUBLIC_ void ndr_print_srvsvc_NetServerStatisticsGet(struct ndr_print *ndr, con
        if (flags & NDR_OUT) {
                ndr_print_struct(ndr, "out", "srvsvc_NetServerStatisticsGet");
                ndr->depth++;
-               ndr_print_ptr(ndr, "stat", r->out.stat);
+               ndr_print_ptr(ndr, "stats", r->out.stats);
                ndr->depth++;
-               ndr_print_srvsvc_Statistics(ndr, "stat", r->out.stat);
+               ndr_print_srvsvc_Statistics(ndr, "stats", r->out.stats);
                ndr->depth--;
                ndr_print_WERROR(ndr, "result", r->out.result);
                ndr->depth--;
@@ -16691,7 +16655,6 @@ NTSTATUS ndr_push_srvsvc_NetTransportEnum(struct ndr_push *ndr, int flags, const
                if (r->in.level == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.level));
                if (r->in.transports == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
-               if (r->in.level == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
                NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.transports, *r->in.level));
                NDR_CHECK(ndr_push_srvsvc_NetTransportCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.transports));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_buffer));
@@ -16704,7 +16667,6 @@ NTSTATUS ndr_push_srvsvc_NetTransportEnum(struct ndr_push *ndr, int flags, const
                if (r->out.level == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level));
                if (r->out.transports == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
-               if (r->out.level == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
                NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.transports, *r->out.level));
                NDR_CHECK(ndr_push_srvsvc_NetTransportCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.transports));
                if (r->out.totalentries == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
@@ -16760,7 +16722,6 @@ NTSTATUS ndr_pull_srvsvc_NetTransportEnum(struct ndr_pull *ndr, int flags, struc
                }
                _mem_save_transports_0 = NDR_PULL_GET_MEM_CTX(ndr);
                NDR_PULL_SET_MEM_CTX(ndr, r->in.transports, LIBNDR_FLAG_REF_ALLOC);
-               if (r->in.level == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
                NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.transports, *r->in.level));
                NDR_CHECK(ndr_pull_srvsvc_NetTransportCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.transports));
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transports_0, LIBNDR_FLAG_REF_ALLOC);
@@ -16797,7 +16758,6 @@ NTSTATUS ndr_pull_srvsvc_NetTransportEnum(struct ndr_pull *ndr, int flags, struc
                }
                _mem_save_transports_0 = NDR_PULL_GET_MEM_CTX(ndr);
                NDR_PULL_SET_MEM_CTX(ndr, r->out.transports, LIBNDR_FLAG_REF_ALLOC);
-               if (r->out.level == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
                NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.transports, *r->out.level));
                NDR_CHECK(ndr_pull_srvsvc_NetTransportCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.transports));
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transports_0, LIBNDR_FLAG_REF_ALLOC);
@@ -16847,7 +16807,6 @@ _PUBLIC_ void ndr_print_srvsvc_NetTransportEnum(struct ndr_print *ndr, const cha
                ndr->depth--;
                ndr_print_ptr(ndr, "transports", r->in.transports);
                ndr->depth++;
-               if (r->in.level == NULL) return;
                ndr_print_set_switch_value(ndr, r->in.transports, *r->in.level);
                ndr_print_srvsvc_NetTransportCtr(ndr, "transports", r->in.transports);
                ndr->depth--;
@@ -16869,7 +16828,6 @@ _PUBLIC_ void ndr_print_srvsvc_NetTransportEnum(struct ndr_print *ndr, const cha
                ndr->depth--;
                ndr_print_ptr(ndr, "transports", r->out.transports);
                ndr->depth++;
-               if (r->out.level == NULL) return;
                ndr_print_set_switch_value(ndr, r->out.transports, *r->out.level);
                ndr_print_srvsvc_NetTransportCtr(ndr, "transports", r->out.transports);
                ndr->depth--;
@@ -17787,7 +17745,6 @@ NTSTATUS ndr_push_srvsvc_NetShareEnum(struct ndr_push *ndr, int flags, const str
                if (r->in.level == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.level));
                if (r->in.ctr == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
-               if (r->in.level == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
                NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.ctr, *r->in.level));
                NDR_CHECK(ndr_push_srvsvc_NetShareCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.ctr));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_buffer));
@@ -17800,7 +17757,6 @@ NTSTATUS ndr_push_srvsvc_NetShareEnum(struct ndr_push *ndr, int flags, const str
                if (r->out.level == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level));
                if (r->out.ctr == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
-               if (r->out.level == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
                NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level));
                NDR_CHECK(ndr_push_srvsvc_NetShareCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
                if (r->out.totalentries == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
@@ -17856,7 +17812,6 @@ NTSTATUS ndr_pull_srvsvc_NetShareEnum(struct ndr_pull *ndr, int flags, struct sr
                }
                _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
                NDR_PULL_SET_MEM_CTX(ndr, r->in.ctr, LIBNDR_FLAG_REF_ALLOC);
-               if (r->in.level == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
                NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.ctr, *r->in.level));
                NDR_CHECK(ndr_pull_srvsvc_NetShareCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.ctr));
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
@@ -17893,7 +17848,6 @@ NTSTATUS ndr_pull_srvsvc_NetShareEnum(struct ndr_pull *ndr, int flags, struct sr
                }
                _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
                NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
-               if (r->out.level == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
                NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level));
                NDR_CHECK(ndr_pull_srvsvc_NetShareCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
@@ -17943,7 +17897,6 @@ _PUBLIC_ void ndr_print_srvsvc_NetShareEnum(struct ndr_print *ndr, const char *n
                ndr->depth--;
                ndr_print_ptr(ndr, "ctr", r->in.ctr);
                ndr->depth++;
-               if (r->in.level == NULL) return;
                ndr_print_set_switch_value(ndr, r->in.ctr, *r->in.level);
                ndr_print_srvsvc_NetShareCtr(ndr, "ctr", r->in.ctr);
                ndr->depth--;
@@ -17965,7 +17918,6 @@ _PUBLIC_ void ndr_print_srvsvc_NetShareEnum(struct ndr_print *ndr, const char *n
                ndr->depth--;
                ndr_print_ptr(ndr, "ctr", r->out.ctr);
                ndr->depth++;
-               if (r->out.level == NULL) return;
                ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level);
                ndr_print_srvsvc_NetShareCtr(ndr, "ctr", r->out.ctr);
                ndr->depth--;
@@ -19145,7 +19097,7 @@ _PUBLIC_ void ndr_print_srvsvc_NETRSERVERTRANSPORTDELEX(struct ndr_print *ndr, c
        ndr->depth--;
 }
 
-const struct dcerpc_interface_call srvsvc_calls[] = {
+const struct ndr_interface_call srvsvc_calls[] = {
        {
                "srvsvc_NetCharDevEnum",
                sizeof(struct srvsvc_NetCharDevEnum),
@@ -19587,7 +19539,7 @@ const char * const srvsvc_endpoint_strings[] = {
        "ncalrpc:", 
 };
 
-const struct dcerpc_endpoint_list srvsvc_endpoints = {
+const struct ndr_interface_string_array srvsvc_endpoints = {
        .count  = 3,
        .names  = srvsvc_endpoint_strings
 };
@@ -19596,13 +19548,13 @@ const char * const srvsvc_authservice_strings[] = {
        "host", 
 };
 
-const struct dcerpc_authservice_list srvsvc_authservices = {
+const struct ndr_interface_string_array srvsvc_authservices = {
        .count  = 3,
        .names  = srvsvc_authservice_strings
 };
 
 
-const struct dcerpc_interface_table dcerpc_table_srvsvc = {
+const struct ndr_interface_table ndr_table_srvsvc = {
        .name           = "srvsvc",
        .syntax_id      = {
                {0x4b324fc8,0x1670,0x01d3,{0x12,0x78},{0x5a,0x47,0xbf,0x6e,0xe1,0x88}},