void visit_type_uint16(Visitor *v, uint16_t *obj, const char *name, Error **errp)

{

    int64_t value;



    if (v->type_uint16) {

        v->type_uint16(v, obj, name, errp);

    } else {

        value = *obj;

        v->type_int64(v, &value, name, errp);

        if (value < 0 || value > UINT16_MAX) {

            /* FIXME questionable reuse of errp if callback changed

               value on error */

            error_setg(errp, QERR_INVALID_PARAMETER_VALUE,

                       name ? name : "null", "uint16_t");

            return;

        }

        *obj = value;

    }

}

void visit_type_uint16(Visitor *v, uint16_t *obj, const char *name, Error **errp)

{

    int64_t value;



    if (v->type_uint16) {

        v->type_uint16(v, obj, name, errp);

    } else {

        value = *obj;

        v->type_int64(v, &value, name, errp);

        if (value < 0 || value > UINT16_MAX) {

            



            error_setg(errp, QERR_INVALID_PARAMETER_VALUE,

                       name ? name : "null", "uint16_t");

            return;

        }

        *obj = value;

    }

}

void FUNC_0(Visitor *VAR_0, uint16_t *VAR_1, const char *VAR_2, Error **VAR_3)

{

    int64_t value;



    if (VAR_0->type_uint16) {

        VAR_0->type_uint16(VAR_0, VAR_1, VAR_2, VAR_3);

    } else {

        value = *VAR_1;

        VAR_0->type_int64(VAR_0, &value, VAR_2, VAR_3);

        if (value < 0 || value > UINT16_MAX) {

            



            error_setg(VAR_3, QERR_INVALID_PARAMETER_VALUE,

                       VAR_2 ? VAR_2 : "null", "uint16_t");

            return;

        }

        *VAR_1 = value;

    }

}

void FUNC_0(Visitor *VAR_0, uint16_t *VAR_1, const char *VAR_2, Error **VAR_3)
{ int64_t value; if (VAR_0->type_uint16) { VAR_0->type_uint16(VAR_0, VAR_1, VAR_2, VAR_3); } else { value = *VAR_1; VAR_0->type_int64(VAR_0, &value, VAR_2, VAR_3); if (value < 0 || value > UINT16_MAX) { error_setg(VAR_3, QERR_INVALID_PARAMETER_VALUE,
VAR_2 ? VAR_2 : "null", "uint16_t"); return; } *VAR_1 = value; } }