const char *avio_enum_protocols(void **opaque, int output)

{

    URLProtocol *p;

    *opaque = ffurl_protocol_next(*opaque);

    if (!(p = *opaque))

        return NULL;

    if ((output && p->url_write) || (!output && p->url_read))

        return p->name;

    return avio_enum_protocols(opaque, output);

}

const char *avio_enum_protocols(void **opaque, int output)

{

    URLProtocol *p;

    *opaque = ffurl_protocol_next(*opaque);

    if (!(p = *opaque))

        return NULL;

    if ((output && p->url_write) || (!output && p->url_read))

        return p->name;

    return avio_enum_protocols(opaque, output);

}

const char *FUNC_0(void **VAR_0, int VAR_1)

{

    URLProtocol *p;

    *VAR_0 = ffurl_protocol_next(*VAR_0);

    if (!(p = *VAR_0))

        return NULL;

    if ((VAR_1 && p->url_write) || (!VAR_1 && p->url_read))

        return p->name;

    return FUNC_0(VAR_0, VAR_1);

}

const char *FUNC_0(void **VAR_0, int VAR_1)
{ URLProtocol *p; *VAR_0 = ffurl_protocol_next(*VAR_0); if (!(p = *VAR_0))
return NULL; if ((VAR_1 && p->url_write) || (!VAR_1 && p->url_read))
return p->name; return FUNC_0(VAR_0, VAR_1); }