Ejemplo n.º 1
0
ssize_t
cdc_write(const uint8_t *buf, size_t len, struct cdc_ctx *ctx)
{
        size_t max_len;

        crit_enter();
        max_len = cdc_write_space(ctx);
        if (len > max_len)
                len = max_len;

        memcpy(&ctx->outbuf[ctx->out_pos], buf, len);
        ctx->out_pos += len;

        cdc_tx_done(ctx->outbuf, -1, ctx);
        crit_exit();

        return (len);
}
Ejemplo n.º 2
0
int
outpipe_space(size_t len)
{
        return (cdc_write_space(&cdc) >= len);
}