bool_t
xdr_rpc_loc_sv_info_s_type (XDR *xdrs, rpc_loc_sv_info_s_type *objp)
{
    register int32_t *buf;

    if (!xdr_rpc_loc_sv_info_valid_mask_type (xdrs, &objp->valid_mask))
        return FALSE;
    if (!xdr_rpc_loc_sv_system_e_type (xdrs, &objp->system))
        return FALSE;
    if (!xdr_rpc_uint8 (xdrs, &objp->prn))
        return FALSE;
    if (!xdr_rpc_uint8 (xdrs, &objp->health_status))
        return FALSE;
    if (!xdr_rpc_loc_sv_status_e_type (xdrs, &objp->process_status))
        return FALSE;
    if (!xdr_rpc_boolean (xdrs, &objp->has_eph))
        return FALSE;
    if (!xdr_rpc_boolean (xdrs, &objp->has_alm))
        return FALSE;
    if (!xdr_float (xdrs, &objp->elevation))
        return FALSE;
    if (!xdr_float (xdrs, &objp->azimuth))
        return FALSE;
    if (!xdr_float (xdrs, &objp->snr))
        return FALSE;
    return TRUE;
}
bool_t
xdr_rpc_loc_ioctl_callback_data_u_type (XDR *xdrs, rpc_loc_ioctl_callback_data_u_type *objp)
{
    register int32_t *buf;

    if (!xdr_rpc_loc_ioctl_e_type (xdrs, &objp->disc))
        return FALSE;
    switch (objp->disc) {
    case RPC_LOC_IOCTL_GET_API_VERSION:
        if (!xdr_rpc_loc_api_version_s_type (xdrs, &objp->rpc_loc_ioctl_callback_data_u_type_u.api_version))
            return FALSE;
        break;
    case RPC_LOC_IOCTL_GET_FIX_CRITERIA:
        if (!xdr_rpc_loc_fix_criteria_s_type (xdrs, &objp->rpc_loc_ioctl_callback_data_u_type_u.fix_criteria))
            return FALSE;
        break;
    case RPC_LOC_IOCTL_GET_ENGINE_LOCK:
        if (!xdr_rpc_loc_lock_e_type (xdrs, &objp->rpc_loc_ioctl_callback_data_u_type_u.engine_lock))
            return FALSE;
        break;
    case RPC_LOC_IOCTL_GET_SBAS_CONFIG:
        if (!xdr_rpc_boolean (xdrs, &objp->rpc_loc_ioctl_callback_data_u_type_u.sbas_mode))
            return FALSE;
        break;
    case RPC_LOC_IOCTL_GET_NMEA_TYPES:
        if (!xdr_rpc_loc_nmea_sentence_type (xdrs, &objp->rpc_loc_ioctl_callback_data_u_type_u.nmea_types))
            return FALSE;
        break;
    case RPC_LOC_IOCTL_GET_ON_DEMAND_LPM:
        if (!xdr_rpc_boolean (xdrs, &objp->rpc_loc_ioctl_callback_data_u_type_u.on_demand_lpm))
            return FALSE;
        break;
    case RPC_LOC_IOCTL_GET_CDMA_PDE_SERVER_ADDR:
    case RPC_LOC_IOCTL_GET_CDMA_MPC_SERVER_ADDR:
    case RPC_LOC_IOCTL_GET_UMTS_SLP_SERVER_ADDR:
    case RPC_LOC_IOCTL_GET_CUSTOM_PDE_SERVER_ADDR:
        if (!xdr_rpc_loc_server_info_s_type (xdrs, &objp->rpc_loc_ioctl_callback_data_u_type_u.server_addr))
            return FALSE;
        break;
    case RPC_LOC_IOCTL_QUERY_PREDICTED_ORBITS_DATA_SOURCE:
        if (!xdr_rpc_loc_predicted_orbits_data_source_s_type (xdrs, &objp->rpc_loc_ioctl_callback_data_u_type_u.predicted_orbits_data_source))
            return FALSE;
        break;
    case RPC_LOC_IOCTL_QUERY_PREDICTED_ORBITS_DATA_VALIDITY:
        if (!xdr_rpc_loc_predicted_orbits_data_validity_report_s_type (xdrs, &objp->rpc_loc_ioctl_callback_data_u_type_u.predicted_orbits_data_validity))
            return FALSE;
        break;
    default:
        break;
    }
    return TRUE;
}
bool_t
xdr_rpc_loc_fix_criteria_s_type (XDR *xdrs, rpc_loc_fix_criteria_s_type *objp)
{
    register int32_t *buf;

    if (!xdr_rpc_uint32 (xdrs, &objp->valid_mask))
        return FALSE;
    if (!xdr_rpc_loc_fix_recurrence_e_type (xdrs, &objp->recurrence_type))
        return FALSE;
    if (!xdr_rpc_loc_operation_mode_e_type (xdrs, &objp->preferred_operation_mode))
        return FALSE;
    if (!xdr_rpc_uint32 (xdrs, &objp->preferred_accuracy))
        return FALSE;
    if (!xdr_rpc_uint32 (xdrs, &objp->preferred_response_time))
        return FALSE;
    if (!xdr_rpc_boolean (xdrs, &objp->intermediate_pos_report_enabled))
        return FALSE;
    if (!xdr_rpc_loc_notify_e_type (xdrs, &objp->notify_type))
        return FALSE;
    if (!xdr_rpc_uint32 (xdrs, &objp->min_interval))
        return FALSE;
    if (!xdr_float (xdrs, &objp->min_distance))
        return FALSE;
    if (!xdr_rpc_uint32 (xdrs, &objp->min_dist_sample_interval))
        return FALSE;
    return TRUE;
}
bool_t
xdr_rpc_loc_api_api_version_s_args (XDR *xdrs, rpc_loc_api_api_version_s_args *objp)
{
    register int32_t *buf;

    if (!xdr_rpc_boolean (xdrs, &objp->len_not_null))
        return FALSE;
    return TRUE;
}
bool_t
xdr_rpc_loc_predicted_orbits_auto_download_config_s_type (XDR *xdrs, rpc_loc_predicted_orbits_auto_download_config_s_type *objp)
{
    register int32_t *buf;

    if (!xdr_rpc_boolean (xdrs, &objp->enable))
        return FALSE;
    if (!xdr_u_char (xdrs, &objp->auto_check_every_hrs))
        return FALSE;
    return TRUE;
}
bool_t
xdr_rpc_loc_gnss_info_s_type (XDR *xdrs, rpc_loc_gnss_info_s_type *objp)
{
    register int32_t *buf;

    if (!xdr_rpc_loc_gnss_info_valid_mask_type (xdrs, &objp->valid_mask))
        return FALSE;
    if (!xdr_float (xdrs, &objp->position_dop))
        return FALSE;
    if (!xdr_float (xdrs, &objp->horizontal_dop))
        return FALSE;
    if (!xdr_float (xdrs, &objp->vertical_dop))
        return FALSE;
    if (!xdr_rpc_boolean (xdrs, &objp->altitude_assumed))
        return FALSE;
    if (!xdr_rpc_uint16 (xdrs, &objp->sv_count))
        return FALSE;
    if (!xdr_array (xdrs, (char **)&objp->sv_list.sv_list_val, (u_int *) &objp->sv_list.sv_list_len, 80,
                    sizeof (rpc_loc_sv_info_s_type), (xdrproc_t) xdr_rpc_loc_sv_info_s_type))
        return FALSE;
    return TRUE;
}
bool_t
xdr_rpc_loc_ioctl_data_u_type (XDR *xdrs, rpc_loc_ioctl_data_u_type *objp)
{
    register int32_t *buf;

    if (!xdr_rpc_loc_ioctl_e_type (xdrs, &objp->disc))
        return FALSE;
    switch (objp->disc) {
    case RPC_LOC_IOCTL_SET_FIX_CRITERIA:
        if (!xdr_rpc_loc_fix_criteria_s_type (xdrs, &objp->rpc_loc_ioctl_data_u_type_u.fix_criteria))
            return FALSE;
        break;
    case RPC_LOC_IOCTL_INFORM_NI_USER_RESPONSE:
        if (!xdr_rpc_loc_user_verify_s_type (xdrs, &objp->rpc_loc_ioctl_data_u_type_u.user_verify_resp))
            return FALSE;
        break;
    case RPC_LOC_IOCTL_INJECT_PREDICTED_ORBITS_DATA:
        if (!xdr_rpc_loc_predicted_orbits_data_s_type (xdrs, &objp->rpc_loc_ioctl_data_u_type_u.predicted_orbits_data))
            return FALSE;
        break;
    case RPC_LOC_IOCTL_SET_PREDICTED_ORBITS_DATA_AUTO_DOWNLOAD:
        if (!xdr_rpc_loc_predicted_orbits_auto_download_config_s_type (xdrs, &objp->rpc_loc_ioctl_data_u_type_u.predicted_orbits_auto_download))
            return FALSE;
        break;
    case RPC_LOC_IOCTL_INJECT_UTC_TIME:
        if (!xdr_rpc_loc_assist_data_time_s_type (xdrs, &objp->rpc_loc_ioctl_data_u_type_u.assistance_data_time))
            return FALSE;
        break;
    case RPC_LOC_IOCTL_INJECT_POSITION:
        if (!xdr_rpc_loc_assist_data_pos_s_type (xdrs, &objp->rpc_loc_ioctl_data_u_type_u.assistance_data_position))
            return FALSE;
        break;
    case RPC_LOC_IOCTL_INFORM_SERVER_OPEN_STATUS:
        if (!xdr_rpc_loc_server_open_status_s_type (xdrs, &objp->rpc_loc_ioctl_data_u_type_u.conn_open_status))
            return FALSE;
        break;
    case RPC_LOC_IOCTL_INFORM_SERVER_CLOSE_STATUS:
        if (!xdr_rpc_loc_server_close_status_s_type (xdrs, &objp->rpc_loc_ioctl_data_u_type_u.conn_close_status))
            return FALSE;
        break;
    case RPC_LOC_IOCTL_SEND_WIPER_POSITION_REPORT:
    case RPC_LOC_EVENT_NMEA_1HZ_REPORT:
        if (!xdr_rpc_loc_wiper_position_report_s_type (xdrs, &objp->rpc_loc_ioctl_data_u_type_u.wiper_pos))
            return FALSE;
        break;
    case RPC_LOC_IOCTL_NOTIFY_WIPER_STATUS:
        if (!xdr_rpc_loc_wiper_status_e_type (xdrs, &objp->rpc_loc_ioctl_data_u_type_u.wiper_status))
            return FALSE;
        break;
    case RPC_LOC_IOCTL_SET_ENGINE_LOCK:
        if (!xdr_rpc_loc_lock_e_type (xdrs, &objp->rpc_loc_ioctl_data_u_type_u.engine_lock))
            return FALSE;
        break;
    case RPC_LOC_IOCTL_SET_SBAS_CONFIG:
        if (!xdr_rpc_boolean (xdrs, &objp->rpc_loc_ioctl_data_u_type_u.sbas_mode))
            return FALSE;
        break;
    case RPC_LOC_IOCTL_SET_NMEA_TYPES:
        if (!xdr_rpc_loc_nmea_sentence_type (xdrs, &objp->rpc_loc_ioctl_data_u_type_u.nmea_types))
            return FALSE;
        break;
    case RPC_LOC_IOCTL_SET_ON_DEMAND_LPM:
        if (!xdr_rpc_boolean (xdrs, &objp->rpc_loc_ioctl_data_u_type_u.on_demand_lpm))
            return FALSE;
        break;
    case RPC_LOC_IOCTL_SET_CDMA_PDE_SERVER_ADDR:
    case RPC_LOC_IOCTL_SET_CDMA_MPC_SERVER_ADDR:
    case RPC_LOC_IOCTL_SET_UMTS_SLP_SERVER_ADDR:
    case RPC_LOC_IOCTL_SET_CUSTOM_PDE_SERVER_ADDR:
        if (!xdr_rpc_loc_server_info_s_type (xdrs, &objp->rpc_loc_ioctl_data_u_type_u.server_addr))
            return FALSE;
        break;
    case RPC_LOC_IOCTL_DELETE_ASSIST_DATA:
        if (!xdr_rpc_loc_assist_data_delete_s_type (xdrs, &objp->rpc_loc_ioctl_data_u_type_u.assist_data_delete))
            return FALSE;
        break;
    case RPC_LOC_IOCTL_ACCESS_EFS_DATA:
        if (!xdr_rpc_loc_efs_data_s_type (xdrs, &objp->rpc_loc_ioctl_data_u_type_u.efs_data))
            return FALSE;
        break;
    default:
        break;
    }
    return TRUE;
}