BOOL prs_rpcbuffer_p(const char *desc, prs_struct *ps, int depth, RPC_BUFFER **buffer) { uint32 data_p; /* caputure the pointer value to stream */ data_p = *buffer ? 0xf000baaa : 0; if ( !prs_uint32("ptr", ps, depth, &data_p )) return False; /* we're done if there is no data */ if ( !data_p ) return True; if ( UNMARSHALLING(ps) ) { if ( !(*buffer = PRS_ALLOC_MEM(ps, RPC_BUFFER, 1)) ) return False; } else { /* Marshalling case. - coverity paranoia - should already be ok if data_p != 0 */ if (!*buffer) { return True; } } return prs_rpcbuffer( desc, ps, depth, *buffer); }
BOOL svcctl_io_r_enum_services_status(const char *desc, SVCCTL_R_ENUM_SERVICES_STATUS *r_u, prs_struct *ps, int depth) { if (r_u == NULL) return False; prs_debug(ps, depth, desc, "svcctl_io_r_enum_services_status"); 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_pointer("resume", ps, depth, (void**)&r_u->resume, sizeof(uint32), (PRS_POINTER_CAST)prs_uint32)) return False; if(!prs_werror("status", ps, depth, &r_u->status)) 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_set_service_sec(const char *desc, SVCCTL_Q_SET_SERVICE_SEC *q_u, prs_struct *ps, int depth) { if (q_u == NULL) return False; prs_debug(ps, depth, desc, "svcctl_io_q_set_service_sec"); depth++; if(!prs_align(ps)) return False; if(!smb_io_pol_hnd("handle", &q_u->handle, ps, depth)) return False; if(!prs_uint32("security_flags", ps, depth, &q_u->security_flags)) return False; if (!prs_rpcbuffer("buffer", ps, depth, &q_u->buffer)) return False; if(!prs_align(ps)) return False; if(!prs_uint32("buffer_size", ps, depth, &q_u->buffer_size)) return False; return True; }
BOOL svcctl_io_r_query_service_status_ex(const char *desc, SVCCTL_R_QUERY_SERVICE_STATUSEX *r_u, prs_struct *ps, int depth) { if ( !r_u ) return False; prs_debug(ps, depth, desc, "svcctl_io_r_query_service_status_ex"); depth++; 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_werror("status", ps, depth, &r_u->status)) return False; return True; }