Exemplo n.º 1
0
int test_read (BIO *b, char *buf, int sz)
{
  struct test_ctx *ctx = bio_ctx (b);
  if (sz <= 0)
    return 0;
  return buf_drain (&ctx->in, &ctx->insz, (unsigned char *) buf, sz);
}
Exemplo n.º 2
0
int test_write (BIO *b, const char *buf, int sz)
{
  struct test_ctx *ctx = bio_ctx (b);
  if (sz <= 0)
    return 0;
  buf_fill (&ctx->out, &ctx->outsz, (unsigned char *) buf, sz);
  return sz;
}
Exemplo n.º 3
0
int test_free(BIO *b)
{
  struct test_ctx *ctx;
  if (!b || !b->ptr)
    return 1;
  ctx = bio_ctx(b);
  free(ctx->in);
  free(ctx->out);
  return 1;
}
Exemplo n.º 4
0
void API BIO_test_add_input(BIO *b, const unsigned char *buf, size_t bufsz)
{
  struct test_ctx *c = bio_ctx(b);
  return buf_fill(&c->in, &c->insz, buf, bufsz);
}
Exemplo n.º 5
0
size_t API BIO_test_get_output(BIO *b, unsigned char *buf, size_t bufsz)
{
  struct test_ctx *c = bio_ctx(b);
  return buf_drain(&c->out, &c->outsz, buf, bufsz);
}
Exemplo n.º 6
0
size_t API BIO_test_output_left(BIO *b)
{
  return bio_ctx(b)->outsz;
}