/* * Please do not edit this file. * It was generated using ndrgen. */ #include #include #include extern struct ndr_typeinfo ndt__char; extern struct ndr_typeinfo ndt_s_char; extern struct ndr_typeinfo ndt__uchar; extern struct ndr_typeinfo ndt_s_uchar; extern struct ndr_typeinfo ndt__wchar; extern struct ndr_typeinfo ndt_s_wchar; extern struct ndr_typeinfo ndt__short; extern struct ndr_typeinfo ndt_s_short; extern struct ndr_typeinfo ndt__ushort; extern struct ndr_typeinfo ndt_s_ushort; extern struct ndr_typeinfo ndt__long; extern struct ndr_typeinfo ndt_s_long; extern struct ndr_typeinfo ndt__ulong; extern struct ndr_typeinfo ndt_s_ulong; int ndr__svcctl_handle (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__svcctl_handle = { 1, /* NDR version */ 3, /* alignment */ NDR_F_STRUCT, /* flags */ ndr__svcctl_handle, /* ndr_func */ 20, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 20, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * */ int ndr__svcctl_handle (struct ndr_reference *encl_ref) { struct svcctl_handle *val = (struct svcctl_handle *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; /* do all basic elements first */ NDR_MEMBER (_ulong, data1, 0UL); NDR_MEMBER (_ulong, data2, 4UL); /* do all constructed elements w/o pointers */ NDR_MEMBER_ARR_WITH_DIMENSION (_ushort, data3, 8UL, 2); NDR_MEMBER_ARR_WITH_DIMENSION (_uchar, data4, 12UL, 8); /* do members with pointers in order */ return 1; } int ndr__svcctl_value (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__svcctl_value = { 1, /* NDR version */ 3, /* alignment */ NDR_F_CONFORMANT|NDR_F_STRUCT, /* flags */ ndr__svcctl_value, /* ndr_func */ 8, /* pdu_size_fixed_part */ 1, /* pdu_size_variable_part */ 8, /* c_size_fixed_part */ 1, /* c_size_variable_part */ }; /* * */ int ndr__svcctl_value (struct ndr_reference *encl_ref) { struct svcctl_value *val = (struct svcctl_value *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; /* do all basic elements first */ NDR_MEMBER (_ulong, vc_first_is, 0UL); NDR_MEMBER (_ulong, vc_length_is, 4UL); /* do all constructed elements w/o pointers */ NDR_MEMBER_ARR_WITH_SIZE_IS (_uchar, value, 8UL, val->vc_length_is); /* do members with pointers in order */ return 1; } int ndr__svc_status (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__svc_status = { 1, /* NDR version */ 3, /* alignment */ NDR_F_STRUCT, /* flags */ ndr__svc_status, /* ndr_func */ 28, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 28, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * */ int ndr__svc_status (struct ndr_reference *encl_ref) { struct svc_status *val = (struct svc_status *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; /* do all basic elements first */ NDR_MEMBER (_ulong, service_type, 0UL); NDR_MEMBER (_ulong, cur_state, 4UL); NDR_MEMBER (_ulong, ctrl_accepted, 8UL); NDR_MEMBER (_ulong, w32_exitcode, 12UL); NDR_MEMBER (_ulong, svc_specified_exitcode, 16UL); NDR_MEMBER (_ulong, check_point, 20UL); NDR_MEMBER (_ulong, wait_hint, 24UL); /* do all constructed elements w/o pointers */ /* do members with pointers in order */ return 1; } int ndr__svc_enum_status (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__svc_enum_status = { 1, /* NDR version */ 3, /* alignment */ NDR_F_STRUCT, /* flags */ ndr__svc_enum_status, /* ndr_func */ 36, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 36, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * */ int ndr__svc_enum_status (struct ndr_reference *encl_ref) { struct svc_enum_status *val = (struct svc_enum_status *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; /* do all basic elements first */ NDR_MEMBER (_ulong, svc_name, 0UL); NDR_MEMBER (_ulong, display_name, 4UL); /* do all constructed elements w/o pointers */ NDR_MEMBER (_svc_status, svc_status, 8UL); /* do members with pointers in order */ return 1; } int ndr__svc_config (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__svc_config = { 1, /* NDR version */ 3, /* alignment */ NDR_F_STRUCT, /* flags */ ndr__svc_config, /* ndr_func */ 36, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 36, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * */ int ndr__svc_config (struct ndr_reference *encl_ref) { struct svc_config *val = (struct svc_config *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; /* do all basic elements first */ NDR_MEMBER (_ulong, service_type, 0UL); NDR_MEMBER (_ulong, start_type, 4UL); NDR_MEMBER (_ulong, error_control, 8UL); NDR_MEMBER (_ulong, tag_id, 20UL); /* do all constructed elements w/o pointers */ /* do members with pointers in order */ NDR_MEMBER_PTR (s_wchar, binary_pathname, 12UL); NDR_MEMBER_PTR (s_wchar, loadorder_group, 16UL); NDR_MEMBER_PTR (s_wchar, dependencies, 24UL); NDR_MEMBER_PTR (s_wchar, service_startname, 28UL); NDR_MEMBER_PTR (s_wchar, display_name, 32UL); return 1; } int ndr__svc_failure_actions (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__svc_failure_actions = { 1, /* NDR version */ 3, /* alignment */ NDR_F_STRUCT, /* flags */ ndr__svc_failure_actions, /* ndr_func */ 20, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 20, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * */ int ndr__svc_failure_actions (struct ndr_reference *encl_ref) { struct svc_failure_actions *val = (struct svc_failure_actions *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; /* do all basic elements first */ NDR_MEMBER (_ulong, reset_period, 0UL); NDR_MEMBER (_ulong, rebootmsg_offset, 4UL); NDR_MEMBER (_ulong, command_offset, 8UL); NDR_MEMBER (_ulong, actions, 12UL); NDR_MEMBER (_ulong, actions_offset, 16UL); /* do all constructed elements w/o pointers */ /* do members with pointers in order */ return 1; } int ndr__svc_description (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__svc_description = { 1, /* NDR version */ 3, /* alignment */ NDR_F_STRUCT, /* flags */ ndr__svc_description, /* ndr_func */ 4, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 4, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * */ int ndr__svc_description (struct ndr_reference *encl_ref) { struct svc_description *val = (struct svc_description *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; /* do all basic elements first */ NDR_MEMBER (_ulong, desc, 0UL); /* do all constructed elements w/o pointers */ /* do members with pointers in order */ return 1; } int ndr__svc_delayed_auto_start (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__svc_delayed_auto_start = { 1, /* NDR version */ 3, /* alignment */ NDR_F_STRUCT, /* flags */ ndr__svc_delayed_auto_start, /* ndr_func */ 4, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 4, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * */ int ndr__svc_delayed_auto_start (struct ndr_reference *encl_ref) { struct svc_delayed_auto_start *val = (struct svc_delayed_auto_start *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; /* do all basic elements first */ NDR_MEMBER (_ulong, dstart, 0UL); /* do all constructed elements w/o pointers */ /* do members with pointers in order */ return 1; } int ndr__svc_config_failure_action (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__svc_config_failure_action = { 1, /* NDR version */ 3, /* alignment */ NDR_F_STRUCT, /* flags */ ndr__svc_config_failure_action, /* ndr_func */ 4, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 4, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * */ int ndr__svc_config_failure_action (struct ndr_reference *encl_ref) { struct svc_config_failure_action *val = (struct svc_config_failure_action *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; /* do all basic elements first */ NDR_MEMBER (_ulong, cfa, 0UL); /* do all constructed elements w/o pointers */ /* do members with pointers in order */ return 1; } int ndr__svcctl_Close (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__svcctl_Close = { 1, /* NDR version */ 3, /* alignment */ NDR_F_OPERATION, /* flags */ ndr__svcctl_Close, /* ndr_func */ 44, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 44, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * [operation(0)] */ int ndr__svcctl_Close (struct ndr_reference *encl_ref) { struct svcctl_Close *val = (struct svcctl_Close *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; /* do all members in order */ if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER (_svcctl_handle, handle); } if (NDR_DIR_IS_OUT) { NDR_TOPMOST_MEMBER (_svcctl_handle, result_handle); } if (NDR_DIR_IS_OUT) { NDR_TOPMOST_MEMBER (_ulong, status); } return 1; } int ndr__svcctl_ControlService (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__svcctl_ControlService = { 1, /* NDR version */ 3, /* alignment */ NDR_F_OPERATION, /* flags */ ndr__svcctl_ControlService, /* ndr_func */ 56, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 56, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * [operation(1)] */ int ndr__svcctl_ControlService (struct ndr_reference *encl_ref) { struct svcctl_ControlService *val = (struct svcctl_ControlService *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; /* do all members in order */ if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER (_svcctl_handle, service_handle); } if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER (_ulong, control); } if (NDR_DIR_IS_OUT) { NDR_TOPMOST_MEMBER (_svc_status, service_status); } if (NDR_DIR_IS_OUT) { NDR_TOPMOST_MEMBER (_ulong, status); } return 1; } int ndr__svcctl_DeleteService (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__svcctl_DeleteService = { 1, /* NDR version */ 3, /* alignment */ NDR_F_OPERATION, /* flags */ ndr__svcctl_DeleteService, /* ndr_func */ 24, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 24, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * [operation(2)] */ int ndr__svcctl_DeleteService (struct ndr_reference *encl_ref) { struct svcctl_DeleteService *val = (struct svcctl_DeleteService *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; /* do all members in order */ if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER (_svcctl_handle, service_handle); } if (NDR_DIR_IS_OUT) { NDR_TOPMOST_MEMBER (_ulong, status); } return 1; } int ndr__svcctl_QueryServiceSecurity (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__svcctl_QueryServiceSecurity = { 1, /* NDR version */ 3, /* alignment */ NDR_F_OPERATION, /* flags */ ndr__svcctl_QueryServiceSecurity, /* ndr_func */ 40, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 40, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * [operation(4)] */ int ndr__svcctl_QueryServiceSecurity (struct ndr_reference *encl_ref) { struct svcctl_QueryServiceSecurity *val = (struct svcctl_QueryServiceSecurity *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; /* do all members in order */ if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER (_svcctl_handle, service_handle); } if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER (_ulong, security_info); } if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER (_ulong, buf_size); } if (NDR_DIR_IS_OUT) { NDR_TOPMOST_MEMBER_REF_WITH_SIZE_IS (_uchar, buffer, val->buf_size); } if (NDR_DIR_IS_OUT) { NDR_TOPMOST_MEMBER (_ulong, bytes_needed); } if (NDR_DIR_IS_OUT) { NDR_TOPMOST_MEMBER (_ulong, status); } return 1; } int ndr__svcctl_SetServiceSecurity (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__svcctl_SetServiceSecurity = { 1, /* NDR version */ 3, /* alignment */ NDR_F_OPERATION, /* flags */ ndr__svcctl_SetServiceSecurity, /* ndr_func */ 36, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 36, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * [operation(5)] */ int ndr__svcctl_SetServiceSecurity (struct ndr_reference *encl_ref) { struct svcctl_SetServiceSecurity *val = (struct svcctl_SetServiceSecurity *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; /* do all members in order */ if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER (_svcctl_handle, service_handle); } if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER (_ulong, security_info); } if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER_REF_WITH_SIZE_IS (_uchar, buffer, val->buf_size); } if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER (_ulong, buf_size); } if (NDR_DIR_IS_OUT) { NDR_TOPMOST_MEMBER (_ulong, status); } return 1; } int ndr__svcctl_OpenManager (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__svcctl_OpenManager = { 1, /* NDR version */ 3, /* alignment */ NDR_F_OPERATION, /* flags */ ndr__svcctl_OpenManager, /* ndr_func */ 36, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 36, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * [operation(15)] */ int ndr__svcctl_OpenManager (struct ndr_reference *encl_ref) { struct svcctl_OpenManager *val = (struct svcctl_OpenManager *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; /* do all members in order */ if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER_PTR (s_wchar, machine_name); } if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER_PTR (s_wchar, database_name); } if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER (_ulong, desired_access); } if (NDR_DIR_IS_OUT) { NDR_TOPMOST_MEMBER (_svcctl_handle, handle); } if (NDR_DIR_IS_OUT) { NDR_TOPMOST_MEMBER (_ulong, status); } return 1; } int ndr__svcctl_OpenService (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__svcctl_OpenService = { 1, /* NDR version */ 3, /* alignment */ NDR_F_OPERATION, /* flags */ ndr__svcctl_OpenService, /* ndr_func */ 52, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 52, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * [operation(16)] */ int ndr__svcctl_OpenService (struct ndr_reference *encl_ref) { struct svcctl_OpenService *val = (struct svcctl_OpenService *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; /* do all members in order */ if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER (_svcctl_handle, manager_handle); } if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER_REF (s_wchar, service_name); } if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER (_ulong, desired_access); } if (NDR_DIR_IS_OUT) { NDR_TOPMOST_MEMBER (_svcctl_handle, service_handle); } if (NDR_DIR_IS_OUT) { NDR_TOPMOST_MEMBER (_ulong, status); } return 1; } int ndr__svcctl_QueryServiceStatus (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__svcctl_QueryServiceStatus = { 1, /* NDR version */ 3, /* alignment */ NDR_F_OPERATION, /* flags */ ndr__svcctl_QueryServiceStatus, /* ndr_func */ 52, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 52, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * [operation(6)] */ int ndr__svcctl_QueryServiceStatus (struct ndr_reference *encl_ref) { struct svcctl_QueryServiceStatus *val = (struct svcctl_QueryServiceStatus *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; /* do all members in order */ if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER (_svcctl_handle, service_handle); } if (NDR_DIR_IS_OUT) { NDR_TOPMOST_MEMBER (_svc_status, service_status); } if (NDR_DIR_IS_OUT) { NDR_TOPMOST_MEMBER (_ulong, status); } return 1; } int ndr__svcctl_EnumDependentServices (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__svcctl_EnumDependentServices = { 1, /* NDR version */ 3, /* alignment */ NDR_F_OPERATION, /* flags */ ndr__svcctl_EnumDependentServices, /* ndr_func */ 44, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 44, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * [operation(13)] */ int ndr__svcctl_EnumDependentServices (struct ndr_reference *encl_ref) { struct svcctl_EnumDependentServices *val = (struct svcctl_EnumDependentServices *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; /* do all members in order */ if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER (_svcctl_handle, service_handle); } if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER (_ulong, svc_state); } if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER (_ulong, buf_size); } if (NDR_DIR_IS_OUT) { NDR_TOPMOST_MEMBER_REF_WITH_SIZE_IS (_uchar, services, val->buf_size); } if (NDR_DIR_IS_OUT) { NDR_TOPMOST_MEMBER (_ulong, bytes_needed); } if (NDR_DIR_IS_OUT) { NDR_TOPMOST_MEMBER (_ulong, svc_num); } if (NDR_DIR_IS_OUT) { NDR_TOPMOST_MEMBER (_ulong, status); } return 1; } int ndr__svcctl_EnumServicesStatus (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__svcctl_EnumServicesStatus = { 1, /* NDR version */ 3, /* alignment */ NDR_F_OPERATION, /* flags */ ndr__svcctl_EnumServicesStatus, /* ndr_func */ 52, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 52, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * [operation(14)] */ int ndr__svcctl_EnumServicesStatus (struct ndr_reference *encl_ref) { struct svcctl_EnumServicesStatus *val = (struct svcctl_EnumServicesStatus *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; /* do all members in order */ if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER (_svcctl_handle, manager_handle); } if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER (_ulong, svc_type); } if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER (_ulong, svc_state); } if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER (_ulong, buf_size); } if (NDR_DIR_IS_OUT) { NDR_TOPMOST_MEMBER_REF_WITH_SIZE_IS (_uchar, services, val->buf_size); } if (NDR_DIR_IS_OUT) { NDR_TOPMOST_MEMBER (_ulong, bytes_needed); } if (NDR_DIR_IS_OUT) { NDR_TOPMOST_MEMBER (_ulong, svc_num); } NDR_TOPMOST_MEMBER_PTR (_ulong, resume_handle); if (NDR_DIR_IS_OUT) { NDR_TOPMOST_MEMBER (_ulong, status); } return 1; } int ndr__svcctl_QueryServiceConfig (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__svcctl_QueryServiceConfig = { 1, /* NDR version */ 3, /* alignment */ NDR_F_OPERATION, /* flags */ ndr__svcctl_QueryServiceConfig, /* ndr_func */ 68, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 68, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * [operation(17)] */ int ndr__svcctl_QueryServiceConfig (struct ndr_reference *encl_ref) { struct svcctl_QueryServiceConfig *val = (struct svcctl_QueryServiceConfig *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; /* do all members in order */ if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER (_svcctl_handle, service_handle); } if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER (_ulong, buf_size); } if (NDR_DIR_IS_OUT) { NDR_TOPMOST_MEMBER (_svc_config, service_cfg); } if (NDR_DIR_IS_OUT) { NDR_TOPMOST_MEMBER (_ulong, cfg_bytes); } if (NDR_DIR_IS_OUT) { NDR_TOPMOST_MEMBER (_ulong, status); } return 1; } int ndr__svcctl_StartService (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__svcctl_StartService = { 1, /* NDR version */ 3, /* alignment */ NDR_F_OPERATION, /* flags */ ndr__svcctl_StartService, /* ndr_func */ 32, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 32, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * [operation(19)] */ int ndr__svcctl_StartService (struct ndr_reference *encl_ref) { struct svcctl_StartService *val = (struct svcctl_StartService *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; /* do all members in order */ if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER (_svcctl_handle, service_handle); } if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER (_ulong, argc); } if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER (_ulong, argv); } if (NDR_DIR_IS_OUT) { NDR_TOPMOST_MEMBER (_ulong, status); } return 1; } int ndr__svcctl_GetServiceDisplayNameW (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__svcctl_GetServiceDisplayNameW = { 1, /* NDR version */ 3, /* alignment */ NDR_F_OPERATION, /* flags */ ndr__svcctl_GetServiceDisplayNameW, /* ndr_func */ 36, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 36, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * [operation(20)] */ int ndr__svcctl_GetServiceDisplayNameW (struct ndr_reference *encl_ref) { struct svcctl_GetServiceDisplayNameW *val = (struct svcctl_GetServiceDisplayNameW *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; /* do all members in order */ if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER (_svcctl_handle, manager_handle); } if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER_REF (s_wchar, service_name); } if (NDR_DIR_IS_OUT) { NDR_TOPMOST_MEMBER_REF (s_wchar, display_name); } NDR_TOPMOST_MEMBER (_ulong, buf_size); if (NDR_DIR_IS_OUT) { NDR_TOPMOST_MEMBER (_ulong, status); } return 1; } int ndr__svcctl_GetServiceKeyNameW (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__svcctl_GetServiceKeyNameW = { 1, /* NDR version */ 3, /* alignment */ NDR_F_OPERATION, /* flags */ ndr__svcctl_GetServiceKeyNameW, /* ndr_func */ 36, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 36, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * [operation(21)] */ int ndr__svcctl_GetServiceKeyNameW (struct ndr_reference *encl_ref) { struct svcctl_GetServiceKeyNameW *val = (struct svcctl_GetServiceKeyNameW *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; /* do all members in order */ if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER (_svcctl_handle, manager_handle); } if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER_REF (s_wchar, service_name); } if (NDR_DIR_IS_OUT) { NDR_TOPMOST_MEMBER_REF (s_wchar, key_name); } NDR_TOPMOST_MEMBER (_ulong, buf_size); if (NDR_DIR_IS_OUT) { NDR_TOPMOST_MEMBER (_ulong, status); } return 1; } int ndr__svcctl_OpenSCManagerA (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__svcctl_OpenSCManagerA = { 1, /* NDR version */ 3, /* alignment */ NDR_F_OPERATION, /* flags */ ndr__svcctl_OpenSCManagerA, /* ndr_func */ 36, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 36, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * [operation(27)] */ int ndr__svcctl_OpenSCManagerA (struct ndr_reference *encl_ref) { struct svcctl_OpenSCManagerA *val = (struct svcctl_OpenSCManagerA *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; /* do all members in order */ if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER_PTR (_svcctl_value, machine_name); } if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER_PTR (_svcctl_value, database_name); } if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER (_ulong, desired_access); } if (NDR_DIR_IS_OUT) { NDR_TOPMOST_MEMBER (_svcctl_handle, handle); } if (NDR_DIR_IS_OUT) { NDR_TOPMOST_MEMBER (_ulong, status); } return 1; } int ndr__svcctl_OpenServiceA (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__svcctl_OpenServiceA = { 1, /* NDR version */ 3, /* alignment */ NDR_F_OPERATION, /* flags */ ndr__svcctl_OpenServiceA, /* ndr_func */ 52, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 52, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * [operation(28)] */ int ndr__svcctl_OpenServiceA (struct ndr_reference *encl_ref) { struct svcctl_OpenServiceA *val = (struct svcctl_OpenServiceA *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; /* do all members in order */ if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER (_svcctl_handle, manager_handle); } if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER_REF (_svcctl_value, service_name); } if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER (_ulong, desired_access); } if (NDR_DIR_IS_OUT) { NDR_TOPMOST_MEMBER (_svcctl_handle, service_handle); } if (NDR_DIR_IS_OUT) { NDR_TOPMOST_MEMBER (_ulong, status); } return 1; } int ndr__svcctl_EnumServicesStatusA (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__svcctl_EnumServicesStatusA = { 1, /* NDR version */ 3, /* alignment */ NDR_F_OPERATION, /* flags */ ndr__svcctl_EnumServicesStatusA, /* ndr_func */ 52, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 52, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * [operation(26)] */ int ndr__svcctl_EnumServicesStatusA (struct ndr_reference *encl_ref) { struct svcctl_EnumServicesStatusA *val = (struct svcctl_EnumServicesStatusA *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; /* do all members in order */ if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER (_svcctl_handle, manager_handle); } if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER (_ulong, svc_type); } if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER (_ulong, svc_state); } if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER (_ulong, buf_size); } if (NDR_DIR_IS_OUT) { NDR_TOPMOST_MEMBER_REF_WITH_SIZE_IS (_uchar, services, val->buf_size); } if (NDR_DIR_IS_OUT) { NDR_TOPMOST_MEMBER (_ulong, bytes_needed); } if (NDR_DIR_IS_OUT) { NDR_TOPMOST_MEMBER (_ulong, svc_num); } NDR_TOPMOST_MEMBER_PTR (_ulong, resume_handle); if (NDR_DIR_IS_OUT) { NDR_TOPMOST_MEMBER (_ulong, status); } return 1; } int ndr__svcctl_QueryServiceConfig2W (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__svcctl_QueryServiceConfig2W = { 1, /* NDR version */ 3, /* alignment */ NDR_F_OPERATION, /* flags */ ndr__svcctl_QueryServiceConfig2W, /* ndr_func */ 40, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 40, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * [operation(39)] */ int ndr__svcctl_QueryServiceConfig2W (struct ndr_reference *encl_ref) { struct svcctl_QueryServiceConfig2W *val = (struct svcctl_QueryServiceConfig2W *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; /* do all members in order */ if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER (_svcctl_handle, service_handle); } if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER (_ulong, info_level); } if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER (_ulong, buf_size); } if (NDR_DIR_IS_OUT) { NDR_TOPMOST_MEMBER_REF_WITH_SIZE_IS (_uchar, buffer, val->buf_size); } if (NDR_DIR_IS_OUT) { NDR_TOPMOST_MEMBER (_ulong, bytes_needed); } if (NDR_DIR_IS_OUT) { NDR_TOPMOST_MEMBER (_ulong, status); } return 1; } int ndr__svc_status_ex (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__svc_status_ex = { 1, /* NDR version */ 3, /* alignment */ NDR_F_STRUCT, /* flags */ ndr__svc_status_ex, /* ndr_func */ 36, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 36, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * */ int ndr__svc_status_ex (struct ndr_reference *encl_ref) { struct svc_status_ex *val = (struct svc_status_ex *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; /* do all basic elements first */ NDR_MEMBER (_ulong, service_type, 0UL); NDR_MEMBER (_ulong, cur_state, 4UL); NDR_MEMBER (_ulong, ctrl_accepted, 8UL); NDR_MEMBER (_ulong, w32_exitcode, 12UL); NDR_MEMBER (_ulong, svc_specified_exitcode, 16UL); NDR_MEMBER (_ulong, check_point, 20UL); NDR_MEMBER (_ulong, wait_hint, 24UL); NDR_MEMBER (_ulong, process_id, 28UL); NDR_MEMBER (_ulong, service_flags, 32UL); /* do all constructed elements w/o pointers */ /* do members with pointers in order */ return 1; } int ndr__svcctl_QueryServiceStatusEx (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__svcctl_QueryServiceStatusEx = { 1, /* NDR version */ 3, /* alignment */ NDR_F_OPERATION, /* flags */ ndr__svcctl_QueryServiceStatusEx, /* ndr_func */ 40, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 40, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * [operation(40)] */ int ndr__svcctl_QueryServiceStatusEx (struct ndr_reference *encl_ref) { struct svcctl_QueryServiceStatusEx *val = (struct svcctl_QueryServiceStatusEx *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; /* do all members in order */ if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER (_svcctl_handle, service_handle); } if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER (_ulong, info_level); } if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER (_ulong, buf_size); } if (NDR_DIR_IS_OUT) { NDR_TOPMOST_MEMBER_REF_WITH_SIZE_IS (_uchar, buffer, val->buf_size); } if (NDR_DIR_IS_OUT) { NDR_TOPMOST_MEMBER (_ulong, bytes_needed); } if (NDR_DIR_IS_OUT) { NDR_TOPMOST_MEMBER (_ulong, status); } return 1; } int ndr__svcctl_interface (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__svcctl_interface = { 1, /* NDR version */ 3, /* alignment */ NDR_F_INTERFACE, /* flags */ ndr__svcctl_interface, /* ndr_func */ 68, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 68, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * [interface(0)] */ int ndr__svcctl_interface (struct ndr_reference *encl_ref) { union svcctl_interface *val = (union svcctl_interface *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; switch (encl_ref->switch_is) { case 0: NDR_PARAMS_MEMBER (_svcctl_Close, SvcClose); break; case 1: NDR_PARAMS_MEMBER (_svcctl_ControlService, SvcControlService); break; case 2: NDR_PARAMS_MEMBER (_svcctl_DeleteService, SvcDeleteService); break; case 4: NDR_PARAMS_MEMBER (_svcctl_QueryServiceSecurity, SvcQueryServiceSecurity); break; case 5: NDR_PARAMS_MEMBER (_svcctl_SetServiceSecurity, SvcSetServiceSecurity); break; case 15: NDR_PARAMS_MEMBER (_svcctl_OpenManager, SvcOpenManager); break; case 16: NDR_PARAMS_MEMBER (_svcctl_OpenService, SvcOpenService); break; case 6: NDR_PARAMS_MEMBER (_svcctl_QueryServiceStatus, SvcQueryServiceStatus); break; case 13: NDR_PARAMS_MEMBER (_svcctl_EnumDependentServices, Svc_EnumDependentServices); break; case 14: NDR_PARAMS_MEMBER (_svcctl_EnumServicesStatus, SvcEnumServicesStatus); break; case 17: NDR_PARAMS_MEMBER (_svcctl_QueryServiceConfig, SvcQueryServiceConfig); break; case 19: NDR_PARAMS_MEMBER (_svcctl_StartService, SvcStartService); break; case 20: NDR_PARAMS_MEMBER (_svcctl_GetServiceDisplayNameW, SvcGetServiceDisplayNameW); break; case 21: NDR_PARAMS_MEMBER (_svcctl_GetServiceKeyNameW, SvcGetServiceKeyNameW); break; case 27: NDR_PARAMS_MEMBER (_svcctl_OpenSCManagerA, SvcOpenSCManagerA); break; case 28: NDR_PARAMS_MEMBER (_svcctl_OpenServiceA, SvcOpenServiceA); break; case 26: NDR_PARAMS_MEMBER (_svcctl_EnumServicesStatusA, SvcEnumServicesStatusA); break; case 39: NDR_PARAMS_MEMBER (_svcctl_QueryServiceConfig2W, SvcQueryServiceConfig2W); break; case 40: NDR_PARAMS_MEMBER (_svcctl_QueryServiceStatusEx, SvcQueryServiceStatusEx); break; default: NDR_SET_ERROR(encl_ref, NDR_ERR_SWITCH_VALUE_INVALID); return 0; break; } return 1; }