Todo List

Global ntar_add_block_option (ntar_block_handle *block_handle, ntar_option *option)
Because of a limit of the current ntar engine, all the options are saved to disk when the block is closed. As a consequence, the option pointer, as well as all the data stored in it, must remain valid and unmodified until the block is closed.

Global ntar_add_section_option (ntar_section_handle *section_handle, ntar_option *option)
Because of a limit of the current ntar engine, all the options are saved to disk when the section is closed. As a consequence, the option pointer, as well as all the data stored in it, must remain valid and unmodified until the section is closed.

Global ntar_get_previous_section (ntar_file_handle *file_handle, ntar_section_handle **psection_handle)
At the moment it's not implemented nor exported

Global ntar_open_by_handlers (ntar_file_handlers file_handlers, char *flags, ntar_file_handle **pfile_handle)
The flags are completely nonsense. What is the meaning of appending when the user provides the callbacks??

Global plugin_read_data )(void *plugin_state, int byte_order, void *raw_data, size_t raw_data_size, void **data_buffer, size_t *pbuffer_size, size_t *poption_start)
The note on data_buffer in [out] is again confusing. Is it possible that the library calls this function twice (when the fcn succeeds)? I don't think so.

Global plugin_read_option )(void *plugin_state, option_header *opt_header, int byte_order, void *opt_buffer, size_t *pbuffer_size)
The note on opt_buffer in [out] is again confusing. Is it possible that the library calls this function twice (when the fcn succeeds)? I don't think so.

Global plugin_write_data )(void *plugin_state, void *data, void *data_buffer, size_t *pbuffer_size)
The last note is confusing. Is this callback suposed to be called more than once (supposing it succeeds) for one single block. I don't think so. And this should be clearly stated.

Global plugin_write_option )(void *plugin_state, ntar_option *option, void *opt_buffer, size_t *pbuffer_size)
The last note is confusing. Is this callback suposed to be called more than once (supposing it succeeds) for one single block. I don't think so. And this should be clearly stated.

Global ntar_plugins []
The definition of this list here is non-sense, as each source including this file will have its own copy of this array. This does not cause any problem, since all the values in the structures are constant, however it's a waste of memory (and it's not elegant!!).

NTAR documentation. Copyright (c) 2004 - 2005 Condor Engineering, Inc. All rights reserved.