From cb7b3b5dfe2c240cdf2c0472f05cdd77b49a184b Mon Sep 17 00:00:00 2001 From: =?utf8?q?G=C3=BCnther=20Deschner?= Date: Tue, 20 May 2008 11:22:43 +0200 Subject: [PATCH] Revert "Remove unused marshalling for SVCCTL_ENUM_DEPENDENT_SERVICES." This reverts commit 5838d81346a51ef1e996bab938533ae2097f7e47. --- source/include/rpc_svcctl.h | 16 ++++++++++++ source/rpc_parse/parse_svcctl.c | 56 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 72 insertions(+) diff --git a/source/include/rpc_svcctl.h b/source/include/rpc_svcctl.h index aa1d1662c83..5a87e350ba8 100644 --- a/source/include/rpc_svcctl.h +++ b/source/include/rpc_svcctl.h @@ -216,6 +216,22 @@ typedef struct { typedef struct { POLICY_HND handle; + uint32 state; + uint32 buffer_size; +} SVCCTL_Q_ENUM_DEPENDENT_SERVICES; + +typedef struct { + RPC_BUFFER buffer; + uint32 needed; + uint32 returned; + WERROR status; +} SVCCTL_R_ENUM_DEPENDENT_SERVICES; + + +/**************************/ + +typedef struct { + POLICY_HND handle; uint32 buffer_size; } SVCCTL_Q_QUERY_SERVICE_CONFIG; diff --git a/source/rpc_parse/parse_svcctl.c b/source/rpc_parse/parse_svcctl.c index c5d93864ba6..62c1e219276 100644 --- a/source/rpc_parse/parse_svcctl.c +++ b/source/rpc_parse/parse_svcctl.c @@ -262,6 +262,62 @@ bool svcctl_io_r_enum_services_status(const char *desc, SVCCTL_R_ENUM_SERVICES_S /******************************************************************* ********************************************************************/ +bool svcctl_io_q_enum_dependent_services(const char *desc, SVCCTL_Q_ENUM_DEPENDENT_SERVICES *q_u, prs_struct *ps, int depth) +{ + if (q_u == NULL) + return False; + + prs_debug(ps, depth, desc, "svcctl_io_q_enum_dependent_services"); + depth++; + + if(!prs_align(ps)) + return False; + + if(!smb_io_pol_hnd("service_pol", &q_u->handle, ps, depth)) + return False; + + if(!prs_uint32("state", ps, depth, &q_u->state)) + return False; + if(!prs_uint32("buffer_size", ps, depth, &q_u->buffer_size)) + return False; + + return True; +} + +/******************************************************************* +********************************************************************/ + +bool svcctl_io_r_enum_dependent_services(const char *desc, SVCCTL_R_ENUM_DEPENDENT_SERVICES *r_u, prs_struct *ps, int depth) +{ + if (r_u == NULL) + return False; + + prs_debug(ps, depth, desc, "svcctl_io_r_enum_dependent_services"); + depth++; + + if(!prs_align(ps)) + return False; + + if (!prs_rpcbuffer("", ps, depth, &r_u->buffer)) + return False; + + if(!prs_align(ps)) + return False; + + if(!prs_uint32("needed", ps, depth, &r_u->needed)) + return False; + if(!prs_uint32("returned", ps, depth, &r_u->returned)) + return False; + + if(!prs_werror("status", ps, depth, &r_u->status)) + return False; + + return True; +} + +/******************************************************************* +********************************************************************/ + bool svcctl_io_q_query_service_config(const char *desc, SVCCTL_Q_QUERY_SERVICE_CONFIG *q_u, prs_struct *ps, int depth) { if (q_u == NULL) -- 2.11.4.GIT