diff options
Diffstat (limited to 'include/libcasio/file.h')
-rw-r--r-- | include/libcasio/file.h | 88 |
1 files changed, 73 insertions, 15 deletions
diff --git a/include/libcasio/file.h b/include/libcasio/file.h index 8c02ad7..26eee96 100644 --- a/include/libcasio/file.h +++ b/include/libcasio/file.h @@ -23,6 +23,9 @@ # include "version.h" # include "date.h" +CASIO_BEGIN_NAMESPACE +CASIO_STRUCT(casio_file, casio_file_t) + /* --- * Description. * --- */ @@ -43,6 +46,7 @@ typedef unsigned int casio_filetype_t; # define casio_filetype_storage 0x0040 /* (with aliases) */ + # define casio_filetype_pict casio_filetype_picture # define casio_filetype_eactivity casio_filetype_eact # define casio_filetype_e_activity casio_filetype_eact @@ -65,26 +69,31 @@ typedef unsigned int casio_filefor_t; * The elements can be initialized or uninitialized depending on the * file type. */ -typedef struct casio_file_s { +struct casio_file { /* file type, destination platform */ + casio_filetype_t casio_file_type; casio_filefor_t casio_file_for; /* Add-in related data */ + time_t casio_file_creation_date; unsigned char *casio_file_content; size_t casio_file_size; /* Lists for various purposes */ + int casio_file_count; int casio_file__size; char **casio_file_messages; casio_pixel_t ***casio_file_fkeys; /* Main memory */ + casio_mcs_t *casio_file_mcs; /* Picture-related data (also used for add-in icons) */ + int casio_file_width; int casio_file_height; casio_pixel_t **casio_file_pixels; /* 0x0RGB */ @@ -92,33 +101,36 @@ typedef struct casio_file_s { casio_pixel_t **casio_file_icon_sel; /* 0x0RGB */ /* Other string data */ + char casio_file_title[17]; char casio_file_intname[12]; casio_version_t casio_file_version; -} casio_file_t; +}; /* --- * Methods. * --- */ +CASIO_BEGIN_DECLS + /* Make a file. */ -CASIO_EXTERN int CASIO_EXPORT casio_make_picture +CASIO_EXTERN(int) casio_make_picture OF((casio_file_t **casio__handle, unsigned int casio__width, unsigned int casio__height)); -CASIO_EXTERN int CASIO_EXPORT casio_make_mcs - OF((casio_file_t **casio__handle, int casio__count)); +CASIO_EXTERN(int) casio_make_mcs + OF((casio_file_t **casio__handle)); -CASIO_EXTERN int CASIO_EXPORT casio_make_fkey +CASIO_EXTERN(int) casio_make_fkey OF((casio_file_t **casio__handle, casio_filefor_t casio__for, int casio__count)); -CASIO_EXTERN int CASIO_EXPORT casio_make_lang +CASIO_EXTERN(int) casio_make_lang OF((casio_file_t **casio__handle, casio_filefor_t casio__for, int casio__count)); -CASIO_EXTERN int CASIO_EXPORT casio_make_addin +CASIO_EXTERN(int) casio_make_addin OF((casio_file_t **casio__handle, casio_filefor_t casio__for, size_t casio__size, char const *casio__name, char const *casio__internal, @@ -126,20 +138,66 @@ CASIO_EXTERN int CASIO_EXPORT casio_make_addin /* Free a file. */ -CASIO_EXTERN void CASIO_EXPORT casio_free_file +CASIO_EXTERN(void) casio_free_file OF((casio_file_t *casio__handle)); /* Decode a file. */ -CASIO_EXTERN int CASIO_EXPORT casio_decode +CASIO_EXTERN(int) casio_decode OF((casio_file_t **casio__handle, - char const *casio__path, tio_stream_t *casio__buffer, + char const *casio__filename, tio_stream_t *casio__buffer, casio_filetype_t casio__expected_types)); -/* Open and decode a file. */ +/* General management functions for files */ -CASIO_EXTERN int CASIO_EXPORT casio_open_file - OF((casio_file_t **casio__handle, - char const *casio__path, casio_filetype_t casio__expected_types)); +CASIO_EXTERN(int) casio_get_file_type + OF((casio_file_t *casio__handle, casio_filetype_t *casio__type)); +CASIO_EXTERN(int) casio_get_file_for + OF((casio_file_t *casio__handle, casio_filefor_t *casio__for)); + +/* Management functions for add-in functions. */ + +CASIO_EXTERN(int) casio_get_addin_code + OF((casio_file_t *casio__handle, void **casio__codep, + size_t *casio__sizep)); +CASIO_EXTERN(int) casio_set_addin_code + OF((casio_file_t *casio__handle, void *casio__code, size_t casio__size)); + +CASIO_EXTERN(int) casio_get_addin_time + OF((casio_file_t *casio__handle, time_t *casio__timep)); +CASIO_EXTERN(int) casio_set_addin_time + OF((casio_file_t *casio__handle, time_t const *casio__timep)); + +CASIO_EXTERN(int) casio_get_addin_name + OF((casio_file_t *casio__handle, char const **casio__name)); +CASIO_EXTERN(int) casio_set_addin_name + OF((casio_file_t *casio__handle, char const *casio__name)); + +CASIO_EXTERN(int) casio_get_addin_internal_name + OF((casio_file_t *casio__handle, char const **casio__intname)); +CASIO_EXTERN(int) casio_set_addin_internal_name + OF((casio_file_t *casio__handle, char const *casio__intname)); + +CASIO_EXTERN(int) casio_get_addin_version + OF((casio_file_t *casio__handle, casio_version_t const **casio__version)); +CASIO_EXTERN(int) casio_set_addin_version + OF((casio_file_t *casio__handle, casio_version_t const *casio__version)); + +/* Management functions for main memory files. */ + +CASIO_EXTERN(int) casio_get_file_mcs + OF((casio_file_t *casio__handle, casio_mcs_t **casio__mcs)); +CASIO_EXTERN(int) casio_set_file_mcs + OF((casio_file_t *casio__handle, casio_mcs_t *casio__mcs)); + +/* Management functions for e-activities. + * TODO */ + +/* Management functions for pictures. */ + +CASIO_EXTERN(int) casio_get_file_picture + +CASIO_END_DECLS +CASIO_END_NAMESPACE #endif /* LIBCASIO_FILE_H */ |