mirror of
https://github.com/samba-team/samba.git
synced 2024-12-23 17:34:34 +03:00
s3: re-run make samba3-idl.
Guenther
This commit is contained in:
parent
979c82ab43
commit
2a4f1ae1fb
@ -509,8 +509,8 @@ NTSTATUS rpccli_svcctl_ChangeServiceConfigW(struct rpc_pipe_client *cli,
|
||||
TALLOC_CTX *mem_ctx,
|
||||
struct policy_handle *handle /* [in] [ref] */,
|
||||
uint32_t type /* [in] */,
|
||||
uint32_t start /* [in] */,
|
||||
uint32_t error /* [in] */,
|
||||
enum svcctl_StartType start_type /* [in] */,
|
||||
enum svcctl_ErrorControl error_control /* [in] */,
|
||||
const char *binary_path /* [in] [unique,charset(UTF16)] */,
|
||||
const char *load_order_group /* [in] [unique,charset(UTF16)] */,
|
||||
uint32_t *tag_id /* [out] [ref] */,
|
||||
@ -526,8 +526,8 @@ NTSTATUS rpccli_svcctl_ChangeServiceConfigW(struct rpc_pipe_client *cli,
|
||||
/* In parameters */
|
||||
r.in.handle = handle;
|
||||
r.in.type = type;
|
||||
r.in.start = start;
|
||||
r.in.error = error;
|
||||
r.in.start_type = start_type;
|
||||
r.in.error_control = error_control;
|
||||
r.in.binary_path = binary_path;
|
||||
r.in.load_order_group = load_order_group;
|
||||
r.in.dependencies = dependencies;
|
||||
@ -575,8 +575,8 @@ NTSTATUS rpccli_svcctl_CreateServiceW(struct rpc_pipe_client *cli,
|
||||
const char *DisplayName /* [in] [unique,charset(UTF16)] */,
|
||||
uint32_t desired_access /* [in] */,
|
||||
uint32_t type /* [in] */,
|
||||
uint32_t start_type /* [in] */,
|
||||
uint32_t error_control /* [in] */,
|
||||
enum svcctl_StartType start_type /* [in] */,
|
||||
enum svcctl_ErrorControl error_control /* [in] */,
|
||||
const char *binary_path /* [in] [charset(UTF16)] */,
|
||||
const char *LoadOrderGroupKey /* [in] [unique,charset(UTF16)] */,
|
||||
uint32_t *TagId /* [in,out] [unique] */,
|
||||
@ -701,7 +701,7 @@ NTSTATUS rpccli_svcctl_EnumServicesStatusW(struct rpc_pipe_client *cli,
|
||||
TALLOC_CTX *mem_ctx,
|
||||
struct policy_handle *handle /* [in] [ref] */,
|
||||
uint32_t type /* [in] */,
|
||||
uint32_t state /* [in] */,
|
||||
enum svcctl_ServiceState state /* [in] */,
|
||||
uint8_t *service /* [out] [ref,size_is(buf_size)] */,
|
||||
uint32_t buf_size /* [in] [range(0,262144)] */,
|
||||
uint32_t *bytes_needed /* [out] [ref,range(0,262144)] */,
|
||||
@ -1157,8 +1157,8 @@ NTSTATUS rpccli_svcctl_ChangeServiceConfigA(struct rpc_pipe_client *cli,
|
||||
TALLOC_CTX *mem_ctx,
|
||||
struct policy_handle *handle /* [in] [ref] */,
|
||||
uint32_t type /* [in] */,
|
||||
uint32_t start /* [in] */,
|
||||
uint32_t error /* [in] */,
|
||||
enum svcctl_StartType start_type /* [in] */,
|
||||
enum svcctl_ErrorControl error_control /* [in] */,
|
||||
const char *binary_path /* [in] [unique,charset(UTF16)] */,
|
||||
const char *load_order_group /* [in] [unique,charset(UTF16)] */,
|
||||
uint32_t *tag_id /* [out] [ref] */,
|
||||
@ -1174,8 +1174,8 @@ NTSTATUS rpccli_svcctl_ChangeServiceConfigA(struct rpc_pipe_client *cli,
|
||||
/* In parameters */
|
||||
r.in.handle = handle;
|
||||
r.in.type = type;
|
||||
r.in.start = start;
|
||||
r.in.error = error;
|
||||
r.in.start_type = start_type;
|
||||
r.in.error_control = error_control;
|
||||
r.in.binary_path = binary_path;
|
||||
r.in.load_order_group = load_order_group;
|
||||
r.in.dependencies = dependencies;
|
||||
@ -1223,8 +1223,8 @@ NTSTATUS rpccli_svcctl_CreateServiceA(struct rpc_pipe_client *cli,
|
||||
const char *DisplayName /* [in] [unique,charset(UTF16)] */,
|
||||
uint32_t desired_access /* [in] */,
|
||||
uint32_t type /* [in] */,
|
||||
uint32_t start_type /* [in] */,
|
||||
uint32_t error_control /* [in] */,
|
||||
enum svcctl_StartType start_type /* [in] */,
|
||||
enum svcctl_ErrorControl error_control /* [in] */,
|
||||
const char *binary_path /* [in] [unique,charset(UTF16)] */,
|
||||
const char *LoadOrderGroupKey /* [in] [unique,charset(UTF16)] */,
|
||||
uint32_t *TagId /* [out] [unique] */,
|
||||
|
@ -61,8 +61,8 @@ NTSTATUS rpccli_svcctl_ChangeServiceConfigW(struct rpc_pipe_client *cli,
|
||||
TALLOC_CTX *mem_ctx,
|
||||
struct policy_handle *handle /* [in] [ref] */,
|
||||
uint32_t type /* [in] */,
|
||||
uint32_t start /* [in] */,
|
||||
uint32_t error /* [in] */,
|
||||
enum svcctl_StartType start_type /* [in] */,
|
||||
enum svcctl_ErrorControl error_control /* [in] */,
|
||||
const char *binary_path /* [in] [unique,charset(UTF16)] */,
|
||||
const char *load_order_group /* [in] [unique,charset(UTF16)] */,
|
||||
uint32_t *tag_id /* [out] [ref] */,
|
||||
@ -78,8 +78,8 @@ NTSTATUS rpccli_svcctl_CreateServiceW(struct rpc_pipe_client *cli,
|
||||
const char *DisplayName /* [in] [unique,charset(UTF16)] */,
|
||||
uint32_t desired_access /* [in] */,
|
||||
uint32_t type /* [in] */,
|
||||
uint32_t start_type /* [in] */,
|
||||
uint32_t error_control /* [in] */,
|
||||
enum svcctl_StartType start_type /* [in] */,
|
||||
enum svcctl_ErrorControl error_control /* [in] */,
|
||||
const char *binary_path /* [in] [charset(UTF16)] */,
|
||||
const char *LoadOrderGroupKey /* [in] [unique,charset(UTF16)] */,
|
||||
uint32_t *TagId /* [in,out] [unique] */,
|
||||
@ -103,7 +103,7 @@ NTSTATUS rpccli_svcctl_EnumServicesStatusW(struct rpc_pipe_client *cli,
|
||||
TALLOC_CTX *mem_ctx,
|
||||
struct policy_handle *handle /* [in] [ref] */,
|
||||
uint32_t type /* [in] */,
|
||||
uint32_t state /* [in] */,
|
||||
enum svcctl_ServiceState state /* [in] */,
|
||||
uint8_t *service /* [out] [ref,size_is(buf_size)] */,
|
||||
uint32_t buf_size /* [in] [range(0,262144)] */,
|
||||
uint32_t *bytes_needed /* [out] [ref,range(0,262144)] */,
|
||||
@ -169,8 +169,8 @@ NTSTATUS rpccli_svcctl_ChangeServiceConfigA(struct rpc_pipe_client *cli,
|
||||
TALLOC_CTX *mem_ctx,
|
||||
struct policy_handle *handle /* [in] [ref] */,
|
||||
uint32_t type /* [in] */,
|
||||
uint32_t start /* [in] */,
|
||||
uint32_t error /* [in] */,
|
||||
enum svcctl_StartType start_type /* [in] */,
|
||||
enum svcctl_ErrorControl error_control /* [in] */,
|
||||
const char *binary_path /* [in] [unique,charset(UTF16)] */,
|
||||
const char *load_order_group /* [in] [unique,charset(UTF16)] */,
|
||||
uint32_t *tag_id /* [out] [ref] */,
|
||||
@ -186,8 +186,8 @@ NTSTATUS rpccli_svcctl_CreateServiceA(struct rpc_pipe_client *cli,
|
||||
const char *DisplayName /* [in] [unique,charset(UTF16)] */,
|
||||
uint32_t desired_access /* [in] */,
|
||||
uint32_t type /* [in] */,
|
||||
uint32_t start_type /* [in] */,
|
||||
uint32_t error_control /* [in] */,
|
||||
enum svcctl_StartType start_type /* [in] */,
|
||||
enum svcctl_ErrorControl error_control /* [in] */,
|
||||
const char *binary_path /* [in] [unique,charset(UTF16)] */,
|
||||
const char *LoadOrderGroupKey /* [in] [unique,charset(UTF16)] */,
|
||||
uint32_t *TagId /* [out] [unique] */,
|
||||
|
@ -119,6 +119,42 @@ _PUBLIC_ void ndr_print_SERVICE_STATUS(struct ndr_print *ndr, const char *name,
|
||||
ndr->depth--;
|
||||
}
|
||||
|
||||
_PUBLIC_ enum ndr_err_code ndr_push_SERVICE_STATUS_PROCESS(struct ndr_push *ndr, int ndr_flags, const struct SERVICE_STATUS_PROCESS *r)
|
||||
{
|
||||
if (ndr_flags & NDR_SCALARS) {
|
||||
NDR_CHECK(ndr_push_align(ndr, 4));
|
||||
NDR_CHECK(ndr_push_SERVICE_STATUS(ndr, NDR_SCALARS, &r->status));
|
||||
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->process_id));
|
||||
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->service_flags));
|
||||
}
|
||||
if (ndr_flags & NDR_BUFFERS) {
|
||||
}
|
||||
return NDR_ERR_SUCCESS;
|
||||
}
|
||||
|
||||
_PUBLIC_ enum ndr_err_code ndr_pull_SERVICE_STATUS_PROCESS(struct ndr_pull *ndr, int ndr_flags, struct SERVICE_STATUS_PROCESS *r)
|
||||
{
|
||||
if (ndr_flags & NDR_SCALARS) {
|
||||
NDR_CHECK(ndr_pull_align(ndr, 4));
|
||||
NDR_CHECK(ndr_pull_SERVICE_STATUS(ndr, NDR_SCALARS, &r->status));
|
||||
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->process_id));
|
||||
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->service_flags));
|
||||
}
|
||||
if (ndr_flags & NDR_BUFFERS) {
|
||||
}
|
||||
return NDR_ERR_SUCCESS;
|
||||
}
|
||||
|
||||
_PUBLIC_ void ndr_print_SERVICE_STATUS_PROCESS(struct ndr_print *ndr, const char *name, const struct SERVICE_STATUS_PROCESS *r)
|
||||
{
|
||||
ndr_print_struct(ndr, name, "SERVICE_STATUS_PROCESS");
|
||||
ndr->depth++;
|
||||
ndr_print_SERVICE_STATUS(ndr, "status", &r->status);
|
||||
ndr_print_uint32(ndr, "process_id", r->process_id);
|
||||
ndr_print_uint32(ndr, "service_flags", r->service_flags);
|
||||
ndr->depth--;
|
||||
}
|
||||
|
||||
static enum ndr_err_code ndr_push_ENUM_SERVICE_STATUS(struct ndr_push *ndr, int ndr_flags, const struct ENUM_SERVICE_STATUS *r)
|
||||
{
|
||||
if (ndr_flags & NDR_SCALARS) {
|
||||
@ -325,6 +361,87 @@ _PUBLIC_ void ndr_print_SERVICE_CONTROL(struct ndr_print *ndr, const char *name,
|
||||
ndr_print_enum(ndr, name, "ENUM", val, r);
|
||||
}
|
||||
|
||||
static enum ndr_err_code ndr_push_svcctl_ErrorControl(struct ndr_push *ndr, int ndr_flags, enum svcctl_ErrorControl r)
|
||||
{
|
||||
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
|
||||
return NDR_ERR_SUCCESS;
|
||||
}
|
||||
|
||||
static enum ndr_err_code ndr_pull_svcctl_ErrorControl(struct ndr_pull *ndr, int ndr_flags, enum svcctl_ErrorControl *r)
|
||||
{
|
||||
uint32_t v;
|
||||
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
|
||||
*r = v;
|
||||
return NDR_ERR_SUCCESS;
|
||||
}
|
||||
|
||||
_PUBLIC_ void ndr_print_svcctl_ErrorControl(struct ndr_print *ndr, const char *name, enum svcctl_ErrorControl r)
|
||||
{
|
||||
const char *val = NULL;
|
||||
|
||||
switch (r) {
|
||||
case SVCCTL_SVC_ERROR_IGNORE: val = "SVCCTL_SVC_ERROR_IGNORE"; break;
|
||||
case SVCCTL_SVC_ERROR_NORMAL: val = "SVCCTL_SVC_ERROR_NORMAL"; break;
|
||||
case SVCCTL_SVC_ERROR_CRITICAL: val = "SVCCTL_SVC_ERROR_CRITICAL"; break;
|
||||
case SVCCTL_SVC_ERROR_SEVERE: val = "SVCCTL_SVC_ERROR_SEVERE"; break;
|
||||
}
|
||||
ndr_print_enum(ndr, name, "ENUM", val, r);
|
||||
}
|
||||
|
||||
static enum ndr_err_code ndr_push_svcctl_StartType(struct ndr_push *ndr, int ndr_flags, enum svcctl_StartType r)
|
||||
{
|
||||
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
|
||||
return NDR_ERR_SUCCESS;
|
||||
}
|
||||
|
||||
static enum ndr_err_code ndr_pull_svcctl_StartType(struct ndr_pull *ndr, int ndr_flags, enum svcctl_StartType *r)
|
||||
{
|
||||
uint32_t v;
|
||||
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
|
||||
*r = v;
|
||||
return NDR_ERR_SUCCESS;
|
||||
}
|
||||
|
||||
_PUBLIC_ void ndr_print_svcctl_StartType(struct ndr_print *ndr, const char *name, enum svcctl_StartType r)
|
||||
{
|
||||
const char *val = NULL;
|
||||
|
||||
switch (r) {
|
||||
case SVCCTL_BOOT_START: val = "SVCCTL_BOOT_START"; break;
|
||||
case SVCCTL_SYSTEM_START: val = "SVCCTL_SYSTEM_START"; break;
|
||||
case SVCCTL_AUTO_START: val = "SVCCTL_AUTO_START"; break;
|
||||
case SVCCTL_DEMAND_START: val = "SVCCTL_DEMAND_START"; break;
|
||||
case SVCCTL_DISABLED: val = "SVCCTL_DISABLED"; break;
|
||||
}
|
||||
ndr_print_enum(ndr, name, "ENUM", val, r);
|
||||
}
|
||||
|
||||
static enum ndr_err_code ndr_push_svcctl_ServiceState(struct ndr_push *ndr, int ndr_flags, enum svcctl_ServiceState r)
|
||||
{
|
||||
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
|
||||
return NDR_ERR_SUCCESS;
|
||||
}
|
||||
|
||||
static enum ndr_err_code ndr_pull_svcctl_ServiceState(struct ndr_pull *ndr, int ndr_flags, enum svcctl_ServiceState *r)
|
||||
{
|
||||
uint32_t v;
|
||||
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
|
||||
*r = v;
|
||||
return NDR_ERR_SUCCESS;
|
||||
}
|
||||
|
||||
_PUBLIC_ void ndr_print_svcctl_ServiceState(struct ndr_print *ndr, const char *name, enum svcctl_ServiceState r)
|
||||
{
|
||||
const char *val = NULL;
|
||||
|
||||
switch (r) {
|
||||
case SVCCTL_STATE_ACTIVE: val = "SVCCTL_STATE_ACTIVE"; break;
|
||||
case SVCCTL_STATE_INACTIVE: val = "SVCCTL_STATE_INACTIVE"; break;
|
||||
case SVCCTL_STATE_ALL: val = "SVCCTL_STATE_ALL"; break;
|
||||
}
|
||||
ndr_print_enum(ndr, name, "ENUM", val, r);
|
||||
}
|
||||
|
||||
static enum ndr_err_code ndr_push_svcctl_MgrAccessMask(struct ndr_push *ndr, int ndr_flags, uint32_t r)
|
||||
{
|
||||
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
|
||||
@ -387,8 +504,8 @@ _PUBLIC_ enum ndr_err_code ndr_push_QUERY_SERVICE_CONFIG(struct ndr_push *ndr, i
|
||||
if (ndr_flags & NDR_SCALARS) {
|
||||
NDR_CHECK(ndr_push_align(ndr, 4));
|
||||
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->service_type));
|
||||
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->start_type));
|
||||
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->error_control));
|
||||
NDR_CHECK(ndr_push_svcctl_StartType(ndr, NDR_SCALARS, r->start_type));
|
||||
NDR_CHECK(ndr_push_svcctl_ErrorControl(ndr, NDR_SCALARS, r->error_control));
|
||||
NDR_CHECK(ndr_push_unique_ptr(ndr, r->executablepath));
|
||||
NDR_CHECK(ndr_push_unique_ptr(ndr, r->loadordergroup));
|
||||
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->tag_id));
|
||||
@ -446,8 +563,8 @@ _PUBLIC_ enum ndr_err_code ndr_pull_QUERY_SERVICE_CONFIG(struct ndr_pull *ndr, i
|
||||
if (ndr_flags & NDR_SCALARS) {
|
||||
NDR_CHECK(ndr_pull_align(ndr, 4));
|
||||
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->service_type));
|
||||
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->start_type));
|
||||
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->error_control));
|
||||
NDR_CHECK(ndr_pull_svcctl_StartType(ndr, NDR_SCALARS, &r->start_type));
|
||||
NDR_CHECK(ndr_pull_svcctl_ErrorControl(ndr, NDR_SCALARS, &r->error_control));
|
||||
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_executablepath));
|
||||
if (_ptr_executablepath) {
|
||||
NDR_PULL_ALLOC(ndr, r->executablepath);
|
||||
@ -550,8 +667,8 @@ _PUBLIC_ void ndr_print_QUERY_SERVICE_CONFIG(struct ndr_print *ndr, const char *
|
||||
ndr_print_struct(ndr, name, "QUERY_SERVICE_CONFIG");
|
||||
ndr->depth++;
|
||||
ndr_print_uint32(ndr, "service_type", r->service_type);
|
||||
ndr_print_uint32(ndr, "start_type", r->start_type);
|
||||
ndr_print_uint32(ndr, "error_control", r->error_control);
|
||||
ndr_print_svcctl_StartType(ndr, "start_type", r->start_type);
|
||||
ndr_print_svcctl_ErrorControl(ndr, "error_control", r->error_control);
|
||||
ndr_print_ptr(ndr, "executablepath", r->executablepath);
|
||||
ndr->depth++;
|
||||
if (r->executablepath) {
|
||||
@ -616,6 +733,345 @@ _PUBLIC_ void ndr_print_svcctl_ConfigLevel(struct ndr_print *ndr, const char *na
|
||||
ndr_print_enum(ndr, name, "ENUM", val, r);
|
||||
}
|
||||
|
||||
_PUBLIC_ enum ndr_err_code ndr_push_SERVICE_DESCRIPTION(struct ndr_push *ndr, int ndr_flags, const struct SERVICE_DESCRIPTION *r)
|
||||
{
|
||||
if (ndr_flags & NDR_SCALARS) {
|
||||
NDR_CHECK(ndr_push_align(ndr, 4));
|
||||
{
|
||||
uint32_t _flags_save_string = ndr->flags;
|
||||
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
|
||||
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->description));
|
||||
ndr->flags = _flags_save_string;
|
||||
}
|
||||
}
|
||||
if (ndr_flags & NDR_BUFFERS) {
|
||||
{
|
||||
uint32_t _flags_save_string = ndr->flags;
|
||||
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
|
||||
if (r->description) {
|
||||
NDR_CHECK(ndr_push_relative_ptr2(ndr, r->description));
|
||||
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->description));
|
||||
}
|
||||
ndr->flags = _flags_save_string;
|
||||
}
|
||||
}
|
||||
return NDR_ERR_SUCCESS;
|
||||
}
|
||||
|
||||
_PUBLIC_ enum ndr_err_code ndr_pull_SERVICE_DESCRIPTION(struct ndr_pull *ndr, int ndr_flags, struct SERVICE_DESCRIPTION *r)
|
||||
{
|
||||
uint32_t _ptr_description;
|
||||
TALLOC_CTX *_mem_save_description_0;
|
||||
if (ndr_flags & NDR_SCALARS) {
|
||||
NDR_CHECK(ndr_pull_align(ndr, 4));
|
||||
{
|
||||
uint32_t _flags_save_string = ndr->flags;
|
||||
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
|
||||
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_description));
|
||||
if (_ptr_description) {
|
||||
NDR_PULL_ALLOC(ndr, r->description);
|
||||
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->description, _ptr_description));
|
||||
} else {
|
||||
r->description = NULL;
|
||||
}
|
||||
ndr->flags = _flags_save_string;
|
||||
}
|
||||
}
|
||||
if (ndr_flags & NDR_BUFFERS) {
|
||||
{
|
||||
uint32_t _flags_save_string = ndr->flags;
|
||||
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
|
||||
if (r->description) {
|
||||
uint32_t _relative_save_offset;
|
||||
_relative_save_offset = ndr->offset;
|
||||
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->description));
|
||||
_mem_save_description_0 = NDR_PULL_GET_MEM_CTX(ndr);
|
||||
NDR_PULL_SET_MEM_CTX(ndr, r->description, 0);
|
||||
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->description));
|
||||
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_description_0, 0);
|
||||
ndr->offset = _relative_save_offset;
|
||||
}
|
||||
ndr->flags = _flags_save_string;
|
||||
}
|
||||
}
|
||||
return NDR_ERR_SUCCESS;
|
||||
}
|
||||
|
||||
_PUBLIC_ void ndr_print_SERVICE_DESCRIPTION(struct ndr_print *ndr, const char *name, const struct SERVICE_DESCRIPTION *r)
|
||||
{
|
||||
ndr_print_struct(ndr, name, "SERVICE_DESCRIPTION");
|
||||
ndr->depth++;
|
||||
ndr_print_ptr(ndr, "description", r->description);
|
||||
ndr->depth++;
|
||||
if (r->description) {
|
||||
ndr_print_string(ndr, "description", r->description);
|
||||
}
|
||||
ndr->depth--;
|
||||
ndr->depth--;
|
||||
}
|
||||
|
||||
_PUBLIC_ size_t ndr_size_SERVICE_DESCRIPTION(const struct SERVICE_DESCRIPTION *r, struct smb_iconv_convenience *ic, int flags)
|
||||
{
|
||||
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_SERVICE_DESCRIPTION, ic);
|
||||
}
|
||||
|
||||
static enum ndr_err_code ndr_push_SC_ACTION_TYPE(struct ndr_push *ndr, int ndr_flags, enum SC_ACTION_TYPE r)
|
||||
{
|
||||
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
|
||||
return NDR_ERR_SUCCESS;
|
||||
}
|
||||
|
||||
static enum ndr_err_code ndr_pull_SC_ACTION_TYPE(struct ndr_pull *ndr, int ndr_flags, enum SC_ACTION_TYPE *r)
|
||||
{
|
||||
uint32_t v;
|
||||
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
|
||||
*r = v;
|
||||
return NDR_ERR_SUCCESS;
|
||||
}
|
||||
|
||||
_PUBLIC_ void ndr_print_SC_ACTION_TYPE(struct ndr_print *ndr, const char *name, enum SC_ACTION_TYPE r)
|
||||
{
|
||||
const char *val = NULL;
|
||||
|
||||
switch (r) {
|
||||
case SC_ACTION_NONE: val = "SC_ACTION_NONE"; break;
|
||||
case SC_ACTION_RESTART: val = "SC_ACTION_RESTART"; break;
|
||||
case SC_ACTION_REBOOT: val = "SC_ACTION_REBOOT"; break;
|
||||
case SC_ACTION_RUN_COMMAND: val = "SC_ACTION_RUN_COMMAND"; break;
|
||||
}
|
||||
ndr_print_enum(ndr, name, "ENUM", val, r);
|
||||
}
|
||||
|
||||
static enum ndr_err_code ndr_push_SC_ACTION(struct ndr_push *ndr, int ndr_flags, const struct SC_ACTION *r)
|
||||
{
|
||||
if (ndr_flags & NDR_SCALARS) {
|
||||
NDR_CHECK(ndr_push_align(ndr, 4));
|
||||
NDR_CHECK(ndr_push_SC_ACTION_TYPE(ndr, NDR_SCALARS, r->type));
|
||||
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->delay));
|
||||
}
|
||||
if (ndr_flags & NDR_BUFFERS) {
|
||||
}
|
||||
return NDR_ERR_SUCCESS;
|
||||
}
|
||||
|
||||
static enum ndr_err_code ndr_pull_SC_ACTION(struct ndr_pull *ndr, int ndr_flags, struct SC_ACTION *r)
|
||||
{
|
||||
if (ndr_flags & NDR_SCALARS) {
|
||||
NDR_CHECK(ndr_pull_align(ndr, 4));
|
||||
NDR_CHECK(ndr_pull_SC_ACTION_TYPE(ndr, NDR_SCALARS, &r->type));
|
||||
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->delay));
|
||||
}
|
||||
if (ndr_flags & NDR_BUFFERS) {
|
||||
}
|
||||
return NDR_ERR_SUCCESS;
|
||||
}
|
||||
|
||||
_PUBLIC_ void ndr_print_SC_ACTION(struct ndr_print *ndr, const char *name, const struct SC_ACTION *r)
|
||||
{
|
||||
ndr_print_struct(ndr, name, "SC_ACTION");
|
||||
ndr->depth++;
|
||||
ndr_print_SC_ACTION_TYPE(ndr, "type", r->type);
|
||||
ndr_print_uint32(ndr, "delay", r->delay);
|
||||
ndr->depth--;
|
||||
}
|
||||
|
||||
_PUBLIC_ enum ndr_err_code ndr_push_SERVICE_FAILURE_ACTIONS(struct ndr_push *ndr, int ndr_flags, const struct SERVICE_FAILURE_ACTIONS *r)
|
||||
{
|
||||
uint32_t cntr_actions_1;
|
||||
if (ndr_flags & NDR_SCALARS) {
|
||||
NDR_CHECK(ndr_push_align(ndr, 4));
|
||||
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reset_period));
|
||||
{
|
||||
uint32_t _flags_save_string = ndr->flags;
|
||||
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
|
||||
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->rebootmsg));
|
||||
ndr->flags = _flags_save_string;
|
||||
}
|
||||
{
|
||||
uint32_t _flags_save_string = ndr->flags;
|
||||
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
|
||||
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->command));
|
||||
ndr->flags = _flags_save_string;
|
||||
}
|
||||
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_actions));
|
||||
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->actions));
|
||||
}
|
||||
if (ndr_flags & NDR_BUFFERS) {
|
||||
{
|
||||
uint32_t _flags_save_string = ndr->flags;
|
||||
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
|
||||
if (r->rebootmsg) {
|
||||
NDR_CHECK(ndr_push_relative_ptr2(ndr, r->rebootmsg));
|
||||
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->rebootmsg));
|
||||
}
|
||||
ndr->flags = _flags_save_string;
|
||||
}
|
||||
{
|
||||
uint32_t _flags_save_string = ndr->flags;
|
||||
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
|
||||
if (r->command) {
|
||||
NDR_CHECK(ndr_push_relative_ptr2(ndr, r->command));
|
||||
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->command));
|
||||
}
|
||||
ndr->flags = _flags_save_string;
|
||||
}
|
||||
if (r->actions) {
|
||||
NDR_CHECK(ndr_push_relative_ptr2(ndr, r->actions));
|
||||
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_actions));
|
||||
for (cntr_actions_1 = 0; cntr_actions_1 < r->num_actions; cntr_actions_1++) {
|
||||
NDR_CHECK(ndr_push_SC_ACTION(ndr, NDR_SCALARS, &r->actions[cntr_actions_1]));
|
||||
}
|
||||
}
|
||||
}
|
||||
return NDR_ERR_SUCCESS;
|
||||
}
|
||||
|
||||
_PUBLIC_ enum ndr_err_code ndr_pull_SERVICE_FAILURE_ACTIONS(struct ndr_pull *ndr, int ndr_flags, struct SERVICE_FAILURE_ACTIONS *r)
|
||||
{
|
||||
uint32_t _ptr_rebootmsg;
|
||||
TALLOC_CTX *_mem_save_rebootmsg_0;
|
||||
uint32_t _ptr_command;
|
||||
TALLOC_CTX *_mem_save_command_0;
|
||||
uint32_t _ptr_actions;
|
||||
uint32_t cntr_actions_1;
|
||||
TALLOC_CTX *_mem_save_actions_0;
|
||||
TALLOC_CTX *_mem_save_actions_1;
|
||||
if (ndr_flags & NDR_SCALARS) {
|
||||
NDR_CHECK(ndr_pull_align(ndr, 4));
|
||||
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reset_period));
|
||||
{
|
||||
uint32_t _flags_save_string = ndr->flags;
|
||||
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
|
||||
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rebootmsg));
|
||||
if (_ptr_rebootmsg) {
|
||||
NDR_PULL_ALLOC(ndr, r->rebootmsg);
|
||||
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->rebootmsg, _ptr_rebootmsg));
|
||||
} else {
|
||||
r->rebootmsg = NULL;
|
||||
}
|
||||
ndr->flags = _flags_save_string;
|
||||
}
|
||||
{
|
||||
uint32_t _flags_save_string = ndr->flags;
|
||||
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
|
||||
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_command));
|
||||
if (_ptr_command) {
|
||||
NDR_PULL_ALLOC(ndr, r->command);
|
||||
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->command, _ptr_command));
|
||||
} else {
|
||||
r->command = NULL;
|
||||
}
|
||||
ndr->flags = _flags_save_string;
|
||||
}
|
||||
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_actions));
|
||||
if (r->num_actions < 0 || r->num_actions > 1024) {
|
||||
return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
|
||||
}
|
||||
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_actions));
|
||||
if (_ptr_actions) {
|
||||
NDR_PULL_ALLOC(ndr, r->actions);
|
||||
NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->actions, _ptr_actions));
|
||||
} else {
|
||||
r->actions = NULL;
|
||||
}
|
||||
}
|
||||
if (ndr_flags & NDR_BUFFERS) {
|
||||
{
|
||||
uint32_t _flags_save_string = ndr->flags;
|
||||
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
|
||||
if (r->rebootmsg) {
|
||||
uint32_t _relative_save_offset;
|
||||
_relative_save_offset = ndr->offset;
|
||||
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->rebootmsg));
|
||||
_mem_save_rebootmsg_0 = NDR_PULL_GET_MEM_CTX(ndr);
|
||||
NDR_PULL_SET_MEM_CTX(ndr, r->rebootmsg, 0);
|
||||
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->rebootmsg));
|
||||
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rebootmsg_0, 0);
|
||||
ndr->offset = _relative_save_offset;
|
||||
}
|
||||
ndr->flags = _flags_save_string;
|
||||
}
|
||||
{
|
||||
uint32_t _flags_save_string = ndr->flags;
|
||||
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
|
||||
if (r->command) {
|
||||
uint32_t _relative_save_offset;
|
||||
_relative_save_offset = ndr->offset;
|
||||
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->command));
|
||||
_mem_save_command_0 = NDR_PULL_GET_MEM_CTX(ndr);
|
||||
NDR_PULL_SET_MEM_CTX(ndr, r->command, 0);
|
||||
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->command));
|
||||
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_command_0, 0);
|
||||
ndr->offset = _relative_save_offset;
|
||||
}
|
||||
ndr->flags = _flags_save_string;
|
||||
}
|
||||
if (r->actions) {
|
||||
uint32_t _relative_save_offset;
|
||||
_relative_save_offset = ndr->offset;
|
||||
NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->actions));
|
||||
_mem_save_actions_0 = NDR_PULL_GET_MEM_CTX(ndr);
|
||||
NDR_PULL_SET_MEM_CTX(ndr, r->actions, 0);
|
||||
NDR_CHECK(ndr_pull_array_size(ndr, &r->actions));
|
||||
NDR_PULL_ALLOC_N(ndr, r->actions, ndr_get_array_size(ndr, &r->actions));
|
||||
_mem_save_actions_1 = NDR_PULL_GET_MEM_CTX(ndr);
|
||||
NDR_PULL_SET_MEM_CTX(ndr, r->actions, 0);
|
||||
for (cntr_actions_1 = 0; cntr_actions_1 < r->num_actions; cntr_actions_1++) {
|
||||
NDR_CHECK(ndr_pull_SC_ACTION(ndr, NDR_SCALARS, &r->actions[cntr_actions_1]));
|
||||
}
|
||||
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_actions_1, 0);
|
||||
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_actions_0, 0);
|
||||
ndr->offset = _relative_save_offset;
|
||||
}
|
||||
if (r->actions) {
|
||||
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->actions, r->num_actions));
|
||||
}
|
||||
}
|
||||
return NDR_ERR_SUCCESS;
|
||||
}
|
||||
|
||||
_PUBLIC_ void ndr_print_SERVICE_FAILURE_ACTIONS(struct ndr_print *ndr, const char *name, const struct SERVICE_FAILURE_ACTIONS *r)
|
||||
{
|
||||
uint32_t cntr_actions_1;
|
||||
ndr_print_struct(ndr, name, "SERVICE_FAILURE_ACTIONS");
|
||||
ndr->depth++;
|
||||
ndr_print_uint32(ndr, "reset_period", r->reset_period);
|
||||
ndr_print_ptr(ndr, "rebootmsg", r->rebootmsg);
|
||||
ndr->depth++;
|
||||
if (r->rebootmsg) {
|
||||
ndr_print_string(ndr, "rebootmsg", r->rebootmsg);
|
||||
}
|
||||
ndr->depth--;
|
||||
ndr_print_ptr(ndr, "command", r->command);
|
||||
ndr->depth++;
|
||||
if (r->command) {
|
||||
ndr_print_string(ndr, "command", r->command);
|
||||
}
|
||||
ndr->depth--;
|
||||
ndr_print_uint32(ndr, "num_actions", r->num_actions);
|
||||
ndr_print_ptr(ndr, "actions", r->actions);
|
||||
ndr->depth++;
|
||||
if (r->actions) {
|
||||
ndr->print(ndr, "%s: ARRAY(%d)", "actions", (int)r->num_actions);
|
||||
ndr->depth++;
|
||||
for (cntr_actions_1=0;cntr_actions_1<r->num_actions;cntr_actions_1++) {
|
||||
char *idx_1=NULL;
|
||||
if (asprintf(&idx_1, "[%d]", cntr_actions_1) != -1) {
|
||||
ndr_print_SC_ACTION(ndr, "actions", &r->actions[cntr_actions_1]);
|
||||
free(idx_1);
|
||||
}
|
||||
}
|
||||
ndr->depth--;
|
||||
}
|
||||
ndr->depth--;
|
||||
ndr->depth--;
|
||||
}
|
||||
|
||||
_PUBLIC_ size_t ndr_size_SERVICE_FAILURE_ACTIONS(const struct SERVICE_FAILURE_ACTIONS *r, struct smb_iconv_convenience *ic, int flags)
|
||||
{
|
||||
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_SERVICE_FAILURE_ACTIONS, ic);
|
||||
}
|
||||
|
||||
static enum ndr_err_code ndr_push_svcctl_StatusLevel(struct ndr_push *ndr, int ndr_flags, enum svcctl_StatusLevel r)
|
||||
{
|
||||
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
|
||||
@ -1427,8 +1883,8 @@ static enum ndr_err_code ndr_push_svcctl_ChangeServiceConfigW(struct ndr_push *n
|
||||
}
|
||||
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
|
||||
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.type));
|
||||
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.start));
|
||||
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.error));
|
||||
NDR_CHECK(ndr_push_svcctl_StartType(ndr, NDR_SCALARS, r->in.start_type));
|
||||
NDR_CHECK(ndr_push_svcctl_ErrorControl(ndr, NDR_SCALARS, r->in.error_control));
|
||||
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.binary_path));
|
||||
if (r->in.binary_path) {
|
||||
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.binary_path, CH_UTF16)));
|
||||
@ -1509,8 +1965,8 @@ static enum ndr_err_code ndr_pull_svcctl_ChangeServiceConfigW(struct ndr_pull *n
|
||||
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
|
||||
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
|
||||
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.type));
|
||||
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.start));
|
||||
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.error));
|
||||
NDR_CHECK(ndr_pull_svcctl_StartType(ndr, NDR_SCALARS, &r->in.start_type));
|
||||
NDR_CHECK(ndr_pull_svcctl_ErrorControl(ndr, NDR_SCALARS, &r->in.error_control));
|
||||
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_binary_path));
|
||||
if (_ptr_binary_path) {
|
||||
NDR_PULL_ALLOC(ndr, r->in.binary_path);
|
||||
@ -1650,8 +2106,8 @@ _PUBLIC_ void ndr_print_svcctl_ChangeServiceConfigW(struct ndr_print *ndr, const
|
||||
ndr_print_policy_handle(ndr, "handle", r->in.handle);
|
||||
ndr->depth--;
|
||||
ndr_print_uint32(ndr, "type", r->in.type);
|
||||
ndr_print_uint32(ndr, "start", r->in.start);
|
||||
ndr_print_uint32(ndr, "error", r->in.error);
|
||||
ndr_print_svcctl_StartType(ndr, "start_type", r->in.start_type);
|
||||
ndr_print_svcctl_ErrorControl(ndr, "error_control", r->in.error_control);
|
||||
ndr_print_ptr(ndr, "binary_path", r->in.binary_path);
|
||||
ndr->depth++;
|
||||
if (r->in.binary_path) {
|
||||
@ -1723,8 +2179,8 @@ static enum ndr_err_code ndr_push_svcctl_CreateServiceW(struct ndr_push *ndr, in
|
||||
}
|
||||
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.desired_access));
|
||||
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.type));
|
||||
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.start_type));
|
||||
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.error_control));
|
||||
NDR_CHECK(ndr_push_svcctl_StartType(ndr, NDR_SCALARS, r->in.start_type));
|
||||
NDR_CHECK(ndr_push_svcctl_ErrorControl(ndr, NDR_SCALARS, r->in.error_control));
|
||||
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.binary_path, CH_UTF16)));
|
||||
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
|
||||
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.binary_path, CH_UTF16)));
|
||||
@ -1827,8 +2283,8 @@ static enum ndr_err_code ndr_pull_svcctl_CreateServiceW(struct ndr_pull *ndr, in
|
||||
}
|
||||
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.desired_access));
|
||||
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.type));
|
||||
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.start_type));
|
||||
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.error_control));
|
||||
NDR_CHECK(ndr_pull_svcctl_StartType(ndr, NDR_SCALARS, &r->in.start_type));
|
||||
NDR_CHECK(ndr_pull_svcctl_ErrorControl(ndr, NDR_SCALARS, &r->in.error_control));
|
||||
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.binary_path));
|
||||
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.binary_path));
|
||||
if (ndr_get_array_length(ndr, &r->in.binary_path) > ndr_get_array_size(ndr, &r->in.binary_path)) {
|
||||
@ -1971,8 +2427,8 @@ _PUBLIC_ void ndr_print_svcctl_CreateServiceW(struct ndr_print *ndr, const char
|
||||
ndr->depth--;
|
||||
ndr_print_uint32(ndr, "desired_access", r->in.desired_access);
|
||||
ndr_print_uint32(ndr, "type", r->in.type);
|
||||
ndr_print_uint32(ndr, "start_type", r->in.start_type);
|
||||
ndr_print_uint32(ndr, "error_control", r->in.error_control);
|
||||
ndr_print_svcctl_StartType(ndr, "start_type", r->in.start_type);
|
||||
ndr_print_svcctl_ErrorControl(ndr, "error_control", r->in.error_control);
|
||||
ndr_print_string(ndr, "binary_path", r->in.binary_path);
|
||||
ndr_print_ptr(ndr, "LoadOrderGroupKey", r->in.LoadOrderGroupKey);
|
||||
ndr->depth++;
|
||||
@ -2164,7 +2620,7 @@ static enum ndr_err_code ndr_push_svcctl_EnumServicesStatusW(struct ndr_push *nd
|
||||
}
|
||||
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
|
||||
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.type));
|
||||
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.state));
|
||||
NDR_CHECK(ndr_push_svcctl_ServiceState(ndr, NDR_SCALARS, r->in.state));
|
||||
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buf_size));
|
||||
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.resume_handle));
|
||||
if (r->in.resume_handle) {
|
||||
@ -2212,7 +2668,7 @@ static enum ndr_err_code ndr_pull_svcctl_EnumServicesStatusW(struct ndr_pull *nd
|
||||
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
|
||||
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
|
||||
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.type));
|
||||
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.state));
|
||||
NDR_CHECK(ndr_pull_svcctl_ServiceState(ndr, NDR_SCALARS, &r->in.state));
|
||||
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buf_size));
|
||||
if (r->in.buf_size < 0 || r->in.buf_size > 262144) {
|
||||
return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
|
||||
@ -2297,7 +2753,7 @@ _PUBLIC_ void ndr_print_svcctl_EnumServicesStatusW(struct ndr_print *ndr, const
|
||||
ndr_print_policy_handle(ndr, "handle", r->in.handle);
|
||||
ndr->depth--;
|
||||
ndr_print_uint32(ndr, "type", r->in.type);
|
||||
ndr_print_uint32(ndr, "state", r->in.state);
|
||||
ndr_print_svcctl_ServiceState(ndr, "state", r->in.state);
|
||||
ndr_print_uint32(ndr, "buf_size", r->in.buf_size);
|
||||
ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle);
|
||||
ndr->depth++;
|
||||
@ -3297,8 +3753,8 @@ static enum ndr_err_code ndr_push_svcctl_ChangeServiceConfigA(struct ndr_push *n
|
||||
}
|
||||
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
|
||||
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.type));
|
||||
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.start));
|
||||
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.error));
|
||||
NDR_CHECK(ndr_push_svcctl_StartType(ndr, NDR_SCALARS, r->in.start_type));
|
||||
NDR_CHECK(ndr_push_svcctl_ErrorControl(ndr, NDR_SCALARS, r->in.error_control));
|
||||
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.binary_path));
|
||||
if (r->in.binary_path) {
|
||||
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.binary_path, CH_UTF16)));
|
||||
@ -3379,8 +3835,8 @@ static enum ndr_err_code ndr_pull_svcctl_ChangeServiceConfigA(struct ndr_pull *n
|
||||
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
|
||||
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
|
||||
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.type));
|
||||
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.start));
|
||||
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.error));
|
||||
NDR_CHECK(ndr_pull_svcctl_StartType(ndr, NDR_SCALARS, &r->in.start_type));
|
||||
NDR_CHECK(ndr_pull_svcctl_ErrorControl(ndr, NDR_SCALARS, &r->in.error_control));
|
||||
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_binary_path));
|
||||
if (_ptr_binary_path) {
|
||||
NDR_PULL_ALLOC(ndr, r->in.binary_path);
|
||||
@ -3520,8 +3976,8 @@ _PUBLIC_ void ndr_print_svcctl_ChangeServiceConfigA(struct ndr_print *ndr, const
|
||||
ndr_print_policy_handle(ndr, "handle", r->in.handle);
|
||||
ndr->depth--;
|
||||
ndr_print_uint32(ndr, "type", r->in.type);
|
||||
ndr_print_uint32(ndr, "start", r->in.start);
|
||||
ndr_print_uint32(ndr, "error", r->in.error);
|
||||
ndr_print_svcctl_StartType(ndr, "start_type", r->in.start_type);
|
||||
ndr_print_svcctl_ErrorControl(ndr, "error_control", r->in.error_control);
|
||||
ndr_print_ptr(ndr, "binary_path", r->in.binary_path);
|
||||
ndr->depth++;
|
||||
if (r->in.binary_path) {
|
||||
@ -3596,8 +4052,8 @@ static enum ndr_err_code ndr_push_svcctl_CreateServiceA(struct ndr_push *ndr, in
|
||||
}
|
||||
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.desired_access));
|
||||
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.type));
|
||||
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.start_type));
|
||||
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.error_control));
|
||||
NDR_CHECK(ndr_push_svcctl_StartType(ndr, NDR_SCALARS, r->in.start_type));
|
||||
NDR_CHECK(ndr_push_svcctl_ErrorControl(ndr, NDR_SCALARS, r->in.error_control));
|
||||
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.binary_path));
|
||||
if (r->in.binary_path) {
|
||||
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.binary_path, CH_UTF16)));
|
||||
@ -3711,8 +4167,8 @@ static enum ndr_err_code ndr_pull_svcctl_CreateServiceA(struct ndr_pull *ndr, in
|
||||
}
|
||||
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.desired_access));
|
||||
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.type));
|
||||
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.start_type));
|
||||
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.error_control));
|
||||
NDR_CHECK(ndr_pull_svcctl_StartType(ndr, NDR_SCALARS, &r->in.start_type));
|
||||
NDR_CHECK(ndr_pull_svcctl_ErrorControl(ndr, NDR_SCALARS, &r->in.error_control));
|
||||
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_binary_path));
|
||||
if (_ptr_binary_path) {
|
||||
NDR_PULL_ALLOC(ndr, r->in.binary_path);
|
||||
@ -3850,8 +4306,8 @@ _PUBLIC_ void ndr_print_svcctl_CreateServiceA(struct ndr_print *ndr, const char
|
||||
ndr->depth--;
|
||||
ndr_print_uint32(ndr, "desired_access", r->in.desired_access);
|
||||
ndr_print_uint32(ndr, "type", r->in.type);
|
||||
ndr_print_uint32(ndr, "start_type", r->in.start_type);
|
||||
ndr_print_uint32(ndr, "error_control", r->in.error_control);
|
||||
ndr_print_svcctl_StartType(ndr, "start_type", r->in.start_type);
|
||||
ndr_print_svcctl_ErrorControl(ndr, "error_control", r->in.error_control);
|
||||
ndr_print_ptr(ndr, "binary_path", r->in.binary_path);
|
||||
ndr->depth++;
|
||||
if (r->in.binary_path) {
|
||||
|
@ -102,11 +102,17 @@ extern const struct ndr_interface_table ndr_table_svcctl;
|
||||
#define NDR_SVCCTL_CALL_COUNT (44)
|
||||
void ndr_print_SERVICE_LOCK_STATUS(struct ndr_print *ndr, const char *name, const struct SERVICE_LOCK_STATUS *r);
|
||||
void ndr_print_SERVICE_STATUS(struct ndr_print *ndr, const char *name, const struct SERVICE_STATUS *r);
|
||||
enum ndr_err_code ndr_push_SERVICE_STATUS_PROCESS(struct ndr_push *ndr, int ndr_flags, const struct SERVICE_STATUS_PROCESS *r);
|
||||
enum ndr_err_code ndr_pull_SERVICE_STATUS_PROCESS(struct ndr_pull *ndr, int ndr_flags, struct SERVICE_STATUS_PROCESS *r);
|
||||
void ndr_print_SERVICE_STATUS_PROCESS(struct ndr_print *ndr, const char *name, const struct SERVICE_STATUS_PROCESS *r);
|
||||
void ndr_print_ENUM_SERVICE_STATUS(struct ndr_print *ndr, const char *name, const struct ENUM_SERVICE_STATUS *r);
|
||||
enum ndr_err_code ndr_push_svcctl_ServerType(struct ndr_push *ndr, int ndr_flags, uint32_t r);
|
||||
enum ndr_err_code ndr_pull_svcctl_ServerType(struct ndr_pull *ndr, int ndr_flags, uint32_t *r);
|
||||
void ndr_print_svcctl_ServerType(struct ndr_print *ndr, const char *name, uint32_t r);
|
||||
void ndr_print_SERVICE_CONTROL(struct ndr_print *ndr, const char *name, enum SERVICE_CONTROL r);
|
||||
void ndr_print_svcctl_ErrorControl(struct ndr_print *ndr, const char *name, enum svcctl_ErrorControl r);
|
||||
void ndr_print_svcctl_StartType(struct ndr_print *ndr, const char *name, enum svcctl_StartType r);
|
||||
void ndr_print_svcctl_ServiceState(struct ndr_print *ndr, const char *name, enum svcctl_ServiceState r);
|
||||
void ndr_print_svcctl_MgrAccessMask(struct ndr_print *ndr, const char *name, uint32_t r);
|
||||
void ndr_print_svcctl_ServiceAccessMask(struct ndr_print *ndr, const char *name, uint32_t r);
|
||||
enum ndr_err_code ndr_push_QUERY_SERVICE_CONFIG(struct ndr_push *ndr, int ndr_flags, const struct QUERY_SERVICE_CONFIG *r);
|
||||
@ -114,6 +120,16 @@ enum ndr_err_code ndr_pull_QUERY_SERVICE_CONFIG(struct ndr_pull *ndr, int ndr_fl
|
||||
void ndr_print_QUERY_SERVICE_CONFIG(struct ndr_print *ndr, const char *name, const struct QUERY_SERVICE_CONFIG *r);
|
||||
size_t ndr_size_QUERY_SERVICE_CONFIG(const struct QUERY_SERVICE_CONFIG *r, struct smb_iconv_convenience *ic, int flags);
|
||||
void ndr_print_svcctl_ConfigLevel(struct ndr_print *ndr, const char *name, enum svcctl_ConfigLevel r);
|
||||
enum ndr_err_code ndr_push_SERVICE_DESCRIPTION(struct ndr_push *ndr, int ndr_flags, const struct SERVICE_DESCRIPTION *r);
|
||||
enum ndr_err_code ndr_pull_SERVICE_DESCRIPTION(struct ndr_pull *ndr, int ndr_flags, struct SERVICE_DESCRIPTION *r);
|
||||
void ndr_print_SERVICE_DESCRIPTION(struct ndr_print *ndr, const char *name, const struct SERVICE_DESCRIPTION *r);
|
||||
size_t ndr_size_SERVICE_DESCRIPTION(const struct SERVICE_DESCRIPTION *r, struct smb_iconv_convenience *ic, int flags);
|
||||
void ndr_print_SC_ACTION_TYPE(struct ndr_print *ndr, const char *name, enum SC_ACTION_TYPE r);
|
||||
void ndr_print_SC_ACTION(struct ndr_print *ndr, const char *name, const struct SC_ACTION *r);
|
||||
enum ndr_err_code ndr_push_SERVICE_FAILURE_ACTIONS(struct ndr_push *ndr, int ndr_flags, const struct SERVICE_FAILURE_ACTIONS *r);
|
||||
enum ndr_err_code ndr_pull_SERVICE_FAILURE_ACTIONS(struct ndr_pull *ndr, int ndr_flags, struct SERVICE_FAILURE_ACTIONS *r);
|
||||
void ndr_print_SERVICE_FAILURE_ACTIONS(struct ndr_print *ndr, const char *name, const struct SERVICE_FAILURE_ACTIONS *r);
|
||||
size_t ndr_size_SERVICE_FAILURE_ACTIONS(const struct SERVICE_FAILURE_ACTIONS *r, struct smb_iconv_convenience *ic, int flags);
|
||||
void ndr_print_svcctl_StatusLevel(struct ndr_print *ndr, const char *name, enum svcctl_StatusLevel r);
|
||||
void ndr_print_svcctl_CloseServiceHandle(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_CloseServiceHandle *r);
|
||||
void ndr_print_svcctl_ControlService(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_ControlService *r);
|
||||
|
@ -43,6 +43,12 @@ struct SERVICE_STATUS {
|
||||
uint32_t wait_hint;
|
||||
};
|
||||
|
||||
struct SERVICE_STATUS_PROCESS {
|
||||
struct SERVICE_STATUS status;
|
||||
uint32_t process_id;
|
||||
uint32_t service_flags;
|
||||
}/* [public] */;
|
||||
|
||||
struct ENUM_SERVICE_STATUS {
|
||||
const char * service_name;/* [relative,flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
|
||||
const char * display_name;/* [relative,flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
|
||||
@ -97,6 +103,57 @@ enum SERVICE_CONTROL
|
||||
#endif
|
||||
;
|
||||
|
||||
enum svcctl_ErrorControl
|
||||
#ifndef USE_UINT_ENUMS
|
||||
{
|
||||
SVCCTL_SVC_ERROR_IGNORE=0x00000000,
|
||||
SVCCTL_SVC_ERROR_NORMAL=0x00000001,
|
||||
SVCCTL_SVC_ERROR_CRITICAL=0x00000002,
|
||||
SVCCTL_SVC_ERROR_SEVERE=0x00000003
|
||||
}
|
||||
#else
|
||||
{ __donnot_use_enum_svcctl_ErrorControl=0x7FFFFFFF}
|
||||
#define SVCCTL_SVC_ERROR_IGNORE ( 0x00000000 )
|
||||
#define SVCCTL_SVC_ERROR_NORMAL ( 0x00000001 )
|
||||
#define SVCCTL_SVC_ERROR_CRITICAL ( 0x00000002 )
|
||||
#define SVCCTL_SVC_ERROR_SEVERE ( 0x00000003 )
|
||||
#endif
|
||||
;
|
||||
|
||||
enum svcctl_StartType
|
||||
#ifndef USE_UINT_ENUMS
|
||||
{
|
||||
SVCCTL_BOOT_START=0x00000000,
|
||||
SVCCTL_SYSTEM_START=0x00000001,
|
||||
SVCCTL_AUTO_START=0x00000002,
|
||||
SVCCTL_DEMAND_START=0x00000003,
|
||||
SVCCTL_DISABLED=0x00000004
|
||||
}
|
||||
#else
|
||||
{ __donnot_use_enum_svcctl_StartType=0x7FFFFFFF}
|
||||
#define SVCCTL_BOOT_START ( 0x00000000 )
|
||||
#define SVCCTL_SYSTEM_START ( 0x00000001 )
|
||||
#define SVCCTL_AUTO_START ( 0x00000002 )
|
||||
#define SVCCTL_DEMAND_START ( 0x00000003 )
|
||||
#define SVCCTL_DISABLED ( 0x00000004 )
|
||||
#endif
|
||||
;
|
||||
|
||||
enum svcctl_ServiceState
|
||||
#ifndef USE_UINT_ENUMS
|
||||
{
|
||||
SVCCTL_STATE_ACTIVE=0x00000001,
|
||||
SVCCTL_STATE_INACTIVE=0x00000002,
|
||||
SVCCTL_STATE_ALL=(SVCCTL_STATE_ACTIVE|SVCCTL_STATE_INACTIVE)
|
||||
}
|
||||
#else
|
||||
{ __donnot_use_enum_svcctl_ServiceState=0x7FFFFFFF}
|
||||
#define SVCCTL_STATE_ACTIVE ( 0x00000001 )
|
||||
#define SVCCTL_STATE_INACTIVE ( 0x00000002 )
|
||||
#define SVCCTL_STATE_ALL ( (SVCCTL_STATE_ACTIVE|SVCCTL_STATE_INACTIVE) )
|
||||
#endif
|
||||
;
|
||||
|
||||
/* bitmap svcctl_MgrAccessMask */
|
||||
#define SC_RIGHT_MGR_CONNECT ( 0x0001 )
|
||||
#define SC_RIGHT_MGR_CREATE_SERVICE ( 0x0002 )
|
||||
@ -118,8 +175,8 @@ enum SERVICE_CONTROL
|
||||
|
||||
struct QUERY_SERVICE_CONFIG {
|
||||
uint32_t service_type;
|
||||
uint32_t start_type;
|
||||
uint32_t error_control;
|
||||
enum svcctl_StartType start_type;
|
||||
enum svcctl_ErrorControl error_control;
|
||||
const char *executablepath;/* [unique,range(0,8192),charset(UTF16)] */
|
||||
const char *loadordergroup;/* [unique,range(0,8192),charset(UTF16)] */
|
||||
uint32_t tag_id;
|
||||
@ -141,6 +198,40 @@ enum svcctl_ConfigLevel
|
||||
#endif
|
||||
;
|
||||
|
||||
struct SERVICE_DESCRIPTION {
|
||||
const char * description;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
|
||||
}/* [gensize,public] */;
|
||||
|
||||
enum SC_ACTION_TYPE
|
||||
#ifndef USE_UINT_ENUMS
|
||||
{
|
||||
SC_ACTION_NONE=0,
|
||||
SC_ACTION_RESTART=1,
|
||||
SC_ACTION_REBOOT=2,
|
||||
SC_ACTION_RUN_COMMAND=3
|
||||
}
|
||||
#else
|
||||
{ __donnot_use_enum_SC_ACTION_TYPE=0x7FFFFFFF}
|
||||
#define SC_ACTION_NONE ( 0 )
|
||||
#define SC_ACTION_RESTART ( 1 )
|
||||
#define SC_ACTION_REBOOT ( 2 )
|
||||
#define SC_ACTION_RUN_COMMAND ( 3 )
|
||||
#endif
|
||||
;
|
||||
|
||||
struct SC_ACTION {
|
||||
enum SC_ACTION_TYPE type;
|
||||
uint32_t delay;
|
||||
};
|
||||
|
||||
struct SERVICE_FAILURE_ACTIONS {
|
||||
uint32_t reset_period;
|
||||
const char * rebootmsg;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
|
||||
const char * command;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
|
||||
uint32_t num_actions;/* [range(0,1024)] */
|
||||
struct SC_ACTION *actions;/* [relative,size_is(num_actions)] */
|
||||
}/* [gensize,public] */;
|
||||
|
||||
enum svcctl_StatusLevel
|
||||
#ifndef USE_UINT_ENUMS
|
||||
{
|
||||
@ -297,8 +388,8 @@ struct svcctl_ChangeServiceConfigW {
|
||||
struct {
|
||||
struct policy_handle *handle;/* [ref] */
|
||||
uint32_t type;
|
||||
uint32_t start;
|
||||
uint32_t error;
|
||||
enum svcctl_StartType start_type;
|
||||
enum svcctl_ErrorControl error_control;
|
||||
const char *binary_path;/* [unique,charset(UTF16)] */
|
||||
const char *load_order_group;/* [unique,charset(UTF16)] */
|
||||
const char *dependencies;/* [unique,charset(UTF16)] */
|
||||
@ -322,8 +413,8 @@ struct svcctl_CreateServiceW {
|
||||
const char *DisplayName;/* [unique,charset(UTF16)] */
|
||||
uint32_t desired_access;
|
||||
uint32_t type;
|
||||
uint32_t start_type;
|
||||
uint32_t error_control;
|
||||
enum svcctl_StartType start_type;
|
||||
enum svcctl_ErrorControl error_control;
|
||||
const char *binary_path;/* [charset(UTF16)] */
|
||||
const char *LoadOrderGroupKey;/* [unique,charset(UTF16)] */
|
||||
uint8_t *dependencies;/* [unique,size_is(dependencies_size)] */
|
||||
@ -364,7 +455,7 @@ struct svcctl_EnumServicesStatusW {
|
||||
struct {
|
||||
struct policy_handle *handle;/* [ref] */
|
||||
uint32_t type;
|
||||
uint32_t state;
|
||||
enum svcctl_ServiceState state;
|
||||
uint32_t buf_size;/* [range(0,262144)] */
|
||||
uint32_t *resume_handle;/* [unique] */
|
||||
} in;
|
||||
@ -505,8 +596,8 @@ struct svcctl_ChangeServiceConfigA {
|
||||
struct {
|
||||
struct policy_handle *handle;/* [ref] */
|
||||
uint32_t type;
|
||||
uint32_t start;
|
||||
uint32_t error;
|
||||
enum svcctl_StartType start_type;
|
||||
enum svcctl_ErrorControl error_control;
|
||||
const char *binary_path;/* [unique,charset(UTF16)] */
|
||||
const char *load_order_group;/* [unique,charset(UTF16)] */
|
||||
const char *dependencies;/* [unique,charset(UTF16)] */
|
||||
@ -530,8 +621,8 @@ struct svcctl_CreateServiceA {
|
||||
const char *DisplayName;/* [unique,charset(UTF16)] */
|
||||
uint32_t desired_access;
|
||||
uint32_t type;
|
||||
uint32_t start_type;
|
||||
uint32_t error_control;
|
||||
enum svcctl_StartType start_type;
|
||||
enum svcctl_ErrorControl error_control;
|
||||
const char *binary_path;/* [unique,charset(UTF16)] */
|
||||
const char *LoadOrderGroupKey;/* [unique,charset(UTF16)] */
|
||||
const char *dependencies;/* [unique,charset(UTF16)] */
|
||||
|
Loading…
Reference in New Issue
Block a user