home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 2001 May / SGI Freeware 2001 May - Disc 3.iso / dist / fw_openssl.idb / usr / freeware / include / openssl / comp.h.z / comp.h
Encoding:
C/C++ Source or Header  |  2001-01-10  |  1.2 KB  |  62 lines

  1.  
  2. #ifndef HEADER_COMP_H
  3. #define HEADER_COMP_H
  4.  
  5. #include <openssl/crypto.h>
  6.  
  7. #ifdef  __cplusplus
  8. extern "C" {
  9. #endif
  10.  
  11. typedef struct comp_method_st
  12.     {
  13.     int type;        /* NID for compression library */
  14.     const char *name;    /* A text string to identify the library */
  15.     int (*init)();
  16.     void (*finish)();
  17.     int (*compress)();
  18.     int (*expand)();
  19.     long (*ctrl)();
  20.     long (*callback_ctrl)();
  21.     } COMP_METHOD;
  22.  
  23. typedef struct comp_ctx_st
  24.     {
  25.     COMP_METHOD *meth;
  26.     unsigned long compress_in;
  27.     unsigned long compress_out;
  28.     unsigned long expand_in;
  29.     unsigned long expand_out;
  30.  
  31.     CRYPTO_EX_DATA    ex_data;
  32.     } COMP_CTX;
  33.  
  34.  
  35. COMP_CTX *COMP_CTX_new(COMP_METHOD *meth);
  36. void COMP_CTX_free(COMP_CTX *ctx);
  37. int COMP_compress_block(COMP_CTX *ctx, unsigned char *out, int olen,
  38.     unsigned char *in, int ilen);
  39. int COMP_expand_block(COMP_CTX *ctx, unsigned char *out, int olen,
  40.     unsigned char *in, int ilen);
  41. COMP_METHOD *COMP_rle(void );
  42. #ifdef ZLIB
  43. COMP_METHOD *COMP_zlib(void );
  44. #endif
  45.  
  46. /* BEGIN ERROR CODES */
  47. /* The following lines are auto generated by the script mkerr.pl. Any changes
  48.  * made after this point may be overwritten when the script is next run.
  49.  */
  50.  
  51. /* Error codes for the COMP functions. */
  52.  
  53. /* Function codes. */
  54.  
  55. /* Reason codes. */
  56.  
  57. #ifdef  __cplusplus
  58. }
  59. #endif
  60. #endif
  61.  
  62.