home *** CD-ROM | disk | FTP | other *** search
/ Computer Shopper 217 / DPCS0306DVD.ISO / Toolkit / Internet / FileZilla / Server / FileZilla_Server-0.9.11.exe / source / includes / openssl / comp.h < prev    next >
Encoding:
C/C++ Source or Header  |  2003-03-20  |  1.6 KB  |  67 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_ctx_st COMP_CTX;
  12.  
  13. typedef struct comp_method_st
  14.     {
  15.     int type;        /* NID for compression library */
  16.     const char *name;    /* A text string to identify the library */
  17.     int (*init)(COMP_CTX *ctx);
  18.     void (*finish)(COMP_CTX *ctx);
  19.     int (*compress)(COMP_CTX *ctx,
  20.             unsigned char *out, unsigned int olen,
  21.             unsigned char *in, unsigned int ilen);
  22.     int (*expand)(COMP_CTX *ctx,
  23.               unsigned char *out, unsigned int olen,
  24.               unsigned char *in, unsigned int ilen);
  25.     /* The following two do NOTHING, but are kept for backward compatibility */
  26.     long (*ctrl)(void);
  27.     long (*callback_ctrl)(void);
  28.     } COMP_METHOD;
  29.  
  30. struct comp_ctx_st
  31.     {
  32.     COMP_METHOD *meth;
  33.     unsigned long compress_in;
  34.     unsigned long compress_out;
  35.     unsigned long expand_in;
  36.     unsigned long expand_out;
  37.  
  38.     CRYPTO_EX_DATA    ex_data;
  39.     };
  40.  
  41.  
  42. COMP_CTX *COMP_CTX_new(COMP_METHOD *meth);
  43. void COMP_CTX_free(COMP_CTX *ctx);
  44. int COMP_compress_block(COMP_CTX *ctx, unsigned char *out, int olen,
  45.     unsigned char *in, int ilen);
  46. int COMP_expand_block(COMP_CTX *ctx, unsigned char *out, int olen,
  47.     unsigned char *in, int ilen);
  48. COMP_METHOD *COMP_rle(void );
  49. COMP_METHOD *COMP_zlib(void );
  50.  
  51. /* BEGIN ERROR CODES */
  52. /* The following lines are auto generated by the script mkerr.pl. Any changes
  53.  * made after this point may be overwritten when the script is next run.
  54.  */
  55. void ERR_load_COMP_strings(void);
  56.  
  57. /* Error codes for the COMP functions. */
  58.  
  59. /* Function codes. */
  60.  
  61. /* Reason codes. */
  62.  
  63. #ifdef  __cplusplus
  64. }
  65. #endif
  66. #endif
  67.