diff --git a/src/lib-sieve/sieve-binary.h b/src/lib-sieve/sieve-binary.h index 9240dfd13abf982ed9550d85576065d82461d7d0..1cdf6d09228622e7fceabcc778df0f3845a74d64 100644 --- a/src/lib-sieve/sieve-binary.h +++ b/src/lib-sieve/sieve-binary.h @@ -32,8 +32,7 @@ const char *sieve_binary_path(struct sieve_binary *sbin); struct sieve_script *sieve_binary_script(struct sieve_binary *sbin); time_t sieve_binary_mtime(struct sieve_binary *sbin); -const struct stat *sieve_binary_stat -(struct sieve_binary *sbin); +const struct stat *sieve_binary_stat(struct sieve_binary *sbin); const char *sieve_binary_script_name(struct sieve_binary *sbin); const char *sieve_binary_script_location(struct sieve_binary *sbin); @@ -58,19 +57,18 @@ void sieve_binary_activate(struct sieve_binary *sbin); * Saving the binary */ -int sieve_binary_save - (struct sieve_binary *sbin, const char *path, bool update, mode_t save_mode, - enum sieve_error *error_r); +int sieve_binary_save(struct sieve_binary *sbin, const char *path, bool update, + mode_t save_mode, enum sieve_error *error_r); /* * Loading the binary */ -struct sieve_binary *sieve_binary_open - (struct sieve_instance *svinst, const char *path, - struct sieve_script *script, enum sieve_error *error_r); -bool sieve_binary_up_to_date - (struct sieve_binary *sbin, enum sieve_compile_flags cpflags); +struct sieve_binary * +sieve_binary_open(struct sieve_instance *svinst, const char *path, + struct sieve_script *script, enum sieve_error *error_r); +bool sieve_binary_up_to_date(struct sieve_binary *sbin, + enum sieve_compile_flags cpflags); /* * Block management @@ -83,26 +81,21 @@ enum sieve_binary_system_block { SBIN_SYSBLOCK_LAST }; -struct sieve_binary_block *sieve_binary_block_create - (struct sieve_binary *sbin); +struct sieve_binary_block *sieve_binary_block_create(struct sieve_binary *sbin); -unsigned int sieve_binary_block_count - (struct sieve_binary *sbin); +unsigned int sieve_binary_block_count(struct sieve_binary *sbin); -struct sieve_binary_block *sieve_binary_block_get - (struct sieve_binary *sbin, unsigned int id); +struct sieve_binary_block * +sieve_binary_block_get(struct sieve_binary *sbin, unsigned int id); -void sieve_binary_block_clear - (struct sieve_binary_block *sblock); +void sieve_binary_block_clear(struct sieve_binary_block *sblock); -size_t sieve_binary_block_get_size - (const struct sieve_binary_block *sblock); +size_t sieve_binary_block_get_size(const struct sieve_binary_block *sblock); -struct sieve_binary *sieve_binary_block_get_binary - (const struct sieve_binary_block *sblock); +struct sieve_binary * +sieve_binary_block_get_binary(const struct sieve_binary_block *sblock); -unsigned int sieve_binary_block_get_id - (const struct sieve_binary_block *sblock); +unsigned int sieve_binary_block_get_id(const struct sieve_binary_block *sblock); /* * Extension support @@ -111,92 +104,95 @@ unsigned int sieve_binary_block_get_id struct sieve_binary_extension { const struct sieve_extension_def *extension; - bool (*binary_pre_save) - (const struct sieve_extension *ext, struct sieve_binary *sbin, - void *context, enum sieve_error *error_r); - bool (*binary_post_save) - (const struct sieve_extension *ext, struct sieve_binary *sbin, - void *context, enum sieve_error *error_r); - bool (*binary_open) - (const struct sieve_extension *ext, struct sieve_binary *sbin, - void *context); - - void (*binary_free) - (const struct sieve_extension *ext, struct sieve_binary *sbin, - void *context); - - bool (*binary_up_to_date) - (const struct sieve_extension *ext, struct sieve_binary *sbin, - void *context, enum sieve_compile_flags cpflags); + bool (*binary_pre_save)(const struct sieve_extension *ext, + struct sieve_binary *sbin, void *context, + enum sieve_error *error_r); + bool (*binary_post_save)(const struct sieve_extension *ext, + struct sieve_binary *sbin, void *context, + enum sieve_error *error_r); + bool (*binary_open)(const struct sieve_extension *ext, + struct sieve_binary *sbin, void *context); + + void (*binary_free)(const struct sieve_extension *ext, + struct sieve_binary *sbin, void *context); + + bool (*binary_up_to_date)(const struct sieve_extension *ext, + struct sieve_binary *sbin, void *context, + enum sieve_compile_flags cpflags); }; -void sieve_binary_extension_set_context - (struct sieve_binary *sbin, const struct sieve_extension *ext, void *context); -const void *sieve_binary_extension_get_context - (struct sieve_binary *sbin, const struct sieve_extension *ext); - -void sieve_binary_extension_set - (struct sieve_binary *sbin, const struct sieve_extension *ext, - const struct sieve_binary_extension *bext, void *context); - -struct sieve_binary_block *sieve_binary_extension_create_block - (struct sieve_binary *sbin, const struct sieve_extension *ext); -struct sieve_binary_block *sieve_binary_extension_get_block -(struct sieve_binary *sbin, const struct sieve_extension *ext); - -int sieve_binary_extension_link - (struct sieve_binary *sbin, const struct sieve_extension *ext); -const struct sieve_extension *sieve_binary_extension_get_by_index - (struct sieve_binary *sbin, int index); -int sieve_binary_extension_get_index - (struct sieve_binary *sbin, const struct sieve_extension *ext); +void sieve_binary_extension_set_context(struct sieve_binary *sbin, + const struct sieve_extension *ext, + void *context); +const void * +sieve_binary_extension_get_context(struct sieve_binary *sbin, + const struct sieve_extension *ext); + +void sieve_binary_extension_set(struct sieve_binary *sbin, + const struct sieve_extension *ext, + const struct sieve_binary_extension *bext, + void *context); + +struct sieve_binary_block * +sieve_binary_extension_create_block(struct sieve_binary *sbin, + const struct sieve_extension *ext); +struct sieve_binary_block * +sieve_binary_extension_get_block(struct sieve_binary *sbin, + const struct sieve_extension *ext); + +int sieve_binary_extension_link(struct sieve_binary *sbin, + const struct sieve_extension *ext); +const struct sieve_extension * +sieve_binary_extension_get_by_index(struct sieve_binary *sbin, int index); +int sieve_binary_extension_get_index(struct sieve_binary *sbin, + const struct sieve_extension *ext); int sieve_binary_extensions_count(struct sieve_binary *sbin); - /* * Code emission */ /* Low-level emission functions */ -sieve_size_t sieve_binary_emit_data - (struct sieve_binary_block *sblock, const void *data, sieve_size_t size); -sieve_size_t sieve_binary_emit_byte - (struct sieve_binary_block *sblock, uint8_t byte); -void sieve_binary_update_data - (struct sieve_binary_block *sblock, sieve_size_t address, const void *data, - sieve_size_t size); +sieve_size_t sieve_binary_emit_data(struct sieve_binary_block *sblock, + const void *data, sieve_size_t size); +sieve_size_t sieve_binary_emit_byte(struct sieve_binary_block *sblock, + uint8_t byte); +void sieve_binary_update_data(struct sieve_binary_block *sblock, + sieve_size_t address, const void *data, + sieve_size_t size); /* Offset emission functions */ -sieve_size_t sieve_binary_emit_offset - (struct sieve_binary_block *sblock, sieve_offset_t offset); -void sieve_binary_resolve_offset - (struct sieve_binary_block *sblock, sieve_size_t address); +sieve_size_t sieve_binary_emit_offset(struct sieve_binary_block *sblock, + sieve_offset_t offset); +void sieve_binary_resolve_offset(struct sieve_binary_block *sblock, + sieve_size_t address); /* Literal emission functions */ -sieve_size_t sieve_binary_emit_integer - (struct sieve_binary_block *sblock, sieve_number_t integer); -sieve_size_t sieve_binary_emit_string - (struct sieve_binary_block *sblock, const string_t *str); -sieve_size_t sieve_binary_emit_cstring - (struct sieve_binary_block *sblock, const char *str); +sieve_size_t sieve_binary_emit_integer(struct sieve_binary_block *sblock, + sieve_number_t integer); +sieve_size_t sieve_binary_emit_string(struct sieve_binary_block *sblock, + const string_t *str); +sieve_size_t sieve_binary_emit_cstring(struct sieve_binary_block *sblock, + const char *str); -static inline sieve_size_t sieve_binary_emit_unsigned - (struct sieve_binary_block *sblock, unsigned int count) +static inline sieve_size_t +sieve_binary_emit_unsigned(struct sieve_binary_block *sblock, + unsigned int count) { return sieve_binary_emit_integer(sblock, count); } /* Extension emission functions */ -sieve_size_t sieve_binary_emit_extension - (struct sieve_binary_block *sblock, const struct sieve_extension *ext, - unsigned int offset); -void sieve_binary_emit_extension_object - (struct sieve_binary_block *sblock, - const struct sieve_extension_objects *objs, unsigned int code); +sieve_size_t sieve_binary_emit_extension(struct sieve_binary_block *sblock, + const struct sieve_extension *ext, + unsigned int offset); +void sieve_binary_emit_extension_object( + struct sieve_binary_block *sblock, + const struct sieve_extension_objects *objs, unsigned int code); /* * Code retrieval @@ -204,45 +200,44 @@ void sieve_binary_emit_extension_object /* Literals */ -bool sieve_binary_read_byte - (struct sieve_binary_block *sblock, sieve_size_t *address, - unsigned int *byte_r) ATTR_NULL(3); -bool sieve_binary_read_code - (struct sieve_binary_block *sblock, sieve_size_t *address, - signed int *code_r) ATTR_NULL(3); -bool sieve_binary_read_offset - (struct sieve_binary_block *sblock, sieve_size_t *address, - sieve_offset_t *offset_r) ATTR_NULL(3); -bool sieve_binary_read_integer - (struct sieve_binary_block *sblock, sieve_size_t *address, - sieve_number_t *int_r) ATTR_NULL(3); -bool sieve_binary_read_string - (struct sieve_binary_block *sblock, sieve_size_t *address, - string_t **str_r) ATTR_NULL(3); - -static inline bool sieve_binary_read_unsigned -(struct sieve_binary_block *sblock, sieve_size_t *address, - unsigned int *count_r) ATTR_NULL(3) +bool sieve_binary_read_byte(struct sieve_binary_block *sblock, + sieve_size_t *address, unsigned int *byte_r) + ATTR_NULL(3); +bool sieve_binary_read_code(struct sieve_binary_block *sblock, + sieve_size_t *address, signed int *code_r) + ATTR_NULL(3); +bool sieve_binary_read_offset(struct sieve_binary_block *sblock, + sieve_size_t *address, sieve_offset_t *offset_r) + ATTR_NULL(3); +bool sieve_binary_read_integer(struct sieve_binary_block *sblock, + sieve_size_t *address, sieve_number_t *int_r) + ATTR_NULL(3); +bool sieve_binary_read_string(struct sieve_binary_block *sblock, + sieve_size_t *address, string_t **str_r) + ATTR_NULL(3); + +static inline bool ATTR_NULL(3) +sieve_binary_read_unsigned(struct sieve_binary_block *sblock, + sieve_size_t *address, unsigned int *count_r) { sieve_number_t integer = 0; - if ( !sieve_binary_read_integer(sblock, address, &integer) ) + if (!sieve_binary_read_integer(sblock, address, &integer)) return FALSE; - - if ( count_r != NULL ) + if (count_r != NULL) *count_r = integer; - return TRUE; } /* Extensions */ -bool sieve_binary_read_extension - (struct sieve_binary_block *sblock, sieve_size_t *address, - unsigned int *offset_r, const struct sieve_extension **ext_r); -const void *sieve_binary_read_extension_object - (struct sieve_binary_block *sblock, sieve_size_t *address, - const struct sieve_extension_objects *objs); +bool sieve_binary_read_extension(struct sieve_binary_block *sblock, + sieve_size_t *address, unsigned int *offset_r, + const struct sieve_extension **ext_r); +const void * +sieve_binary_read_extension_object(struct sieve_binary_block *sblock, + sieve_size_t *address, + const struct sieve_extension_objects *objs); /* * Debug info @@ -252,26 +247,26 @@ const void *sieve_binary_read_extension_object struct sieve_binary_debug_writer; -struct sieve_binary_debug_writer *sieve_binary_debug_writer_init - (struct sieve_binary_block *sblock); -void sieve_binary_debug_writer_deinit - (struct sieve_binary_debug_writer **dwriter); +struct sieve_binary_debug_writer * +sieve_binary_debug_writer_init(struct sieve_binary_block *sblock); +void sieve_binary_debug_writer_deinit( + struct sieve_binary_debug_writer **dwriter); -void sieve_binary_debug_emit - (struct sieve_binary_debug_writer *dwriter, sieve_size_t code_address, - unsigned int code_line, unsigned int code_column); +void sieve_binary_debug_emit(struct sieve_binary_debug_writer *dwriter, + sieve_size_t code_address, unsigned int code_line, + unsigned int code_column); /* Reader */ -struct sieve_binary_debug_reader *sieve_binary_debug_reader_init - (struct sieve_binary_block *sblock); -void sieve_binary_debug_reader_deinit - (struct sieve_binary_debug_reader **dreader); +struct sieve_binary_debug_reader * +sieve_binary_debug_reader_init(struct sieve_binary_block *sblock); +void sieve_binary_debug_reader_deinit( + struct sieve_binary_debug_reader **dreader); -void sieve_binary_debug_reader_reset - (struct sieve_binary_debug_reader *dreader); +void sieve_binary_debug_reader_reset(struct sieve_binary_debug_reader *dreader); -unsigned int sieve_binary_debug_read_line - (struct sieve_binary_debug_reader *dreader, sieve_size_t code_address); +unsigned int +sieve_binary_debug_read_line(struct sieve_binary_debug_reader *dreader, + sieve_size_t code_address); #endif