comp_local.h 1.1 KB

123456789101112131415161718192021222324252627282930
  1. /*
  2. * Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved.
  3. *
  4. * Licensed under the Apache License 2.0 (the "License"). You may not use
  5. * this file except in compliance with the License. You can obtain a copy
  6. * in the file LICENSE in the source distribution or at
  7. * https://www.openssl.org/source/license.html
  8. */
  9. struct comp_method_st {
  10. int type; /* NID for compression library */
  11. const char *name; /* A text string to identify the library */
  12. int (*init) (COMP_CTX *ctx);
  13. void (*finish) (COMP_CTX *ctx);
  14. ossl_ssize_t (*compress) (COMP_CTX *ctx,
  15. unsigned char *out, size_t olen,
  16. unsigned char *in, size_t ilen);
  17. ossl_ssize_t (*expand) (COMP_CTX *ctx,
  18. unsigned char *out, size_t olen,
  19. unsigned char *in, size_t ilen);
  20. };
  21. struct comp_ctx_st {
  22. struct comp_method_st *meth;
  23. unsigned long compress_in;
  24. unsigned long compress_out;
  25. unsigned long expand_in;
  26. unsigned long expand_out;
  27. void* data;
  28. };