assh/assh_compress.h header reference
Description [link]
This header file contains API descriptors for compression algorithm modules implemented in the library.
See also compalgos and coremod.
Header inclusion [link]
Members [link]
Types [link]
- struct assh_algo_compress_s
- typedef void (assh_compress_cleanup_t)(struct assh_context_s *c, void *ctx_)
- typedef assh_status_t (assh_compress_init_t)(struct assh_context_s *c, void *ctx_, assh_bool_t compress)
- typedef assh_status_t (assh_compress_process_t)(struct assh_context_s *c, void *ctx_, struct assh_packet_s **p_, assh_bool_t auth_done)
Functions [link]
- const struct assh_algo_compress_s * assh_algo_compress(const struct assh_algo_s *algo)
- assh_status_t assh_algo_compress_by_name_static(const struct assh_algo_s **table, const char *name, size_t name_len, const struct assh_algo_compress_s **cpa, const struct assh_algo_name_s **namep)
- assh_status_t assh_algo_compress_by_name(struct assh_context_s *c, const char *name, size_t name_len, const struct assh_algo_compress_s **cpa, const struct assh_algo_name_s **namep)
Constant [link]
- const struct assh_algo_compress_s assh_compress_none
Macros [link]
Members detail [link]
const struct assh_algo_compress_s * assh_algo_compress(const struct assh_algo_s *algo) [link]
This function is declared in assh/assh_compress.h source file, line 86.
This function casts and returns the passed pointer if the algorithm class is ASSH_ALGO_COMPRESS. In other cases, NULL is returned.
assh_status_t assh_algo_compress_by_name_static(const struct assh_algo_s **table, const char *name, size_t name_len, const struct assh_algo_compress_s **cpa, const struct assh_algo_name_s **namep) [link]
This function is declared in assh/assh_compress.h source file, line 100.
This function finds a compression algorithm in a NULL terminated array of pointers to algorithm descriptors.
See also assh_algo_by_name_static.
struct assh_algo_compress_s [link]
This struct is declared in assh/assh_compress.h source file, line 72.
This struct is the compression algorithm descriptor structure. It can be casted to the struct assh_algo_s type.
See also coremod.
Field | Description |
---|---|
struct assh_algo_s algo; | |
size_t ctx_size; | Size of the context structure needed to initialize the algorithm. |
assh_compress_init_t * f_init; | |
assh_compress_process_t * f_process; | |
assh_compress_cleanup_t * f_cleanup; |
const struct assh_algo_compress_s assh_compress_none [link]
This constant is declared in assh/assh_compress.h source file, line 119.
#define ASSH_COMPRESS_CLEANUP_FCN(n) [link]
This macro is for internal use only.
This macro is declared in assh/assh_compress.h source file, line 60.
This macro expands to:
void (n)(struct assh_context_s *c, void *ctx_)
See also assh_compress_cleanup_t.
#define ASSH_COMPRESS_INIT_FCN(n) [link]
This macro is for internal use only.
This macro is declared in assh/assh_compress.h source file, line 40.
This macro expands to:
ASSH_WARN_UNUSED_RESULT assh_status_t (n)(struct assh_context_s *c,
void *ctx_, assh_bool_t compress)
See also assh_compress_init_t.
#define ASSH_COMPRESS_PROCESS_FCN(n) [link]
This macro is for internal use only.
This macro is declared in assh/assh_compress.h source file, line 49.
This macro expands to:
ASSH_WARN_UNUSED_RESULT assh_status_t (n)(struct assh_context_s *c,
void *ctx_, struct assh_packet_s **p_,
assh_bool_t auth_done)
See also assh_compress_process_t.
assh_status_t assh_algo_compress_by_name(struct assh_context_s *c, const char *name, size_t name_len, const struct assh_algo_compress_s **cpa, const struct assh_algo_name_s **namep) [link]
This function is for internal use only.
This function is declared in assh/assh_compress.h source file, line 111.
This function finds a registered compression algorithm.
See also assh_algo_by_name.
typedef void (assh_compress_cleanup_t)(struct assh_context_s *c, void *ctx_) [link]
This typedef is for internal use only.
This typedef is declared in assh/assh_compress.h source file, line 66.
This declaration involves expansion of the ASSH_COMPRESS_CLEANUP_FCN macro.
This typedef defines the function type for the hash context cleanup operation of the hash module interface.
typedef assh_status_t (assh_compress_init_t)(struct assh_context_s *c, void *ctx_, assh_bool_t compress) [link]
This typedef is for internal use only.
This typedef is declared in assh/assh_compress.h source file, line 47.
This declaration involves expansion of the ASSH_COMPRESS_INIT_FCN macro.
This typedef defines the function type for the initialization operation of the compression module interface.
typedef assh_status_t (assh_compress_process_t)(struct assh_context_s *c, void *ctx_, struct assh_packet_s **p_, assh_bool_t auth_done) [link]
This typedef is for internal use only.
This typedef is declared in assh/assh_compress.h source file, line 58.
This declaration involves expansion of the ASSH_COMPRESS_PROCESS_FCN macro.
This typedef defines the function type for the data processing operation of the compression module interface. This function should rely on the assh_packet_realloc_raw function.