Use zip_XXX_t instead of struct zip_XXX or enum zip_XXX.
diff --git a/lib/zip.h b/lib/zip.h
index ae9173f..04a391d 100644
--- a/lib/zip.h
+++ b/lib/zip.h
@@ -284,102 +284,101 @@
 
 typedef zip_uint32_t zip_flags_t;    
 
-typedef zip_int64_t (*zip_source_callback)(void *, void *, zip_uint64_t,
-					   enum zip_source_cmd);
+typedef zip_int64_t (*zip_source_callback)(void *, void *, zip_uint64_t, zip_source_cmd_t);
 
 
 #ifndef ZIP_DISABLE_DEPRECATED
-ZIP_EXTERN zip_int64_t zip_add(struct zip *, const char *, zip_source_t *); /* use zip_file_add */
-ZIP_EXTERN zip_int64_t zip_add_dir(struct zip *, const char *); /* use zip_dir_add */
-ZIP_EXTERN const char *zip_get_file_comment(struct zip *, zip_uint64_t, int *, int); /* use zip_file_get_comment */
-ZIP_EXTERN int zip_get_num_files(struct zip *);  /* use zip_get_num_entries instead */
-ZIP_EXTERN int zip_rename(struct zip *, zip_uint64_t, const char *); /* use zip_file_rename */
-ZIP_EXTERN int zip_replace(struct zip *, zip_uint64_t, zip_source_t *); /* use zip_file_replace */
-ZIP_EXTERN int zip_set_file_comment(struct zip *, zip_uint64_t, const char *, int); /* use zip_file_set_comment */
+ZIP_EXTERN zip_int64_t zip_add(zip_t *, const char *, zip_source_t *); /* use zip_file_add */
+ZIP_EXTERN zip_int64_t zip_add_dir(zip_t *, const char *); /* use zip_dir_add */
+ZIP_EXTERN const char *zip_get_file_comment(zip_t *, zip_uint64_t, int *, int); /* use zip_file_get_comment */
+ZIP_EXTERN int zip_get_num_files(zip_t *);  /* use zip_get_num_entries instead */
+ZIP_EXTERN int zip_rename(zip_t *, zip_uint64_t, const char *); /* use zip_file_rename */
+ZIP_EXTERN int zip_replace(zip_t *, zip_uint64_t, zip_source_t *); /* use zip_file_replace */
+ZIP_EXTERN int zip_set_file_comment(zip_t *, zip_uint64_t, const char *, int); /* use zip_file_set_comment */
 ZIP_EXTERN int zip_error_get_sys_type(int); /* use zip_error_system_type */
-ZIP_EXTERN void zip_error_get(struct zip *, int *, int *); /* use zip_get_error, zip_error_code_zip / zip_error_code_system */
-ZIP_EXTERN void zip_file_error_get(struct zip_file *, int *, int *); /* use zip_file_get_error, zip_error_code_zip / zip_error_code_system */
+ZIP_EXTERN void zip_error_get(zip_t *, int *, int *); /* use zip_get_error, zip_error_code_zip / zip_error_code_system */
+ZIP_EXTERN void zip_file_error_get(zip_file_t *, int *, int *); /* use zip_file_get_error, zip_error_code_zip / zip_error_code_system */
 #endif
 
-ZIP_EXTERN int zip_archive_set_tempdir(struct zip *, const char *);
-ZIP_EXTERN int zip_close(struct zip *);
-ZIP_EXTERN int zip_delete(struct zip *, zip_uint64_t);
-ZIP_EXTERN zip_int64_t zip_dir_add(struct zip *, const char *, zip_flags_t);
-ZIP_EXTERN void zip_discard(struct zip *);
+ZIP_EXTERN int zip_archive_set_tempdir(zip_t *, const char *);
+ZIP_EXTERN int zip_close(zip_t *);
+ZIP_EXTERN int zip_delete(zip_t *, zip_uint64_t);
+ZIP_EXTERN zip_int64_t zip_dir_add(zip_t *, const char *, zip_flags_t);
+ZIP_EXTERN void zip_discard(zip_t *);
 
-ZIP_EXTERN struct zip_error *zip_get_error(struct zip *);
-ZIP_EXTERN void zip_error_clear(struct zip *);
-ZIP_EXTERN int zip_error_code_zip(const struct zip_error *);
-ZIP_EXTERN int zip_error_code_system(const struct zip_error *);
-ZIP_EXTERN void zip_error_fini(struct zip_error *);
-ZIP_EXTERN void zip_error_init(struct zip_error *);
+ZIP_EXTERN zip_error_t *zip_get_error(zip_t *);
+ZIP_EXTERN void zip_error_clear(zip_t *);
+ZIP_EXTERN int zip_error_code_zip(const zip_error_t *);
+ZIP_EXTERN int zip_error_code_system(const zip_error_t *);
+ZIP_EXTERN void zip_error_fini(zip_error_t *);
+ZIP_EXTERN void zip_error_init(zip_error_t *);
 ZIP_EXTERN void zip_error_set(zip_error_t *, int, int);
-ZIP_EXTERN const char *zip_error_strerror(struct zip_error *);
-ZIP_EXTERN int zip_error_system_type(const struct zip_error *);
+ZIP_EXTERN const char *zip_error_strerror(zip_error_t *);
+ZIP_EXTERN int zip_error_system_type(const zip_error_t *);
 ZIP_EXTERN zip_int64_t zip_error_to_data(const zip_error_t *, void *, zip_uint64_t);
 ZIP_EXTERN int zip_error_to_str(char *, zip_uint64_t, int, int);
 
-ZIP_EXTERN int zip_fclose(struct zip_file *);
-ZIP_EXTERN struct zip *zip_fdopen(int, int, int *);
-ZIP_EXTERN zip_int64_t zip_file_add(struct zip *, const char *, zip_source_t *, zip_flags_t);
-ZIP_EXTERN void zip_file_error_clear(struct zip_file *);
-ZIP_EXTERN int zip_file_extra_field_delete(struct zip *, zip_uint64_t, zip_uint16_t, zip_flags_t);
-ZIP_EXTERN int zip_file_extra_field_delete_by_id(struct zip *, zip_uint64_t, zip_uint16_t, zip_uint16_t, zip_flags_t);
-ZIP_EXTERN int zip_file_extra_field_set(struct zip *, zip_uint64_t, zip_uint16_t, zip_uint16_t, const zip_uint8_t *, zip_uint16_t, zip_flags_t);
-ZIP_EXTERN zip_int16_t zip_file_extra_fields_count(struct zip *, zip_uint64_t, zip_flags_t);
-ZIP_EXTERN zip_int16_t zip_file_extra_fields_count_by_id(struct zip *, zip_uint64_t, zip_uint16_t, zip_flags_t);
-ZIP_EXTERN const zip_uint8_t *zip_file_extra_field_get(struct zip *, zip_uint64_t, zip_uint16_t, zip_uint16_t *, zip_uint16_t *, zip_flags_t);
-ZIP_EXTERN const zip_uint8_t *zip_file_extra_field_get_by_id(struct zip *, zip_uint64_t, zip_uint16_t, zip_uint16_t, zip_uint16_t *, zip_flags_t);
-ZIP_EXTERN const char *zip_file_get_comment(struct zip *, zip_uint64_t, zip_uint32_t *, zip_flags_t);
-ZIP_EXTERN struct zip_error *zip_file_get_error(struct zip_file *);
-ZIP_EXTERN int zip_file_get_external_attributes(struct zip *, zip_uint64_t, zip_flags_t, zip_uint8_t *, zip_uint32_t *);
-ZIP_EXTERN int zip_file_rename(struct zip *, zip_uint64_t, const char *, zip_flags_t);
-ZIP_EXTERN int zip_file_replace(struct zip *, zip_uint64_t, zip_source_t *, zip_flags_t);
-ZIP_EXTERN int zip_file_set_comment(struct zip *, zip_uint64_t, const char *, zip_uint16_t, zip_flags_t);
-ZIP_EXTERN int zip_file_set_external_attributes(struct zip *, zip_uint64_t, zip_flags_t, zip_uint8_t, zip_uint32_t);
-ZIP_EXTERN int zip_file_set_mtime(struct zip *, zip_uint64_t, time_t, zip_flags_t);
-ZIP_EXTERN const char *zip_file_strerror(struct zip_file *);
-ZIP_EXTERN struct zip_file *zip_fopen(struct zip *, const char *, zip_flags_t);
-ZIP_EXTERN struct zip_file *zip_fopen_encrypted(struct zip *, const char *, zip_flags_t, const char *);
-ZIP_EXTERN struct zip_file *zip_fopen_index(struct zip *, zip_uint64_t, zip_flags_t);
-ZIP_EXTERN struct zip_file *zip_fopen_index_encrypted(struct zip *, zip_uint64_t, zip_flags_t, const char *);
-ZIP_EXTERN zip_int64_t zip_fread(struct zip_file *, void *, zip_uint64_t);
-ZIP_EXTERN const char *zip_get_archive_comment(struct zip *, int *, zip_flags_t);
-ZIP_EXTERN int zip_get_archive_flag(struct zip *, zip_flags_t, zip_flags_t);
-ZIP_EXTERN const char *zip_get_name(struct zip *, zip_uint64_t, zip_flags_t);
-ZIP_EXTERN zip_int64_t zip_get_num_entries(struct zip *, zip_flags_t);
-ZIP_EXTERN zip_int64_t zip_name_locate(struct zip *, const char *, zip_flags_t);
-ZIP_EXTERN struct zip *zip_open(const char *, int, int *);
-ZIP_EXTERN struct zip *zip_open_from_source(zip_source_t *, int, struct zip_error *);
-ZIP_EXTERN int zip_set_archive_comment(struct zip *, const char *, zip_uint16_t);
-ZIP_EXTERN int zip_set_archive_flag(struct zip *, zip_flags_t, int);
-ZIP_EXTERN int zip_set_default_password(struct zip *, const char *);
-ZIP_EXTERN int zip_set_file_compression(struct zip *, zip_uint64_t, zip_int32_t, zip_uint32_t);
-ZIP_EXTERN zip_source_t *zip_source_buffer(struct zip *, const void *, zip_uint64_t, int);
+ZIP_EXTERN int zip_fclose(zip_file_t *);
+ZIP_EXTERN zip_t *zip_fdopen(int, int, int *);
+ZIP_EXTERN zip_int64_t zip_file_add(zip_t *, const char *, zip_source_t *, zip_flags_t);
+ZIP_EXTERN void zip_file_error_clear(zip_file_t *);
+ZIP_EXTERN int zip_file_extra_field_delete(zip_t *, zip_uint64_t, zip_uint16_t, zip_flags_t);
+ZIP_EXTERN int zip_file_extra_field_delete_by_id(zip_t *, zip_uint64_t, zip_uint16_t, zip_uint16_t, zip_flags_t);
+ZIP_EXTERN int zip_file_extra_field_set(zip_t *, zip_uint64_t, zip_uint16_t, zip_uint16_t, const zip_uint8_t *, zip_uint16_t, zip_flags_t);
+ZIP_EXTERN zip_int16_t zip_file_extra_fields_count(zip_t *, zip_uint64_t, zip_flags_t);
+ZIP_EXTERN zip_int16_t zip_file_extra_fields_count_by_id(zip_t *, zip_uint64_t, zip_uint16_t, zip_flags_t);
+ZIP_EXTERN const zip_uint8_t *zip_file_extra_field_get(zip_t *, zip_uint64_t, zip_uint16_t, zip_uint16_t *, zip_uint16_t *, zip_flags_t);
+ZIP_EXTERN const zip_uint8_t *zip_file_extra_field_get_by_id(zip_t *, zip_uint64_t, zip_uint16_t, zip_uint16_t, zip_uint16_t *, zip_flags_t);
+ZIP_EXTERN const char *zip_file_get_comment(zip_t *, zip_uint64_t, zip_uint32_t *, zip_flags_t);
+ZIP_EXTERN zip_error_t *zip_file_get_error(zip_file_t *);
+ZIP_EXTERN int zip_file_get_external_attributes(zip_t *, zip_uint64_t, zip_flags_t, zip_uint8_t *, zip_uint32_t *);
+ZIP_EXTERN int zip_file_rename(zip_t *, zip_uint64_t, const char *, zip_flags_t);
+ZIP_EXTERN int zip_file_replace(zip_t *, zip_uint64_t, zip_source_t *, zip_flags_t);
+ZIP_EXTERN int zip_file_set_comment(zip_t *, zip_uint64_t, const char *, zip_uint16_t, zip_flags_t);
+ZIP_EXTERN int zip_file_set_external_attributes(zip_t *, zip_uint64_t, zip_flags_t, zip_uint8_t, zip_uint32_t);
+ZIP_EXTERN int zip_file_set_mtime(zip_t *, zip_uint64_t, time_t, zip_flags_t);
+ZIP_EXTERN const char *zip_file_strerror(zip_file_t *);
+ZIP_EXTERN zip_file_t *zip_fopen(zip_t *, const char *, zip_flags_t);
+ZIP_EXTERN zip_file_t *zip_fopen_encrypted(zip_t *, const char *, zip_flags_t, const char *);
+ZIP_EXTERN zip_file_t *zip_fopen_index(zip_t *, zip_uint64_t, zip_flags_t);
+ZIP_EXTERN zip_file_t *zip_fopen_index_encrypted(zip_t *, zip_uint64_t, zip_flags_t, const char *);
+ZIP_EXTERN zip_int64_t zip_fread(zip_file_t *, void *, zip_uint64_t);
+ZIP_EXTERN const char *zip_get_archive_comment(zip_t *, int *, zip_flags_t);
+ZIP_EXTERN int zip_get_archive_flag(zip_t *, zip_flags_t, zip_flags_t);
+ZIP_EXTERN const char *zip_get_name(zip_t *, zip_uint64_t, zip_flags_t);
+ZIP_EXTERN zip_int64_t zip_get_num_entries(zip_t *, zip_flags_t);
+ZIP_EXTERN zip_int64_t zip_name_locate(zip_t *, const char *, zip_flags_t);
+ZIP_EXTERN zip_t *zip_open(const char *, int, int *);
+ZIP_EXTERN zip_t *zip_open_from_source(zip_source_t *, int, zip_error_t *);
+ZIP_EXTERN int zip_set_archive_comment(zip_t *, const char *, zip_uint16_t);
+ZIP_EXTERN int zip_set_archive_flag(zip_t *, zip_flags_t, int);
+ZIP_EXTERN int zip_set_default_password(zip_t *, const char *);
+ZIP_EXTERN int zip_set_file_compression(zip_t *, zip_uint64_t, zip_int32_t, zip_uint32_t);
+ZIP_EXTERN zip_source_t *zip_source_buffer(zip_t *, const void *, zip_uint64_t, int);
 ZIP_EXTERN zip_source_t *zip_source_buffer_create(const void *, zip_uint64_t, int, zip_error_t *);
 ZIP_EXTERN int zip_source_close(zip_source_t *);
 ZIP_EXTERN zip_error_t *zip_source_error(zip_source_t *src);
-ZIP_EXTERN zip_source_t *zip_source_file(struct zip *, const char *, zip_uint64_t, zip_int64_t);
-ZIP_EXTERN zip_source_t *zip_source_file_create(const char *, zip_uint64_t, zip_int64_t, struct zip_error *);
-ZIP_EXTERN zip_source_t *zip_source_filep(struct zip *, FILE *, zip_uint64_t, zip_int64_t);
-ZIP_EXTERN zip_source_t *zip_source_filep_create(FILE *, zip_uint64_t, zip_int64_t, struct zip_error *);
+ZIP_EXTERN zip_source_t *zip_source_file(zip_t *, const char *, zip_uint64_t, zip_int64_t);
+ZIP_EXTERN zip_source_t *zip_source_file_create(const char *, zip_uint64_t, zip_int64_t, zip_error_t *);
+ZIP_EXTERN zip_source_t *zip_source_filep(zip_t *, FILE *, zip_uint64_t, zip_int64_t);
+ZIP_EXTERN zip_source_t *zip_source_filep_create(FILE *, zip_uint64_t, zip_int64_t, zip_error_t *);
 ZIP_EXTERN void zip_source_free(zip_source_t *);
-ZIP_EXTERN zip_source_t *zip_source_function(struct zip *, zip_source_callback, void *);
+ZIP_EXTERN zip_source_t *zip_source_function(zip_t *, zip_source_callback, void *);
 ZIP_EXTERN zip_source_t *zip_source_function_create(zip_source_callback, void *, zip_error_t *);
 ZIP_EXTERN int zip_source_is_deleted(zip_source_t *);
 ZIP_EXTERN void zip_source_keep(zip_source_t *);
-ZIP_EXTERN zip_int64_t zip_source_make_command_bitmap(enum zip_source_cmd, ...);
+ZIP_EXTERN zip_int64_t zip_source_make_command_bitmap(zip_source_cmd_t, ...);
 ZIP_EXTERN int zip_source_open(zip_source_t *);
 ZIP_EXTERN zip_int64_t zip_source_read(zip_source_t *, void *, zip_uint64_t);
-ZIP_EXTERN int zip_source_stat(zip_source_t *, struct zip_stat *);
-ZIP_EXTERN zip_source_t *zip_source_zip(struct zip *, struct zip *, zip_uint64_t, zip_flags_t, zip_uint64_t, zip_int64_t);
-ZIP_EXTERN int zip_stat(struct zip *, const char *, zip_flags_t, struct zip_stat *);
-ZIP_EXTERN int zip_stat_index(struct zip *, zip_uint64_t, zip_flags_t, struct zip_stat *);
-ZIP_EXTERN void zip_stat_init(struct zip_stat *);
-ZIP_EXTERN const char *zip_strerror(struct zip *);
-ZIP_EXTERN int zip_unchange(struct zip *, zip_uint64_t);
-ZIP_EXTERN int zip_unchange_all(struct zip *);
-ZIP_EXTERN int zip_unchange_archive(struct zip *);
+ZIP_EXTERN int zip_source_stat(zip_source_t *, zip_stat_t *);
+ZIP_EXTERN zip_source_t *zip_source_zip(zip_t *, zip_t *, zip_uint64_t, zip_flags_t, zip_uint64_t, zip_int64_t);
+ZIP_EXTERN int zip_stat(zip_t *, const char *, zip_flags_t, zip_stat_t *);
+ZIP_EXTERN int zip_stat_index(zip_t *, zip_uint64_t, zip_flags_t, zip_stat_t *);
+ZIP_EXTERN void zip_stat_init(zip_stat_t *);
+ZIP_EXTERN const char *zip_strerror(zip_t *);
+ZIP_EXTERN int zip_unchange(zip_t *, zip_uint64_t);
+ZIP_EXTERN int zip_unchange_all(zip_t *);
+ZIP_EXTERN int zip_unchange_archive(zip_t *);
 
 #ifdef __cplusplus
 }
diff --git a/lib/zip_add.c b/lib/zip_add.c
index 7574762..d1be133 100644
--- a/lib/zip_add.c
+++ b/lib/zip_add.c
@@ -44,7 +44,7 @@
 */
 
 ZIP_EXTERN zip_int64_t
-zip_add(struct zip *za, const char *name, struct zip_source *source)
+zip_add(zip_t *za, const char *name, zip_source_t *source)
 {
     return zip_file_add(za, name, source, 0);
 }
diff --git a/lib/zip_add_dir.c b/lib/zip_add_dir.c
index 65abceb..14bdeda 100644
--- a/lib/zip_add_dir.c
+++ b/lib/zip_add_dir.c
@@ -39,7 +39,7 @@
 /* NOTE: Signed due to -1 on error.  See zip_add.c for more details. */
 
 ZIP_EXTERN zip_int64_t
-zip_add_dir(struct zip *za, const char *name)
+zip_add_dir(zip_t *za, const char *name)
 {
     return zip_dir_add(za, name, 0);
 }
diff --git a/lib/zip_add_entry.c b/lib/zip_add_entry.c
index 4ead9be..24dbdaf 100644
--- a/lib/zip_add_entry.c
+++ b/lib/zip_add_entry.c
@@ -40,12 +40,12 @@
 /* NOTE: Signed due to -1 on error.  See zip_add.c for more details. */
 
 zip_int64_t
-_zip_add_entry(struct zip *za)
+_zip_add_entry(zip_t *za)
 {
     zip_uint64_t idx;
 
     if (za->nentry+1 >= za->nentry_alloc) {
-	struct zip_entry *rentries;
+	zip_entry_t *rentries;
 	zip_uint64_t nalloc = za->nentry_alloc + 16;
 	zip_uint64_t realloc_size = sizeof(struct zip_entry) * (size_t)nalloc;
 
@@ -53,7 +53,7 @@
 	    zip_error_set(&za->error, ZIP_ER_MEMORY, 0);
 	    return -1;
 	}
-	rentries = (struct zip_entry *)realloc(za->entry, sizeof(struct zip_entry) * (size_t)nalloc);
+	rentries = (zip_entry_t *)realloc(za->entry, sizeof(struct zip_entry) * (size_t)nalloc);
 	if (!rentries) {
 	    zip_error_set(&za->error, ZIP_ER_MEMORY, 0);
 	    return -1;
diff --git a/lib/zip_close.c b/lib/zip_close.c
index 9502273..bd1a502 100644
--- a/lib/zip_close.c
+++ b/lib/zip_close.c
@@ -55,20 +55,20 @@
 /* max deflate size increase: size + ceil(size/16k)*5+6 */
 #define MAX_DEFLATE_SIZE_32	4293656963u
 
-static int add_data(struct zip *, struct zip_source *, struct zip_dirent *);
-static int copy_data(struct zip *, zip_uint64_t);
-static int copy_source(struct zip *, struct zip_source *);
-static int write_cdir(struct zip *, const struct zip_filelist *, zip_uint64_t);
+static int add_data(zip_t *, zip_source_t *, zip_dirent_t *);
+static int copy_data(zip_t *, zip_uint64_t);
+static int copy_source(zip_t *, zip_source_t *);
+static int write_cdir(zip_t *, const zip_filelist_t *, zip_uint64_t);
 static int _zip_torrentzip_cmp(const void *, const void *);
 
 
 ZIP_EXTERN int
-zip_close(struct zip *za)
+zip_close(zip_t *za)
 {
     zip_uint64_t i, j, survivors;
     zip_int64_t off;
     int error;
-    struct zip_filelist *filelist;
+    zip_filelist_t *filelist;
     int new_torrentzip;
     int changed;
 
@@ -99,7 +99,7 @@
         return -1;
     }
     
-    if ((filelist=(struct zip_filelist *)malloc(sizeof(filelist[0])*(size_t)survivors)) == NULL)
+    if ((filelist=(zip_filelist_t *)malloc(sizeof(filelist[0])*(size_t)survivors)) == NULL)
 	return -1;
 
     /* archive comment is special for torrentzip */
@@ -150,8 +150,8 @@
     error = 0;
     for (j=0; j<survivors; j++) {
 	int new_data;
-	struct zip_entry *entry;
-	struct zip_dirent *de;
+	zip_entry_t *entry;
+	zip_dirent_t *de;
 
 	i = filelist[j].idx;
 	entry = za->entry+i;
@@ -183,7 +183,7 @@
         de->offset = (zip_uint64_t)off;
 
 	if (new_data) {
-	    struct zip_source *zs;
+	    zip_source_t *zs;
 
 	    zs = NULL;
 	    if (!ZIP_ENTRY_DATA_CHANGED(entry)) {
@@ -254,11 +254,11 @@
 
 
 static int
-add_data(struct zip *za, struct zip_source *src, struct zip_dirent *de)
+add_data(zip_t *za, zip_source_t *src, zip_dirent_t *de)
 {
     zip_int64_t offstart, offdata, offend;
     struct zip_stat st;
-    struct zip_source *s2;
+    zip_source_t *s2;
     int ret;
     int is_zip64;
     zip_flags_t flags;
@@ -312,7 +312,7 @@
 
 
     if (st.comp_method == ZIP_CM_STORE || (ZIP_CM_IS_DEFAULT(de->comp_method) && st.comp_method != de->comp_method)) {
-	struct zip_source *s_store, *s_crc;
+	zip_source_t *s_store, *s_crc;
 	zip_compression_implementation comp_impl;
 	
 	if (st.comp_method != ZIP_CM_STORE) {
@@ -427,7 +427,7 @@
 
 
 static int
-copy_data(struct zip *za, zip_uint64_t len)
+copy_data(zip_t *za, zip_uint64_t len)
 {
     zip_uint8_t buf[BUFSIZE];
     size_t n;
@@ -450,7 +450,7 @@
 
 
 static int
-copy_source(struct zip *za, struct zip_source *src)
+copy_source(zip_t *za, zip_source_t *src)
 {
     zip_uint8_t buf[BUFSIZE];
     zip_int64_t n;
@@ -481,7 +481,7 @@
 
 
 static int
-write_cdir(struct zip *za, const struct zip_filelist *filelist, zip_uint64_t survivors)
+write_cdir(zip_t *za, const zip_filelist_t *filelist, zip_uint64_t survivors)
 {
     zip_int64_t cd_start, end, size;
     uLong crc;
@@ -522,7 +522,7 @@
 
 
 int
-_zip_changed(const struct zip *za, zip_uint64_t *survivorsp)
+_zip_changed(const zip_t *za, zip_uint64_t *survivorsp)
 {
     int changed;
     zip_uint64_t i, survivors;
@@ -551,8 +551,8 @@
 static int
 _zip_torrentzip_cmp(const void *a, const void *b)
 {
-    const char *aname = ((const struct zip_filelist *)a)->name;
-    const char *bname = ((const struct zip_filelist *)b)->name;
+    const char *aname = ((const zip_filelist_t *)a)->name;
+    const char *bname = ((const zip_filelist_t *)b)->name;
 
     if (aname == NULL)
 	return (bname != NULL) * -1;
diff --git a/lib/zip_delete.c b/lib/zip_delete.c
index 668e8b9..b3e7abb 100644
--- a/lib/zip_delete.c
+++ b/lib/zip_delete.c
@@ -36,7 +36,7 @@
 
 
 ZIP_EXTERN int
-zip_delete(struct zip *za, zip_uint64_t idx)
+zip_delete(zip_t *za, zip_uint64_t idx)
 {
     if (idx >= za->nentry) {
 	zip_error_set(&za->error, ZIP_ER_INVAL, 0);
diff --git a/lib/zip_dir_add.c b/lib/zip_dir_add.c
index a68337c..f535b21 100644
--- a/lib/zip_dir_add.c
+++ b/lib/zip_dir_add.c
@@ -41,12 +41,12 @@
 /* NOTE: Signed due to -1 on error.  See zip_add.c for more details. */
 
 ZIP_EXTERN zip_int64_t
-zip_dir_add(struct zip *za, const char *name, zip_flags_t flags)
+zip_dir_add(zip_t *za, const char *name, zip_flags_t flags)
 {
     size_t len;
     zip_int64_t idx;
     char *s;
-    struct zip_source *source;
+    zip_source_t *source;
 
     if (ZIP_IS_RDONLY(za)) {
 	zip_error_set(&za->error, ZIP_ER_RDONLY, 0);
diff --git a/lib/zip_dirent.c b/lib/zip_dirent.c
index 83c6e09..10ec853 100644
--- a/lib/zip_dirent.c
+++ b/lib/zip_dirent.c
@@ -42,12 +42,12 @@
 #include "zipint.h"
 
 static time_t _zip_d2u_time(zip_uint16_t, zip_uint16_t);
-static struct zip_string *_zip_dirent_process_ef_utf_8(const struct zip_dirent *de, zip_uint16_t id, struct zip_string *str);
-static struct zip_extra_field *_zip_ef_utf8(zip_uint16_t, struct zip_string *, struct zip_error *);
+static zip_string_t *_zip_dirent_process_ef_utf_8(const zip_dirent_t *de, zip_uint16_t id, zip_string_t *str);
+static zip_extra_field_t *_zip_ef_utf8(zip_uint16_t, zip_string_t *, zip_error_t *);
 
 
 void
-_zip_cdir_free(struct zip_cdir *cd)
+_zip_cdir_free(zip_cdir_t *cd)
 {
     zip_uint64_t i;
 
@@ -63,9 +63,9 @@
 
 
 int
-_zip_cdir_grow(struct zip_cdir *cd, zip_uint64_t nentry, struct zip_error *error)
+_zip_cdir_grow(zip_cdir_t *cd, zip_uint64_t nentry, zip_error_t *error)
 {
-    struct zip_entry *entry;
+    zip_entry_t *entry;
     zip_uint64_t i;
 
     if (nentry < cd->nentry_alloc) {
@@ -76,7 +76,7 @@
     if (nentry == cd->nentry_alloc)
 	return 0;
 
-    if ((entry=((struct zip_entry *)
+    if ((entry=((zip_entry_t *)
 		realloc(cd->entry, sizeof(*(cd->entry))*(size_t)nentry))) == NULL) {
 	zip_error_set(error, ZIP_ER_MEMORY, 0);
 	return -1;
@@ -92,20 +92,20 @@
 }
 
 
-struct zip_cdir *
-_zip_cdir_new(zip_uint64_t nentry, struct zip_error *error)
+zip_cdir_t *
+_zip_cdir_new(zip_uint64_t nentry, zip_error_t *error)
 {
-    struct zip_cdir *cd;
+    zip_cdir_t *cd;
     zip_uint64_t i;
     
-    if ((cd=(struct zip_cdir *)malloc(sizeof(*cd))) == NULL) {
+    if ((cd=(zip_cdir_t *)malloc(sizeof(*cd))) == NULL) {
 	zip_error_set(error, ZIP_ER_MEMORY, 0);
 	return NULL;
     }
 
     if (nentry == 0)
 	cd->entry = NULL;
-    else if ((cd->entry=(struct zip_entry *)malloc(sizeof(*(cd->entry))*(size_t)nentry)) == NULL) {
+    else if ((cd->entry=(zip_entry_t *)malloc(sizeof(*(cd->entry))*(size_t)nentry)) == NULL) {
 	zip_error_set(error, ZIP_ER_MEMORY, 0);
 	free(cd);
 	return NULL;
@@ -123,10 +123,10 @@
 
 
 zip_int64_t
-_zip_cdir_write(struct zip *za, const struct zip_filelist *filelist, zip_uint64_t survivors)
+_zip_cdir_write(zip_t *za, const zip_filelist_t *filelist, zip_uint64_t survivors)
 {
     zip_uint64_t offset, size;
-    struct zip_string *comment;
+    zip_string_t *comment;
     zip_uint8_t buf[EOCDLEN + EOCD64LEN], *p;
     zip_int64_t off;
     zip_uint64_t i;
@@ -142,7 +142,7 @@
     is_zip64 = 0;
 
     for (i=0; i<survivors; i++) {
-	struct zip_entry *entry = za->entry+filelist[i].idx;
+	zip_entry_t *entry = za->entry+filelist[i].idx;
 
 	if ((ret=_zip_dirent_write(za, entry->changes ? entry->changes : entry->orig, ZIP_FL_CENTRAL)) < 0)
 	    return -1;
@@ -202,12 +202,12 @@
 }
 
 
-struct zip_dirent *
-_zip_dirent_clone(const struct zip_dirent *sde)
+zip_dirent_t *
+_zip_dirent_clone(const zip_dirent_t *sde)
 {
-    struct zip_dirent *tde;
+    zip_dirent_t *tde;
 
-    if ((tde=(struct zip_dirent *)malloc(sizeof(*tde))) == NULL)
+    if ((tde=(zip_dirent_t *)malloc(sizeof(*tde))) == NULL)
 	return NULL;
 
     if (sde)
@@ -223,7 +223,7 @@
 
 
 void
-_zip_dirent_finalize(struct zip_dirent *zde)
+_zip_dirent_finalize(zip_dirent_t *zde)
 {
     if (!zde->cloned || zde->changed & ZIP_DIRENT_FILENAME)
 	_zip_string_free(zde->filename);
@@ -235,7 +235,7 @@
 
 
 void
-_zip_dirent_free(struct zip_dirent *zde)
+_zip_dirent_free(zip_dirent_t *zde)
 {
     if (zde == NULL)
 	return;
@@ -246,7 +246,7 @@
 
 
 void
-_zip_dirent_init(struct zip_dirent *de)
+_zip_dirent_init(zip_dirent_t *de)
 {
     de->changed = 0;
     de->local_extra_fields_read = 0;
@@ -271,7 +271,7 @@
 
 
 int
-_zip_dirent_needs_zip64(const struct zip_dirent *de, zip_flags_t flags)
+_zip_dirent_needs_zip64(const zip_dirent_t *de, zip_flags_t flags)
 {
     if (de->uncomp_size >= ZIP_UINT32_MAX || de->comp_size >= ZIP_UINT32_MAX
 	|| ((flags & ZIP_FL_CENTRAL) && de->offset >= ZIP_UINT32_MAX))
@@ -281,12 +281,12 @@
 }
 
 
-struct zip_dirent *
+zip_dirent_t *
 _zip_dirent_new(void)
 {
-    struct zip_dirent *de;
+    zip_dirent_t *de;
 
-    if ((de=(struct zip_dirent *)malloc(sizeof(*de))) == NULL)
+    if ((de=(zip_dirent_t *)malloc(sizeof(*de))) == NULL)
 	return NULL;
 
     _zip_dirent_init(de);
@@ -313,9 +313,9 @@
 */
 
 int
-_zip_dirent_read(struct zip_dirent *zde, struct zip_source *src,
+_zip_dirent_read(zip_dirent_t *zde, zip_source_t *src,
 		 const unsigned char **bufp, zip_uint64_t *leftp, int local,
-		 struct zip_error *error)
+		 zip_error_t *error)
 {
     unsigned char buf[CDENTRYSIZE];
     const unsigned char *cur;
@@ -514,8 +514,8 @@
 }
 
 
-static struct zip_string *
-_zip_dirent_process_ef_utf_8(const struct zip_dirent *de, zip_uint16_t id, struct zip_string *str)
+static zip_string_t *
+_zip_dirent_process_ef_utf_8(const zip_dirent_t *de, zip_uint16_t id, zip_string_t *str)
 {
     zip_uint16_t ef_len;
     zip_uint32_t ef_crc;
@@ -529,7 +529,7 @@
     ef_crc = _zip_get_32(&ef);
 
     if (_zip_string_crc32(str) == ef_crc) {
-	struct zip_string *ef_str = _zip_string_new(ef, (zip_uint16_t)(ef_len-5), ZIP_FL_ENC_UTF_8, NULL);
+	zip_string_t *ef_str = _zip_string_new(ef, (zip_uint16_t)(ef_len-5), ZIP_FL_ENC_UTF_8, NULL);
 
 	if (ef_str != NULL) {
 	    _zip_string_free(str);
@@ -575,7 +575,7 @@
 */
 
 void
-_zip_dirent_torrent_normalize(struct zip_dirent *de)
+_zip_dirent_torrent_normalize(zip_dirent_t *de)
 {
     static struct tm torrenttime;
     static time_t last_mod = 0;
@@ -634,11 +634,11 @@
 */
 
 int
-_zip_dirent_write(struct zip *za, struct zip_dirent *de, zip_flags_t flags)
+_zip_dirent_write(zip_t *za, zip_dirent_t *de, zip_flags_t flags)
 {
     zip_uint16_t dostime, dosdate;
-    enum zip_encoding_type com_enc, name_enc;
-    struct zip_extra_field *ef;
+    zip_encoding_type_t com_enc, name_enc;
+    zip_extra_field_t *ef;
     zip_uint8_t ef_zip64[24], *ef_zip64_p;
     int is_zip64;
     int is_really_zip64;
@@ -667,7 +667,7 @@
 		return -1;
 	}
 	if ((flags & ZIP_FL_LOCAL) == 0 && com_enc == ZIP_ENCODING_UTF8_KNOWN){
-	    struct zip_extra_field *ef2 = _zip_ef_utf8(ZIP_EF_UTF_8_COMMENT, de->comment, &za->error);
+	    zip_extra_field_t *ef2 = _zip_ef_utf8(ZIP_EF_UTF_8_COMMENT, de->comment, &za->error);
 	    if (ef2 == NULL) {
 		_zip_ef_free(ef);
 		return -1;
@@ -696,7 +696,7 @@
     }
 
     if (ef_zip64_p != ef_zip64) {
-	struct zip_extra_field *ef64 = _zip_ef_new(ZIP_EF_ZIP64, (zip_uint16_t)(ef_zip64_p-ef_zip64), ef_zip64, ZIP_EF_BOTH);
+	zip_extra_field_t *ef64 = _zip_ef_new(ZIP_EF_ZIP64, (zip_uint16_t)(ef_zip64_p-ef_zip64), ef_zip64, ZIP_EF_BOTH);
 	ef64->next = ef;
 	ef = ef64;
 	is_zip64 = 1;
@@ -798,13 +798,13 @@
 }
 
 
-static struct zip_extra_field *
-_zip_ef_utf8(zip_uint16_t id, struct zip_string *str, struct zip_error *error)
+static zip_extra_field_t *
+_zip_ef_utf8(zip_uint16_t id, zip_string_t *str, zip_error_t *error)
 {
     const zip_uint8_t *raw;
     zip_uint8_t *data, *p;
     zip_uint32_t len;
-    struct zip_extra_field *ef;
+    zip_extra_field_t *ef;
 
     raw = _zip_string_get(str, &len, ZIP_FL_ENC_RAW, NULL);
 
@@ -829,8 +829,8 @@
 }
 
 
-struct zip_dirent *
-_zip_get_dirent(struct zip *za, zip_uint64_t idx, zip_flags_t flags, struct zip_error *error)
+zip_dirent_t *
+_zip_get_dirent(zip_t *za, zip_uint64_t idx, zip_flags_t flags, zip_error_t *error)
 {
     if (error == NULL)
 	error = &za->error;
diff --git a/lib/zip_discard.c b/lib/zip_discard.c
index 2ca11df..db22370 100644
--- a/lib/zip_discard.c
+++ b/lib/zip_discard.c
@@ -42,7 +42,7 @@
    corresponding file. */
 
 void
-zip_discard(struct zip *za)
+zip_discard(zip_t *za)
 {
     zip_uint64_t i;
 
diff --git a/lib/zip_entry.c b/lib/zip_entry.c
index 73a1f50..6f89006 100644
--- a/lib/zip_entry.c
+++ b/lib/zip_entry.c
@@ -35,7 +35,7 @@
 #include "zipint.h"
 
 void
-_zip_entry_finalize(struct zip_entry *e)
+_zip_entry_finalize(zip_entry_t *e)
 {
     _zip_unchange_data(e);
     _zip_dirent_free(e->orig);
@@ -44,7 +44,7 @@
 
 
 void
-_zip_entry_init(struct zip_entry *e)
+_zip_entry_init(zip_entry_t *e)
 {
     e->orig = NULL;
     e->changes = NULL;
diff --git a/lib/zip_error.c b/lib/zip_error.c
index 90c24a8..9c6c831 100644
--- a/lib/zip_error.c
+++ b/lib/zip_error.c
@@ -119,7 +119,7 @@
 
 
 void
-_zip_error_set_from_source(zip_error_t *err, struct zip_source *src)
+_zip_error_set_from_source(zip_error_t *err, zip_source_t *src)
 {
     _zip_error_copy(err, zip_source_error(src));
 }
diff --git a/lib/zip_error_clear.c b/lib/zip_error_clear.c
index 3e6e482..ec45e68 100644
--- a/lib/zip_error_clear.c
+++ b/lib/zip_error_clear.c
@@ -36,7 +36,7 @@
 
 
 ZIP_EXTERN void
-zip_error_clear(struct zip *za)
+zip_error_clear(zip_t *za)
 {
     if (za == NULL)
 	return;
diff --git a/lib/zip_error_get.c b/lib/zip_error_get.c
index ef98b0a..f84d3ab 100644
--- a/lib/zip_error_get.c
+++ b/lib/zip_error_get.c
@@ -37,7 +37,7 @@
 
 
 ZIP_EXTERN void
-zip_error_get(struct zip *za, int *zep, int *sep)
+zip_error_get(zip_t *za, int *zep, int *sep)
 {
     _zip_error_get(&za->error, zep, sep);
 }
diff --git a/lib/zip_error_strerror.c b/lib/zip_error_strerror.c
index a4e603d..2f124cc 100644
--- a/lib/zip_error_strerror.c
+++ b/lib/zip_error_strerror.c
@@ -41,7 +41,7 @@
 
 
 ZIP_EXTERN const char *
-zip_error_strerror(struct zip_error *err)
+zip_error_strerror(zip_error_t *err)
 {
     const char *zs, *ss;
     char buf[128], *s;
diff --git a/lib/zip_extra_field.c b/lib/zip_extra_field.c
index 74cf2be..482703e 100644
--- a/lib/zip_extra_field.c
+++ b/lib/zip_extra_field.c
@@ -39,10 +39,10 @@
 #include <string.h>
 
 
-struct zip_extra_field *
-_zip_ef_clone(const struct zip_extra_field *ef, struct zip_error *error)
+zip_extra_field_t *
+_zip_ef_clone(const zip_extra_field_t *ef, zip_error_t *error)
 {
-    struct zip_extra_field *head, *prev, *def;
+    zip_extra_field_t *head, *prev, *def;
     
     head = prev = NULL;
     
@@ -66,10 +66,10 @@
 }
 
 
-struct zip_extra_field *
-_zip_ef_delete_by_id(struct zip_extra_field *ef, zip_uint16_t id, zip_uint16_t id_idx, zip_flags_t flags)
+zip_extra_field_t *
+_zip_ef_delete_by_id(zip_extra_field_t *ef, zip_uint16_t id, zip_uint16_t id_idx, zip_flags_t flags)
 {
-    struct zip_extra_field *head, *prev;
+    zip_extra_field_t *head, *prev;
     int i;
 
     i = 0;
@@ -105,9 +105,9 @@
 
 
 void
-_zip_ef_free(struct zip_extra_field *ef)
+_zip_ef_free(zip_extra_field_t *ef)
 {
-    struct zip_extra_field *ef2;
+    zip_extra_field_t *ef2;
 
     while (ef) {
 	ef2 = ef->next;
@@ -119,7 +119,7 @@
 
 
 const zip_uint8_t *
-_zip_ef_get_by_id(const struct zip_extra_field *ef, zip_uint16_t *lenp, zip_uint16_t id, zip_uint16_t id_idx, zip_flags_t flags, struct zip_error *error)
+_zip_ef_get_by_id(const zip_extra_field_t *ef, zip_uint16_t *lenp, zip_uint16_t id, zip_uint16_t id_idx, zip_flags_t flags, zip_error_t *error)
 {
     static const zip_uint8_t empty[1] = { '\0' };
     
@@ -147,10 +147,10 @@
 }
 
 
-struct zip_extra_field *
-_zip_ef_merge(struct zip_extra_field *to, struct zip_extra_field *from)
+zip_extra_field_t *
+_zip_ef_merge(zip_extra_field_t *to, zip_extra_field_t *from)
 {
-    struct zip_extra_field *ef2, *tt, *tail;
+    zip_extra_field_t *ef2, *tt, *tail;
     int duplicate;
 
     if (to == NULL)
@@ -182,12 +182,12 @@
 }
 
 
-struct zip_extra_field *
+zip_extra_field_t *
 _zip_ef_new(zip_uint16_t id, zip_uint16_t size, const zip_uint8_t *data, zip_flags_t flags)
 {
-    struct zip_extra_field *ef;
+    zip_extra_field_t *ef;
 
-    if ((ef=(struct zip_extra_field *)malloc(sizeof(*ef))) == NULL)
+    if ((ef=(zip_extra_field_t *)malloc(sizeof(*ef))) == NULL)
 	return NULL;
 
     ef->next = NULL;
@@ -207,10 +207,10 @@
 }
 
 
-struct zip_extra_field *
-_zip_ef_parse(const zip_uint8_t *data, zip_uint16_t len, zip_flags_t flags, struct zip_error *error)
+zip_extra_field_t *
+_zip_ef_parse(const zip_uint8_t *data, zip_uint16_t len, zip_flags_t flags, zip_error_t *error)
 {
-    struct zip_extra_field *ef, *ef2, *ef_head;
+    zip_extra_field_t *ef, *ef2, *ef_head;
     const zip_uint8_t *p;
     zip_uint16_t fid, flen;
 
@@ -249,11 +249,11 @@
 }
 
 
-struct zip_extra_field *
-_zip_ef_remove_internal(struct zip_extra_field *ef)
+zip_extra_field_t *
+_zip_ef_remove_internal(zip_extra_field_t *ef)
 {
-    struct zip_extra_field *ef_head;
-    struct zip_extra_field *prev, *next;
+    zip_extra_field_t *ef_head;
+    zip_extra_field_t *prev, *next;
     
     ef_head = ef;
     prev = NULL;
@@ -280,7 +280,7 @@
 
 
 zip_uint16_t
-_zip_ef_size(const struct zip_extra_field *ef, zip_flags_t flags)
+_zip_ef_size(const zip_extra_field_t *ef, zip_flags_t flags)
 {
     zip_uint16_t size;
 
@@ -295,7 +295,7 @@
 
 
 int
-_zip_ef_write(struct zip *za, const struct zip_extra_field *ef, zip_flags_t flags)
+_zip_ef_write(zip_t *za, const zip_extra_field_t *ef, zip_flags_t flags)
 {
     zip_uint8_t b[4], *p;
 
@@ -319,9 +319,9 @@
 
 
 int
-_zip_read_local_ef(struct zip *za, zip_uint64_t idx)
+_zip_read_local_ef(zip_t *za, zip_uint64_t idx)
 {
-    struct zip_entry *e;
+    zip_entry_t *e;
     unsigned char b[4];
     const unsigned char *p;
     zip_uint16_t fname_len, ef_len;
@@ -355,7 +355,7 @@
     ef_len = _zip_get_16(&p);
 
     if (ef_len > 0) {
-	struct zip_extra_field *ef;
+	zip_extra_field_t *ef;
 	zip_uint8_t *ef_raw;
 
 	if (zip_source_seek(za->src, fname_len, SEEK_CUR) < 0) {
diff --git a/lib/zip_extra_field_api.c b/lib/zip_extra_field_api.c
index f567c28..ed93944 100644
--- a/lib/zip_extra_field_api.c
+++ b/lib/zip_extra_field_api.c
@@ -36,9 +36,9 @@
 
 
 ZIP_EXTERN int
-zip_file_extra_field_delete(struct zip *za, zip_uint64_t idx, zip_uint16_t ef_idx, zip_flags_t flags)
+zip_file_extra_field_delete(zip_t *za, zip_uint64_t idx, zip_uint16_t ef_idx, zip_flags_t flags)
 {
-    struct zip_dirent *de;
+    zip_dirent_t *de;
 
     if ((flags & ZIP_EF_BOTH) == 0) {
 	zip_error_set(&za->error, ZIP_ER_INVAL, 0);
@@ -69,9 +69,9 @@
 
 
 ZIP_EXTERN int
-zip_file_extra_field_delete_by_id(struct zip *za, zip_uint64_t idx, zip_uint16_t ef_id, zip_uint16_t ef_idx, zip_flags_t flags)
+zip_file_extra_field_delete_by_id(zip_t *za, zip_uint64_t idx, zip_uint16_t ef_id, zip_uint16_t ef_idx, zip_flags_t flags)
 {
-    struct zip_dirent *de;
+    zip_dirent_t *de;
 
     if ((flags & ZIP_EF_BOTH) == 0) {
 	zip_error_set(&za->error, ZIP_ER_INVAL, 0);
@@ -102,12 +102,12 @@
 
 
 ZIP_EXTERN const zip_uint8_t *
-zip_file_extra_field_get(struct zip *za, zip_uint64_t idx, zip_uint16_t ef_idx, zip_uint16_t *idp, zip_uint16_t *lenp, zip_flags_t flags)
+zip_file_extra_field_get(zip_t *za, zip_uint64_t idx, zip_uint16_t ef_idx, zip_uint16_t *idp, zip_uint16_t *lenp, zip_flags_t flags)
 {
     static const zip_uint8_t empty[1] = { '\0' };
 
-    struct zip_dirent *de;
-    struct zip_extra_field *ef;
+    zip_dirent_t *de;
+    zip_extra_field_t *ef;
     int i;
 
     if ((flags & ZIP_EF_BOTH) == 0) {
@@ -148,9 +148,9 @@
 
 
 ZIP_EXTERN const zip_uint8_t *
-zip_file_extra_field_get_by_id(struct zip *za, zip_uint64_t idx, zip_uint16_t ef_id, zip_uint16_t ef_idx, zip_uint16_t *lenp, zip_flags_t flags)
+zip_file_extra_field_get_by_id(zip_t *za, zip_uint64_t idx, zip_uint16_t ef_id, zip_uint16_t ef_idx, zip_uint16_t *lenp, zip_flags_t flags)
 {
-    struct zip_dirent *de;
+    zip_dirent_t *de;
 
     if ((flags & ZIP_EF_BOTH) == 0) {
 	zip_error_set(&za->error, ZIP_ER_INVAL, 0);
@@ -169,10 +169,10 @@
 
 
 ZIP_EXTERN zip_int16_t
-zip_file_extra_fields_count(struct zip *za, zip_uint64_t idx, zip_flags_t flags)
+zip_file_extra_fields_count(zip_t *za, zip_uint64_t idx, zip_flags_t flags)
 {
-    struct zip_dirent *de;
-    struct zip_extra_field *ef;
+    zip_dirent_t *de;
+    zip_extra_field_t *ef;
     zip_uint16_t n;
 
     if ((flags & ZIP_EF_BOTH) == 0) {
@@ -197,10 +197,10 @@
 
 
 ZIP_EXTERN zip_int16_t
-zip_file_extra_fields_count_by_id(struct zip *za, zip_uint64_t idx, zip_uint16_t ef_id, zip_flags_t flags)
+zip_file_extra_fields_count_by_id(zip_t *za, zip_uint64_t idx, zip_uint16_t ef_id, zip_flags_t flags)
 {
-    struct zip_dirent *de;
-    struct zip_extra_field *ef;
+    zip_dirent_t *de;
+    zip_extra_field_t *ef;
     zip_uint16_t n;
 
     if ((flags & ZIP_EF_BOTH) == 0) {
@@ -225,11 +225,11 @@
 
 
 ZIP_EXTERN int
-zip_file_extra_field_set(struct zip *za, zip_uint64_t idx, zip_uint16_t ef_id, zip_uint16_t ef_idx, const zip_uint8_t *data, zip_uint16_t len, zip_flags_t flags)
+zip_file_extra_field_set(zip_t *za, zip_uint64_t idx, zip_uint16_t ef_id, zip_uint16_t ef_idx, const zip_uint8_t *data, zip_uint16_t len, zip_flags_t flags)
 {
-    struct zip_dirent *de;
+    zip_dirent_t *de;
     zip_uint16_t ls, cs;
-    struct zip_extra_field *ef, *ef_prev, *ef_new;
+    zip_extra_field_t *ef, *ef_prev, *ef_new;
     int i, found, new_len;
 
     if ((flags & ZIP_EF_BOTH) == 0) {
@@ -329,9 +329,9 @@
 
 
 int
-_zip_file_extra_field_prepare_for_change(struct zip *za, zip_uint64_t idx)
+_zip_file_extra_field_prepare_for_change(zip_t *za, zip_uint64_t idx)
 {
-    struct zip_entry *e;
+    zip_entry_t *e;
     
     if (idx >= za->nentry) {
         zip_error_set(&za->error, ZIP_ER_INVAL, 0);
diff --git a/lib/zip_fclose.c b/lib/zip_fclose.c
index d5148c7..25a201b 100644
--- a/lib/zip_fclose.c
+++ b/lib/zip_fclose.c
@@ -38,7 +38,7 @@
 
 
 ZIP_EXTERN int
-zip_fclose(struct zip_file *zf)
+zip_fclose(zip_file_t *zf)
 {
     int ret;
     
diff --git a/lib/zip_fdopen.c b/lib/zip_fdopen.c
index ac11316..c5b5531 100644
--- a/lib/zip_fdopen.c
+++ b/lib/zip_fdopen.c
@@ -35,13 +35,13 @@
 #include "zipint.h"
 
 
-ZIP_EXTERN struct zip *
+ZIP_EXTERN zip_t *
 zip_fdopen(int fd_orig, int _flags, int *zep)
 {
     int fd;
     FILE *fp;
-    struct zip *za;
-    struct zip_source *src;
+    zip_t *za;
+    zip_source_t *src;
     struct zip_error error;
 
     if (_flags < 0 || (_flags & ZIP_TRUNCATE)) {
diff --git a/lib/zip_file_add.c b/lib/zip_file_add.c
index fe95287..9944c0f 100644
--- a/lib/zip_file_add.c
+++ b/lib/zip_file_add.c
@@ -42,7 +42,7 @@
 */
 
 ZIP_EXTERN zip_int64_t
-zip_file_add(struct zip *za, const char *name, struct zip_source *source, zip_flags_t flags)
+zip_file_add(zip_t *za, const char *name, zip_source_t *source, zip_flags_t flags)
 {
     if (name == NULL || source == NULL) {
 	zip_error_set(&za->error, ZIP_ER_INVAL, 0);
diff --git a/lib/zip_file_error_clear.c b/lib/zip_file_error_clear.c
index 927bad9..be45498 100644
--- a/lib/zip_file_error_clear.c
+++ b/lib/zip_file_error_clear.c
@@ -36,7 +36,7 @@
 
 
 ZIP_EXTERN void
-zip_file_error_clear(struct zip_file *zf)
+zip_file_error_clear(zip_file_t *zf)
 {
     if (zf == NULL)
 	return;
diff --git a/lib/zip_file_error_get.c b/lib/zip_file_error_get.c
index 1ef56bc..be764fd 100644
--- a/lib/zip_file_error_get.c
+++ b/lib/zip_file_error_get.c
@@ -36,7 +36,7 @@
 
 
 ZIP_EXTERN void
-zip_file_error_get(struct zip_file *zf, int *zep, int *sep)
+zip_file_error_get(zip_file_t *zf, int *zep, int *sep)
 {
     _zip_error_get(&zf->error, zep, sep);
 }
diff --git a/lib/zip_file_get_comment.c b/lib/zip_file_get_comment.c
index 4473aa0..55e7dc2 100644
--- a/lib/zip_file_get_comment.c
+++ b/lib/zip_file_get_comment.c
@@ -37,9 +37,9 @@
 /* lenp is 32 bit because converted comment can be longer than ZIP_UINT16_MAX */
 
 ZIP_EXTERN const char *
-zip_file_get_comment(struct zip *za, zip_uint64_t idx, zip_uint32_t *lenp, zip_flags_t flags)
+zip_file_get_comment(zip_t *za, zip_uint64_t idx, zip_uint32_t *lenp, zip_flags_t flags)
 {
-    struct zip_dirent *de;
+    zip_dirent_t *de;
     zip_uint32_t len;
     const zip_uint8_t *str;
 
diff --git a/lib/zip_file_get_external_attributes.c b/lib/zip_file_get_external_attributes.c
index a7c6455..b6526cf 100644
--- a/lib/zip_file_get_external_attributes.c
+++ b/lib/zip_file_get_external_attributes.c
@@ -34,9 +34,9 @@
 #include "zipint.h"
 
 int
-zip_file_get_external_attributes(struct zip *za, zip_uint64_t idx, zip_flags_t flags, zip_uint8_t *opsys, zip_uint32_t *attributes)
+zip_file_get_external_attributes(zip_t *za, zip_uint64_t idx, zip_flags_t flags, zip_uint8_t *opsys, zip_uint32_t *attributes)
 {
-    struct zip_dirent *de;
+    zip_dirent_t *de;
 
     if ((de=_zip_get_dirent(za, idx, flags, NULL)) == NULL)
 	return -1;
diff --git a/lib/zip_file_get_offset.c b/lib/zip_file_get_offset.c
index 28e3ad9..1aaca71 100644
--- a/lib/zip_file_get_offset.c
+++ b/lib/zip_file_get_offset.c
@@ -49,7 +49,7 @@
 */
 
 zip_uint64_t
-_zip_file_get_offset(const struct zip *za, zip_uint64_t idx, struct zip_error *error)
+_zip_file_get_offset(const zip_t *za, zip_uint64_t idx, zip_error_t *error)
 {
     zip_uint64_t offset;
     zip_int32_t size;
diff --git a/lib/zip_file_rename.c b/lib/zip_file_rename.c
index 17d8ff8..4400938 100644
--- a/lib/zip_file_rename.c
+++ b/lib/zip_file_rename.c
@@ -38,7 +38,7 @@
 
 
 ZIP_EXTERN int
-zip_file_rename(struct zip *za, zip_uint64_t idx, const char *name, zip_flags_t flags)
+zip_file_rename(zip_t *za, zip_uint64_t idx, const char *name, zip_flags_t flags)
 {
     const char *old_name;
     int old_is_dir, new_is_dir;
diff --git a/lib/zip_file_replace.c b/lib/zip_file_replace.c
index 01a0916..e430efa 100644
--- a/lib/zip_file_replace.c
+++ b/lib/zip_file_replace.c
@@ -36,7 +36,7 @@
 
 
 ZIP_EXTERN int
-zip_file_replace(struct zip *za, zip_uint64_t idx, struct zip_source *source, zip_flags_t flags)
+zip_file_replace(zip_t *za, zip_uint64_t idx, zip_source_t *source, zip_flags_t flags)
 {
     if (idx >= za->nentry || source == NULL) {
 	zip_error_set(&za->error, ZIP_ER_INVAL, 0);
@@ -54,7 +54,7 @@
 /* NOTE: Signed due to -1 on error.  See zip_add.c for more details. */
 
 zip_int64_t
-_zip_file_replace(struct zip *za, zip_uint64_t idx, const char *name, struct zip_source *source, zip_flags_t flags)
+_zip_file_replace(zip_t *za, zip_uint64_t idx, const char *name, zip_source_t *source, zip_flags_t flags)
 {
     zip_uint64_t za_nentry_prev;
     
diff --git a/lib/zip_file_set_comment.c b/lib/zip_file_set_comment.c
index cdc3a35..e455fbd 100644
--- a/lib/zip_file_set_comment.c
+++ b/lib/zip_file_set_comment.c
@@ -38,11 +38,11 @@
 
 
 ZIP_EXTERN int
-zip_file_set_comment(struct zip *za, zip_uint64_t idx,
+zip_file_set_comment(zip_t *za, zip_uint64_t idx,
 		     const char *comment, zip_uint16_t len, zip_flags_t flags)
 {
-    struct zip_entry *e;
-    struct zip_string *cstr;
+    zip_entry_t *e;
+    zip_string_t *cstr;
     int changed;
 
     if (_zip_get_dirent(za, idx, 0, NULL) == NULL)
diff --git a/lib/zip_file_set_external_attributes.c b/lib/zip_file_set_external_attributes.c
index 1de59dc..d8f580e 100644
--- a/lib/zip_file_set_external_attributes.c
+++ b/lib/zip_file_set_external_attributes.c
@@ -34,9 +34,9 @@
 #include "zipint.h"
 
 int
-zip_file_set_external_attributes(struct zip *za, zip_uint64_t idx, zip_flags_t flags, zip_uint8_t opsys, zip_uint32_t attributes)
+zip_file_set_external_attributes(zip_t *za, zip_uint64_t idx, zip_flags_t flags, zip_uint8_t opsys, zip_uint32_t attributes)
 {
-    struct zip_entry *e;
+    zip_entry_t *e;
     int changed;
     zip_uint8_t unchanged_opsys;
     zip_uint32_t unchanged_attributes;
diff --git a/lib/zip_file_set_mtime.c b/lib/zip_file_set_mtime.c
index 59c3aff..3acc7f2 100644
--- a/lib/zip_file_set_mtime.c
+++ b/lib/zip_file_set_mtime.c
@@ -33,9 +33,9 @@
 
 #include "zipint.h"
 
-ZIP_EXTERN int zip_file_set_mtime(struct zip *za, zip_uint64_t idx, time_t mtime, zip_flags_t flags)
+ZIP_EXTERN int zip_file_set_mtime(zip_t *za, zip_uint64_t idx, time_t mtime, zip_flags_t flags)
 {
-    struct zip_entry *e;
+    zip_entry_t *e;
     int changed;
     
     if (_zip_get_dirent(za, idx, 0, NULL) == NULL)
diff --git a/lib/zip_file_strerror.c b/lib/zip_file_strerror.c
index 95c5923..8366f1e 100644
--- a/lib/zip_file_strerror.c
+++ b/lib/zip_file_strerror.c
@@ -36,7 +36,7 @@
 
 
 ZIP_EXTERN const char *
-zip_file_strerror(struct zip_file *zf)
+zip_file_strerror(zip_file_t *zf)
 {
     return zip_error_strerror(&zf->error);
 }
diff --git a/lib/zip_fopen.c b/lib/zip_fopen.c
index ad7c416..3adb5de 100644
--- a/lib/zip_fopen.c
+++ b/lib/zip_fopen.c
@@ -35,8 +35,8 @@
 #include "zipint.h"
 
 
-ZIP_EXTERN struct zip_file *
-zip_fopen(struct zip *za, const char *fname, zip_flags_t flags)
+ZIP_EXTERN zip_file_t *
+zip_fopen(zip_t *za, const char *fname, zip_flags_t flags)
 {
     zip_int64_t idx;
 
diff --git a/lib/zip_fopen_encrypted.c b/lib/zip_fopen_encrypted.c
index 8b2d05e..5eaf2b0 100644
--- a/lib/zip_fopen_encrypted.c
+++ b/lib/zip_fopen_encrypted.c
@@ -35,8 +35,8 @@
 #include "zipint.h"
 
 
-ZIP_EXTERN struct zip_file *
-zip_fopen_encrypted(struct zip *za, const char *fname, zip_flags_t flags, const char *password)
+ZIP_EXTERN zip_file_t *
+zip_fopen_encrypted(zip_t *za, const char *fname, zip_flags_t flags, const char *password)
 {
     zip_int64_t idx;
 
diff --git a/lib/zip_fopen_index.c b/lib/zip_fopen_index.c
index 7887eef..e9a169a 100644
--- a/lib/zip_fopen_index.c
+++ b/lib/zip_fopen_index.c
@@ -39,8 +39,8 @@
 #include "zipint.h"
 
 
-ZIP_EXTERN struct zip_file *
-zip_fopen_index(struct zip *za, zip_uint64_t index, zip_flags_t flags)
+ZIP_EXTERN zip_file_t *
+zip_fopen_index(zip_t *za, zip_uint64_t index, zip_flags_t flags)
 {
     return zip_fopen_index_encrypted(za, index, flags, za->default_password);
 }
diff --git a/lib/zip_fopen_index_encrypted.c b/lib/zip_fopen_index_encrypted.c
index fe407cb..21cc433 100644
--- a/lib/zip_fopen_index_encrypted.c
+++ b/lib/zip_fopen_index_encrypted.c
@@ -38,15 +38,15 @@
 
 #include "zipint.h"
 
-static struct zip_file *_zip_file_new(struct zip *za);
+static zip_file_t *_zip_file_new(zip_t *za);
 
 
-ZIP_EXTERN struct zip_file *
-zip_fopen_index_encrypted(struct zip *za, zip_uint64_t index, zip_flags_t flags,
+ZIP_EXTERN zip_file_t *
+zip_fopen_index_encrypted(zip_t *za, zip_uint64_t index, zip_flags_t flags,
 			  const char *password)
 {
-    struct zip_file *zf;
-    struct zip_source *src;
+    zip_file_t *zf;
+    zip_source_t *src;
 
     if ((src=_zip_source_zip_new(za, za, index, flags, 0, 0, password)) == NULL)
 	return NULL;
@@ -68,12 +68,12 @@
 }
 
 
-static struct zip_file *
-_zip_file_new(struct zip *za)
+static zip_file_t *
+_zip_file_new(zip_t *za)
 {
-    struct zip_file *zf;
+    zip_file_t *zf;
 
-    if ((zf=(struct zip_file *)malloc(sizeof(struct zip_file))) == NULL) {
+    if ((zf=(zip_file_t *)malloc(sizeof(struct zip_file))) == NULL) {
 	zip_error_set(&za->error, ZIP_ER_MEMORY, 0);
 	return NULL;
     }
diff --git a/lib/zip_fread.c b/lib/zip_fread.c
index 32fe00f..9c1cbe0 100644
--- a/lib/zip_fread.c
+++ b/lib/zip_fread.c
@@ -36,7 +36,7 @@
 
 
 ZIP_EXTERN zip_int64_t
-zip_fread(struct zip_file *zf, void *outbuf, zip_uint64_t toread)
+zip_fread(zip_file_t *zf, void *outbuf, zip_uint64_t toread)
 {
     zip_int64_t n;
 
diff --git a/lib/zip_get_archive_comment.c b/lib/zip_get_archive_comment.c
index 971883f..78f8ca0 100644
--- a/lib/zip_get_archive_comment.c
+++ b/lib/zip_get_archive_comment.c
@@ -38,9 +38,9 @@
 
 
 ZIP_EXTERN const char *
-zip_get_archive_comment(struct zip *za, int *lenp, zip_flags_t flags)
+zip_get_archive_comment(zip_t *za, int *lenp, zip_flags_t flags)
 {
-    struct zip_string *comment;
+    zip_string_t *comment;
     zip_uint32_t len;
     const zip_uint8_t *str;
 
diff --git a/lib/zip_get_archive_flag.c b/lib/zip_get_archive_flag.c
index 6e87126..bffe10c 100644
--- a/lib/zip_get_archive_flag.c
+++ b/lib/zip_get_archive_flag.c
@@ -36,7 +36,7 @@
 
 
 ZIP_EXTERN int
-zip_get_archive_flag(struct zip *za, zip_flags_t flag, zip_flags_t flags)
+zip_get_archive_flag(zip_t *za, zip_flags_t flag, zip_flags_t flags)
 {
     unsigned int fl;
 
diff --git a/lib/zip_get_file_comment.c b/lib/zip_get_file_comment.c
index 20bbf99..d5f50bf 100644
--- a/lib/zip_get_file_comment.c
+++ b/lib/zip_get_file_comment.c
@@ -37,7 +37,7 @@
 
 
 ZIP_EXTERN const char *
-zip_get_file_comment(struct zip *za, zip_uint64_t idx, int *lenp, int flags)
+zip_get_file_comment(zip_t *za, zip_uint64_t idx, int *lenp, int flags)
 {
     zip_uint32_t len;
     const char *s;
diff --git a/lib/zip_get_name.c b/lib/zip_get_name.c
index 0ae78de..d29e636 100644
--- a/lib/zip_get_name.c
+++ b/lib/zip_get_name.c
@@ -38,16 +38,16 @@
 
 
 ZIP_EXTERN const char *
-zip_get_name(struct zip *za, zip_uint64_t idx, zip_flags_t flags)
+zip_get_name(zip_t *za, zip_uint64_t idx, zip_flags_t flags)
 {
     return _zip_get_name(za, idx, flags, &za->error);
 }
 
 
 const char *
-_zip_get_name(struct zip *za, zip_uint64_t idx, zip_flags_t flags, struct zip_error *error)
+_zip_get_name(zip_t *za, zip_uint64_t idx, zip_flags_t flags, zip_error_t *error)
 {
-    struct zip_dirent *de;
+    zip_dirent_t *de;
     const zip_uint8_t *str;
 
     if ((de=_zip_get_dirent(za, idx, flags, error)) == NULL)
diff --git a/lib/zip_get_num_entries.c b/lib/zip_get_num_entries.c
index 9a70375..c8644a4 100644
--- a/lib/zip_get_num_entries.c
+++ b/lib/zip_get_num_entries.c
@@ -36,7 +36,7 @@
 
 
 ZIP_EXTERN zip_int64_t
-zip_get_num_entries(struct zip *za, zip_flags_t flags)
+zip_get_num_entries(zip_t *za, zip_flags_t flags)
 {
     zip_uint64_t n;
 
diff --git a/lib/zip_get_num_files.c b/lib/zip_get_num_files.c
index 224b975..cf96353 100644
--- a/lib/zip_get_num_files.c
+++ b/lib/zip_get_num_files.c
@@ -38,7 +38,7 @@
 
 
 ZIP_EXTERN int
-zip_get_num_files(struct zip *za)
+zip_get_num_files(zip_t *za)
 {
     if (za == NULL)
 	return -1;
diff --git a/lib/zip_io_util.c b/lib/zip_io_util.c
index 6664ecd..1e9178e 100644
--- a/lib/zip_io_util.c
+++ b/lib/zip_io_util.c
@@ -75,7 +75,7 @@
 }
 
 int
-_zip_read(struct zip_source *src, zip_uint8_t *b, zip_uint64_t length, struct zip_error *error)
+_zip_read(zip_source_t *src, zip_uint8_t *b, zip_uint64_t length, zip_error_t *error)
 {
     zip_int64_t n;
 
@@ -99,7 +99,7 @@
 
 
 zip_uint8_t *
-_zip_read_data(const zip_uint8_t **buf, struct zip_source *src, size_t len, int nulp, struct zip_error *error)
+_zip_read_data(const zip_uint8_t **buf, zip_source_t *src, size_t len, int nulp, zip_error_t *error)
 {
     zip_uint8_t *r;
 
@@ -136,11 +136,11 @@
 }
 
 
-struct zip_string *
-_zip_read_string(const zip_uint8_t **buf, struct zip_source *src, zip_uint16_t len, int nulp, struct zip_error *error)
+zip_string_t *
+_zip_read_string(const zip_uint8_t **buf, zip_source_t *src, zip_uint16_t len, int nulp, zip_error_t *error)
 {
     zip_uint8_t *raw;
-    struct zip_string *s;
+    zip_string_t *s;
 
     if ((raw=_zip_read_data(buf, src, len, nulp, error)) == NULL)
 	return NULL;
@@ -194,7 +194,7 @@
 
 
 int
-_zip_write(struct zip *za, const void *data, zip_uint64_t length)
+_zip_write(zip_t *za, const void *data, zip_uint64_t length)
 {
     zip_int64_t n;
     
diff --git a/lib/zip_memdup.c b/lib/zip_memdup.c
index 758b946..cc6d767 100644
--- a/lib/zip_memdup.c
+++ b/lib/zip_memdup.c
@@ -38,7 +38,7 @@
 
 
 void *
-_zip_memdup(const void *mem, size_t len, struct zip_error *error)
+_zip_memdup(const void *mem, size_t len, zip_error_t *error)
 {
     void *ret;
 
diff --git a/lib/zip_name_locate.c b/lib/zip_name_locate.c
index 3435e14..820ea0c 100644
--- a/lib/zip_name_locate.c
+++ b/lib/zip_name_locate.c
@@ -41,14 +41,14 @@
 
 
 ZIP_EXTERN zip_int64_t
-zip_name_locate(struct zip *za, const char *fname, zip_flags_t flags)
+zip_name_locate(zip_t *za, const char *fname, zip_flags_t flags)
 {
     return _zip_name_locate(za, fname, flags, &za->error);
 }
 
 
 zip_int64_t
-_zip_name_locate(struct zip *za, const char *fname, zip_flags_t flags, struct zip_error *error)
+_zip_name_locate(zip_t *za, const char *fname, zip_flags_t flags, zip_error_t *error)
 {
     int (*cmp)(const char *, const char *);
     const char *fn, *p;
diff --git a/lib/zip_new.c b/lib/zip_new.c
index 484ee75..d54a247 100644
--- a/lib/zip_new.c
+++ b/lib/zip_new.c
@@ -41,12 +41,12 @@
    creates a new zipfile struct, and sets the contents to zero; returns
    the new struct. */
 
-struct zip *
-_zip_new(struct zip_error *error)
+zip_t *
+_zip_new(zip_error_t *error)
 {
-    struct zip *za;
+    zip_t *za;
 
-    za = (struct zip *)malloc(sizeof(struct zip));
+    za = (zip_t *)malloc(sizeof(struct zip));
     if (!za) {
 	zip_error_set(error, ZIP_ER_MEMORY, 0);
 	return NULL;
diff --git a/lib/zip_open.c b/lib/zip_open.c
index 0b4ec4d..d6899b3 100644
--- a/lib/zip_open.c
+++ b/lib/zip_open.c
@@ -47,26 +47,26 @@
     EXISTS_EMPTY,
     EXISTS_NONEMPTY,
 } exists_t;
-static struct zip *_zip_allocate_new(struct zip_source *src, unsigned int flags, struct zip_error *error);
-static zip_int64_t _zip_checkcons(struct zip *za, struct zip_cdir *cdir, struct zip_error *error);
-static void _zip_check_torrentzip(struct zip *za, const struct zip_cdir *cdir);
-static struct zip_cdir *_zip_find_central_dir(struct zip *za, zip_uint64_t len);
-static exists_t _zip_file_exists(struct zip_source *src, struct zip_error *error);
-static int _zip_headercomp(const struct zip_dirent *, const struct zip_dirent *);
+static zip_t *_zip_allocate_new(zip_source_t *src, unsigned int flags, zip_error_t *error);
+static zip_int64_t _zip_checkcons(zip_t *za, zip_cdir_t *cdir, zip_error_t *error);
+static void _zip_check_torrentzip(zip_t *za, const zip_cdir_t *cdir);
+static zip_cdir_t *_zip_find_central_dir(zip_t *za, zip_uint64_t len);
+static exists_t _zip_file_exists(zip_source_t *src, zip_error_t *error);
+static int _zip_headercomp(const zip_dirent_t *, const zip_dirent_t *);
 static unsigned char *_zip_memmem(const unsigned char *, size_t,
 				  const unsigned char *, size_t);
-static struct zip_cdir *_zip_read_cdir(zip_t *za, zip_uint64_t buf_offset, zip_uint8_t *buf, const zip_uint8_t *eocd, size_t buflen, struct zip_error *error);
-static struct zip_cdir *_zip_read_eocd(const unsigned char *, const unsigned char *, zip_uint64_t,
-				       size_t, unsigned int, struct zip_error *);
-static struct zip_cdir *_zip_read_eocd64(struct zip_source *, const zip_uint8_t *, const zip_uint8_t *,
-                                         zip_uint64_t, size_t, unsigned int, struct zip_error *);
+static zip_cdir_t *_zip_read_cdir(zip_t *za, zip_uint64_t buf_offset, zip_uint8_t *buf, const zip_uint8_t *eocd, size_t buflen, zip_error_t *error);
+static zip_cdir_t *_zip_read_eocd(const unsigned char *, const unsigned char *, zip_uint64_t,
+				       size_t, unsigned int, zip_error_t *);
+static zip_cdir_t *_zip_read_eocd64(zip_source_t *, const zip_uint8_t *, const zip_uint8_t *,
+                                         zip_uint64_t, size_t, unsigned int, zip_error_t *);
 
 
-ZIP_EXTERN struct zip *
+ZIP_EXTERN zip_t *
 zip_open(const char *fn, int _flags, int *zep)
 {
-    struct zip *za;
-    struct zip_source *src;
+    zip_t *za;
+    zip_source_t *src;
     struct zip_error error;
 
     zip_error_init(&error);
@@ -87,8 +87,8 @@
 }
 
 
-ZIP_EXTERN struct zip *
-zip_open_from_source(struct zip_source *src, int _flags, struct zip_error *error)
+ZIP_EXTERN zip_t *
+zip_open_from_source(zip_source_t *src, int _flags, zip_error_t *error)
 {
     static zip_int64_t needed_support_read = -1;
     static zip_int64_t needed_support_write = -1;
@@ -162,7 +162,7 @@
 }
 
 ZIP_EXTERN int
-zip_archive_set_tempdir(struct zip *za, const char *tempdir)
+zip_archive_set_tempdir(zip_t *za, const char *tempdir)
 {
     char *new_tempdir;
     
@@ -181,11 +181,11 @@
     return 0;
 }
 
-struct zip *
-_zip_open(struct zip_source *src, unsigned int flags, struct zip_error *error)
+zip_t *
+_zip_open(zip_source_t *src, unsigned int flags, zip_error_t *error)
 {
-    struct zip *za;
-    struct zip_cdir *cdir;
+    zip_t *za;
+    zip_cdir_t *cdir;
     struct zip_stat st;
     zip_uint64_t len;
 
@@ -235,7 +235,7 @@
 
 
 void
-_zip_set_open_error(int *zep, const struct zip_error *err, int ze)
+_zip_set_open_error(int *zep, const zip_error_t *err, int ze)
 {
     if (err) {
 	ze = zip_error_code_zip(err);
@@ -255,10 +255,10 @@
    Returns a struct zip_cdir which contains the central directory 
    entries, or NULL if unsuccessful. */
 
-static struct zip_cdir *
-_zip_read_cdir(zip_t *za, zip_uint64_t buf_offset, zip_uint8_t *buf, const zip_uint8_t *eocd, size_t buflen, struct zip_error *error)
+static zip_cdir_t *
+_zip_read_cdir(zip_t *za, zip_uint64_t buf_offset, zip_uint8_t *buf, const zip_uint8_t *eocd, size_t buflen, zip_error_t *error)
 {
-    struct zip_cdir *cd;
+    zip_cdir_t *cd;
     const unsigned char *cdp;
     const unsigned char **bufp;
     zip_int64_t tail_len, comment_len;
@@ -363,7 +363,7 @@
    difference between the lowest and the highest fileposition reached */
 
 static zip_int64_t
-_zip_checkcons(struct zip *za, struct zip_cdir *cd, struct zip_error *error)
+_zip_checkcons(zip_t *za, zip_cdir_t *cd, zip_error_t *error)
 {
     zip_uint64_t i;
     zip_uint64_t min, max, j;
@@ -422,7 +422,7 @@
    check whether ZA has a valid TORRENTZIP comment, i.e. is torrentzipped */
 
 static void
-_zip_check_torrentzip(struct zip *za, const struct zip_cdir *cdir)
+_zip_check_torrentzip(zip_t *za, const zip_cdir_t *cdir)
 {
     uLong crc_got, crc_should;
     char buf[8+1];
@@ -456,7 +456,7 @@
    Return 0 if they are consistent, -1 if not. */
 
 static int
-_zip_headercomp(const struct zip_dirent *central, const struct zip_dirent *local)
+_zip_headercomp(const zip_dirent_t *central, const zip_dirent_t *local)
 {
     if ((central->version_needed != local->version_needed)
 #if 0
@@ -483,10 +483,10 @@
 }
 
 
-static struct zip *
-_zip_allocate_new(struct zip_source *src, unsigned int flags, struct zip_error *error)
+static zip_t *
+_zip_allocate_new(zip_source_t *src, unsigned int flags, zip_error_t *error)
 {
-    struct zip *za;
+    zip_t *za;
 
     if ((za = _zip_new(error)) == NULL) {
 	return NULL;
@@ -506,7 +506,7 @@
  * tests for file existence
  */
 static exists_t
-_zip_file_exists(struct zip_source *src, struct zip_error *error)
+_zip_file_exists(zip_source_t *src, zip_error_t *error)
 {
     struct zip_stat st;
 
@@ -524,10 +524,10 @@
 }
 
 
-static struct zip_cdir *
-_zip_find_central_dir(struct zip *za, zip_uint64_t len)
+static zip_cdir_t *
+_zip_find_central_dir(zip_t *za, zip_uint64_t len)
 {
-    struct zip_cdir *cdir, *cdirnew;
+    zip_cdir_t *cdir, *cdirnew;
     unsigned char *buf, *match;
     zip_int64_t buf_offset;
     zip_uint64_t buflen;
@@ -542,7 +542,7 @@
 
     buflen = (len < CDBUFSIZE ? len : CDBUFSIZE);
     if (zip_source_seek(za->src, -(zip_int64_t)buflen, SEEK_END) < 0) {
-	struct zip_error *src_error = zip_source_error(za->src);
+	zip_error_t *src_error = zip_source_error(za->src);
 	if (zip_error_code_zip(src_error) != ZIP_ER_SEEK || zip_error_code_system(src_error) != EFBIG) {
 	    /* seek before start of file on my machine */
 	    _zip_error_copy(&za->error, src_error);
@@ -629,11 +629,11 @@
 }
 
 
-static struct zip_cdir *
+static zip_cdir_t *
 _zip_read_eocd(const unsigned char *eocd, const unsigned char *buf, zip_uint64_t buf_offset, size_t buflen,
-	       unsigned int flags, struct zip_error *error)
+	       unsigned int flags, zip_error_t *error)
 {
-    struct zip_cdir *cd;
+    zip_cdir_t *cd;
     const unsigned char *cdp;
     zip_uint64_t i, nentry, size, offset;
 
@@ -683,11 +683,11 @@
 }
 
 
-static struct zip_cdir *
-_zip_read_eocd64(struct zip_source *src, const zip_uint8_t *eocd64loc, const zip_uint8_t *buf,
-		 zip_uint64_t buf_offset, size_t buflen, unsigned int flags, struct zip_error *error)
+static zip_cdir_t *
+_zip_read_eocd64(zip_source_t *src, const zip_uint8_t *eocd64loc, const zip_uint8_t *buf,
+		 zip_uint64_t buf_offset, size_t buflen, unsigned int flags, zip_error_t *error)
 {
-    struct zip_cdir *cd;
+    zip_cdir_t *cd;
     zip_uint64_t offset;
     const zip_uint8_t *cdp;
     zip_uint8_t eocd[EOCD64LEN];
diff --git a/lib/zip_rename.c b/lib/zip_rename.c
index ecc7705..14e101d 100644
--- a/lib/zip_rename.c
+++ b/lib/zip_rename.c
@@ -39,7 +39,7 @@
 
 
 ZIP_EXTERN int
-zip_rename(struct zip *za, zip_uint64_t idx, const char *name)
+zip_rename(zip_t *za, zip_uint64_t idx, const char *name)
 {
     return zip_file_rename(za, idx, name, 0);
 }
diff --git a/lib/zip_replace.c b/lib/zip_replace.c
index 5838252..eed019a 100644
--- a/lib/zip_replace.c
+++ b/lib/zip_replace.c
@@ -37,7 +37,7 @@
 
 
 ZIP_EXTERN int
-zip_replace(struct zip *za, zip_uint64_t idx, struct zip_source *source)
+zip_replace(zip_t *za, zip_uint64_t idx, zip_source_t *source)
 {
     return zip_file_replace(za, idx, source, 0);
 }
diff --git a/lib/zip_set_archive_comment.c b/lib/zip_set_archive_comment.c
index 2153138..9090eec 100644
--- a/lib/zip_set_archive_comment.c
+++ b/lib/zip_set_archive_comment.c
@@ -38,9 +38,9 @@
 
 
 ZIP_EXTERN int
-zip_set_archive_comment(struct zip *za, const char *comment, zip_uint16_t len)
+zip_set_archive_comment(zip_t *za, const char *comment, zip_uint16_t len)
 {
-    struct zip_string *cstr;
+    zip_string_t *cstr;
 
     if (ZIP_IS_RDONLY(za)) {
 	zip_error_set(&za->error, ZIP_ER_RDONLY, 0);
diff --git a/lib/zip_set_archive_flag.c b/lib/zip_set_archive_flag.c
index 7f555c3..2625b2e 100644
--- a/lib/zip_set_archive_flag.c
+++ b/lib/zip_set_archive_flag.c
@@ -36,7 +36,7 @@
 
 
 ZIP_EXTERN int
-zip_set_archive_flag(struct zip *za, zip_flags_t flag, int value)
+zip_set_archive_flag(zip_t *za, zip_flags_t flag, int value)
 {
     unsigned int new_flags;
     
diff --git a/lib/zip_set_default_password.c b/lib/zip_set_default_password.c
index f45d580..ac098dc 100644
--- a/lib/zip_set_default_password.c
+++ b/lib/zip_set_default_password.c
@@ -39,7 +39,7 @@
 
 
 ZIP_EXTERN int
-zip_set_default_password(struct zip *za, const char *passwd)
+zip_set_default_password(zip_t *za, const char *passwd)
 {
     if (za == NULL)
 	return -1;
diff --git a/lib/zip_set_file_comment.c b/lib/zip_set_file_comment.c
index fffff46..d356693 100644
--- a/lib/zip_set_file_comment.c
+++ b/lib/zip_set_file_comment.c
@@ -39,7 +39,7 @@
 
 
 ZIP_EXTERN int
-zip_set_file_comment(struct zip *za, zip_uint64_t idx, const char *comment, int len)
+zip_set_file_comment(zip_t *za, zip_uint64_t idx, const char *comment, int len)
 {
     if (len < 0 || len > ZIP_UINT16_MAX) {
         zip_error_set(&za->error, ZIP_ER_INVAL, 0);
diff --git a/lib/zip_set_file_compression.c b/lib/zip_set_file_compression.c
index 41aaa67..1e45f24 100644
--- a/lib/zip_set_file_compression.c
+++ b/lib/zip_set_file_compression.c
@@ -36,10 +36,10 @@
 
 
 ZIP_EXTERN int
-zip_set_file_compression(struct zip *za, zip_uint64_t idx,
+zip_set_file_compression(zip_t *za, zip_uint64_t idx,
 			 zip_int32_t method, zip_uint32_t flags)
 {
-    struct zip_entry *e;
+    zip_entry_t *e;
     zip_int32_t old_method;
 
     if (idx >= za->nentry) {
diff --git a/lib/zip_set_name.c b/lib/zip_set_name.c
index 87d372f..5a10381 100644
--- a/lib/zip_set_name.c
+++ b/lib/zip_set_name.c
@@ -39,10 +39,10 @@
 
 
 int
-_zip_set_name(struct zip *za, zip_uint64_t idx, const char *name, zip_flags_t flags)
+_zip_set_name(zip_t *za, zip_uint64_t idx, const char *name, zip_flags_t flags)
 {
-    struct zip_entry *e;
-    struct zip_string *str;
+    zip_entry_t *e;
+    zip_string_t *str;
     int changed;
     zip_int64_t i;
 
diff --git a/lib/zip_source_begin_write.c b/lib/zip_source_begin_write.c
index a6a8563..b3675d2 100644
--- a/lib/zip_source_begin_write.c
+++ b/lib/zip_source_begin_write.c
@@ -36,7 +36,7 @@
 
 
 int
-zip_source_begin_write(struct zip_source *src)
+zip_source_begin_write(zip_source_t *src)
 {
     if (ZIP_SOURCE_IS_OPEN_WRITING(src)) {
         zip_error_set(&src->error, ZIP_ER_INVAL, 0);
diff --git a/lib/zip_source_buffer.c b/lib/zip_source_buffer.c
index 0d61141..3914733 100644
--- a/lib/zip_source_buffer.c
+++ b/lib/zip_source_buffer.c
@@ -69,11 +69,11 @@
 static int buffer_seek(buffer_t *buffer, void *data, zip_uint64_t len, zip_error_t *error);
 static zip_int64_t buffer_write(buffer_t *buffer, const zip_uint8_t *data, zip_uint64_t length, zip_error_t *);
 
-static zip_int64_t read_data(void *, void *, zip_uint64_t, enum zip_source_cmd);
+static zip_int64_t read_data(void *, void *, zip_uint64_t, zip_source_cmd_t);
 
 
-ZIP_EXTERN struct zip_source *
-zip_source_buffer(struct zip *za, const void *data, zip_uint64_t len, int freep)
+ZIP_EXTERN zip_source_t *
+zip_source_buffer(zip_t *za, const void *data, zip_uint64_t len, int freep)
 {
     if (za == NULL)
 	return NULL;
@@ -82,11 +82,11 @@
 }
 
 
-ZIP_EXTERN struct zip_source *
+ZIP_EXTERN zip_source_t *
 zip_source_buffer_create(const void *data, zip_uint64_t len, int freep, zip_error_t *error)
 {
     struct read_data *ctx;
-    struct zip_source *zs;
+    zip_source_t *zs;
 
     if (data == NULL && len > 0) {
 	zip_error_set(error, ZIP_ER_INVAL, 0);
@@ -119,7 +119,7 @@
 
 
 static zip_int64_t
-read_data(void *state, void *data, zip_uint64_t len, enum zip_source_cmd cmd)
+read_data(void *state, void *data, zip_uint64_t len, zip_source_cmd_t cmd)
 {
     struct read_data *ctx = (struct read_data *)state;
 
@@ -186,14 +186,14 @@
        
         case ZIP_SOURCE_STAT:
         {
-            struct zip_stat *st;
+            zip_stat_t *st;
 	    
 	    if (len < sizeof(*st)) {
                 zip_error_set(&ctx->error, ZIP_ER_INVAL, 0);
 		return -1;
 	    }
 
-	    st = (struct zip_stat *)data;
+	    st = (zip_stat_t *)data;
 
 	    zip_stat_init(st);
 	    st->mtime = ctx->mtime;
diff --git a/lib/zip_source_call.c b/lib/zip_source_call.c
index e0a1a63..ab14c76 100644
--- a/lib/zip_source_call.c
+++ b/lib/zip_source_call.c
@@ -36,7 +36,7 @@
 
 
 zip_int64_t
-_zip_source_call(zip_source_t *src, void *data, zip_uint64_t length, enum zip_source_cmd command)
+_zip_source_call(zip_source_t *src, void *data, zip_uint64_t length, zip_source_cmd_t command)
 {
     zip_int64_t ret;
 
diff --git a/lib/zip_source_close.c b/lib/zip_source_close.c
index cbc69c4..b5d443b 100644
--- a/lib/zip_source_close.c
+++ b/lib/zip_source_close.c
@@ -36,7 +36,7 @@
 
 
 int
-zip_source_close(struct zip_source *src)
+zip_source_close(zip_source_t *src)
 {
     if (!ZIP_SOURCE_IS_OPEN_READING(src)) {
         zip_error_set(&src->error, ZIP_ER_INVAL, 0);
diff --git a/lib/zip_source_commit_write.c b/lib/zip_source_commit_write.c
index 09fe3da..e8e4ddc 100644
--- a/lib/zip_source_commit_write.c
+++ b/lib/zip_source_commit_write.c
@@ -36,7 +36,7 @@
 
 
 int
-zip_source_commit_write(struct zip_source *src)
+zip_source_commit_write(zip_source_t *src)
 {
     if (!ZIP_SOURCE_IS_OPEN_WRITING(src)) {
         zip_error_set(&src->error, ZIP_ER_INVAL, 0);
diff --git a/lib/zip_source_crc.c b/lib/zip_source_crc.c
index 8e2edc2..eed7266 100644
--- a/lib/zip_source_crc.c
+++ b/lib/zip_source_crc.c
@@ -46,11 +46,11 @@
     zip_uint32_t crc;
 };
 
-static zip_int64_t crc_read(struct zip_source *, void *, void *, zip_uint64_t, enum zip_source_cmd);
+static zip_int64_t crc_read(zip_source_t *, void *, void *, zip_uint64_t, zip_source_cmd_t);
 
 
-struct zip_source *
-zip_source_crc(struct zip *za, struct zip_source *src, int validate)
+zip_source_t *
+zip_source_crc(zip_t *za, zip_source_t *src, int validate)
 {
     struct crc_context *ctx;
 
@@ -75,7 +75,7 @@
 
 
 static zip_int64_t
-crc_read(struct zip_source *src, void *_ctx, void *data, zip_uint64_t len, enum zip_source_cmd cmd)
+crc_read(zip_source_t *src, void *_ctx, void *data, zip_uint64_t len, zip_source_cmd_t cmd)
 {
     struct crc_context *ctx;
     zip_int64_t n;
@@ -136,9 +136,9 @@
 
         case ZIP_SOURCE_STAT:
         {
-            struct zip_stat *st;
+            zip_stat_t *st;
 
-	    st = (struct zip_stat *)data;
+	    st = (zip_stat_t *)data;
 
 	    if (ctx->eof) {
 		/* TODO: Set comp_size, comp_method, encryption_method?
diff --git a/lib/zip_source_deflate.c b/lib/zip_source_deflate.c
index 42d0155..bebdd9d 100644
--- a/lib/zip_source_deflate.c
+++ b/lib/zip_source_deflate.c
@@ -48,18 +48,18 @@
     z_stream zstr;
 };
 
-static zip_int64_t compress_read(struct zip_source *, struct deflate *, void *, zip_uint64_t);
-static zip_int64_t decompress_read(struct zip_source *, struct deflate *, void *, zip_uint64_t);
-static zip_int64_t deflate_compress(struct zip_source *, void *, void *, zip_uint64_t, enum zip_source_cmd);
-static zip_int64_t deflate_decompress(struct zip_source *, void *, void *, zip_uint64_t, enum zip_source_cmd);
+static zip_int64_t compress_read(zip_source_t *, struct deflate *, void *, zip_uint64_t);
+static zip_int64_t decompress_read(zip_source_t *, struct deflate *, void *, zip_uint64_t);
+static zip_int64_t deflate_compress(zip_source_t *, void *, void *, zip_uint64_t, zip_source_cmd_t);
+static zip_int64_t deflate_decompress(zip_source_t *, void *, void *, zip_uint64_t, zip_source_cmd_t);
 static void deflate_free(struct deflate *);
 
 
-struct zip_source *
-zip_source_deflate(struct zip *za, struct zip_source *src, zip_int32_t cm, int flags)
+zip_source_t *
+zip_source_deflate(zip_t *za, zip_source_t *src, zip_int32_t cm, int flags)
 {
     struct deflate *ctx;
-    struct zip_source *s2;
+    zip_source_t *s2;
 
     if (src == NULL || (cm != ZIP_CM_DEFLATE && !ZIP_CM_IS_DEFAULT(cm))) {
 	zip_error_set(&za->error, ZIP_ER_INVAL, 0);
@@ -93,7 +93,7 @@
 
 
 static zip_int64_t
-compress_read(struct zip_source *src, struct deflate *ctx, void *data, zip_uint64_t len)
+compress_read(zip_source_t *src, struct deflate *ctx, void *data, zip_uint64_t len)
 {
     int end, ret;
     zip_int64_t n;
@@ -178,7 +178,7 @@
 
 
 static zip_int64_t
-decompress_read(struct zip_source *src, struct deflate *ctx, void *data, zip_uint64_t len)
+decompress_read(zip_source_t *src, struct deflate *ctx, void *data, zip_uint64_t len)
 {
     int end, ret;
     zip_int64_t n;
@@ -259,7 +259,7 @@
 
 
 static zip_int64_t
-deflate_compress(struct zip_source *src, void *ud, void *data, zip_uint64_t len, enum zip_source_cmd cmd)
+deflate_compress(zip_source_t *src, void *ud, void *data, zip_uint64_t len, zip_source_cmd_t cmd)
 {
     struct deflate *ctx;
     int ret;
@@ -293,9 +293,9 @@
 
     case ZIP_SOURCE_STAT:
     	{
-	    struct zip_stat *st;
+	    zip_stat_t *st;
 
-	    st = (struct zip_stat *)data;
+	    st = (zip_stat_t *)data;
 
 	    st->comp_method = ZIP_CM_DEFLATE;
 	    st->valid |= ZIP_STAT_COMP_METHOD;
@@ -323,8 +323,8 @@
 
 
 static zip_int64_t
-deflate_decompress(struct zip_source *src, void *ud, void *data,
-		   zip_uint64_t len, enum zip_source_cmd cmd)
+deflate_decompress(zip_source_t *src, void *ud, void *data,
+		   zip_uint64_t len, zip_source_cmd_t cmd)
 {
     struct deflate *ctx;
     zip_int64_t n;
@@ -361,9 +361,9 @@
 
         case ZIP_SOURCE_STAT:
         {
-            struct zip_stat *st;
+            zip_stat_t *st;
             
-            st = (struct zip_stat *)data;
+            st = (zip_stat_t *)data;
             
             st->comp_method = ZIP_CM_STORE;
             if (st->comp_size > 0 && st->size > 0)
diff --git a/lib/zip_source_error.c b/lib/zip_source_error.c
index 401a32e..e09199b 100644
--- a/lib/zip_source_error.c
+++ b/lib/zip_source_error.c
@@ -35,8 +35,8 @@
 #include "zipint.h"
 
 
-struct zip_error *
-zip_source_error(struct zip_source *src)
+zip_error_t *
+zip_source_error(zip_source_t *src)
 {
     return &src->error;
 }
diff --git a/lib/zip_source_file.c b/lib/zip_source_file.c
index 0fddfbd..cefc2b4 100644
--- a/lib/zip_source_file.c
+++ b/lib/zip_source_file.c
@@ -38,8 +38,8 @@
 #include "zipint.h"
 
 
-ZIP_EXTERN struct zip_source *
-zip_source_file(struct zip *za, const char *fname, zip_uint64_t start, zip_int64_t len)
+ZIP_EXTERN zip_source_t *
+zip_source_file(zip_t *za, const char *fname, zip_uint64_t start, zip_int64_t len)
 {
     if (za == NULL)
 	return NULL;
diff --git a/lib/zip_source_filep.c b/lib/zip_source_filep.c
index 9fabf81..6a613f1 100644
--- a/lib/zip_source_filep.c
+++ b/lib/zip_source_filep.c
@@ -58,12 +58,12 @@
     FILE *fout;
 };
 
-static zip_int64_t read_file(void *state, void *data, zip_uint64_t len, enum zip_source_cmd cmd);
+static zip_int64_t read_file(void *state, void *data, zip_uint64_t len, zip_source_cmd_t cmd);
 static int create_temp_output(struct read_file *ctx);
 
 
-ZIP_EXTERN struct zip_source *
-zip_source_filep(struct zip *za, FILE *file, zip_uint64_t start, zip_int64_t len)
+ZIP_EXTERN zip_source_t *
+zip_source_filep(zip_t *za, FILE *file, zip_uint64_t start, zip_int64_t len)
 {
     if (za == NULL)
 	return NULL;
@@ -84,11 +84,11 @@
 }
 
 
-struct zip_source *
+zip_source_t *
 _zip_source_file_or_p(const char *fname, FILE *file, zip_uint64_t start, zip_int64_t len, int closep, const zip_stat_t *st, zip_error_t *error)
 {
     struct read_file *ctx;
-    struct zip_source *zs;
+    zip_source_t *zs;
     
     if (file == NULL && fname == NULL) {
 	zip_error_set(error, ZIP_ER_INVAL, 0);
@@ -387,7 +387,7 @@
 	    if (ctx->st.valid != 0)
 		memcpy(data, &ctx->st, sizeof(ctx->st));
 	    else {
-		struct zip_stat *st;
+		zip_stat_t *st;
 		struct stat fst;
 		int err;
 	    
@@ -401,7 +401,7 @@
 		    return -1;
 		}
 
-		st = (struct zip_stat *)data;
+		st = (zip_stat_t *)data;
 		
 		zip_stat_init(st);
 		st->mtime = fst.st_mtime;
diff --git a/lib/zip_source_function.c b/lib/zip_source_function.c
index 884d5ad..d7e598c 100644
--- a/lib/zip_source_function.c
+++ b/lib/zip_source_function.c
@@ -37,8 +37,8 @@
 #include "zipint.h"
 
 
-ZIP_EXTERN struct zip_source *
-zip_source_function(struct zip *za, zip_source_callback zcb, void *ud)
+ZIP_EXTERN zip_source_t *
+zip_source_function(zip_t *za, zip_source_callback zcb, void *ud)
 {
     if (za == NULL) {
         return NULL;
@@ -51,7 +51,7 @@
 ZIP_EXTERN zip_source_t *
 zip_source_function_create(zip_source_callback zcb, void *ud, zip_error_t *error)
 {
-    struct zip_source *zs;
+    zip_source_t *zs;
 
     if ((zs=_zip_source_new(error)) == NULL)
 	return NULL;
@@ -70,12 +70,12 @@
 }
 
 
-struct zip_source *
+zip_source_t *
 _zip_source_new(zip_error_t *error)
 {
-    struct zip_source *src;
+    zip_source_t *src;
 
-    if ((src=(struct zip_source *)malloc(sizeof(*src))) == NULL) {
+    if ((src=(zip_source_t *)malloc(sizeof(*src))) == NULL) {
         zip_error_set(error, ZIP_ER_MEMORY, 0);
 	return NULL;
     }
diff --git a/lib/zip_source_layered.c b/lib/zip_source_layered.c
index 3cf1f71..1f58148 100644
--- a/lib/zip_source_layered.c
+++ b/lib/zip_source_layered.c
@@ -37,8 +37,8 @@
 #include "zipint.h"
 
 
-struct zip_source *
-zip_source_layered(struct zip *za, struct zip_source *src, zip_source_layered_callback cb, void *ud)
+zip_source_t *
+zip_source_layered(zip_t *za, zip_source_t *src, zip_source_layered_callback cb, void *ud)
 {
     if (za == NULL)
         return NULL;
@@ -48,9 +48,9 @@
 
 
 zip_source_t *
-zip_source_layered_create(struct zip_source *src, zip_source_layered_callback cb, void *ud, zip_error_t *error)
+zip_source_layered_create(zip_source_t *src, zip_source_layered_callback cb, void *ud, zip_error_t *error)
 {
-    struct zip_source *zs;
+    zip_source_t *zs;
     
     if ((zs=_zip_source_new(error)) == NULL)
         return NULL;
diff --git a/lib/zip_source_open.c b/lib/zip_source_open.c
index 1fb3c33..31f22bc 100644
--- a/lib/zip_source_open.c
+++ b/lib/zip_source_open.c
@@ -36,7 +36,7 @@
 
 
 int
-zip_source_open(struct zip_source *src)
+zip_source_open(zip_source_t *src)
 {
     if (src->source_closed) {
         return -1;
diff --git a/lib/zip_source_pkware.c b/lib/zip_source_pkware.c
index 21a826e..ce281ac 100644
--- a/lib/zip_source_pkware.c
+++ b/lib/zip_source_pkware.c
@@ -50,18 +50,18 @@
 
 static void decrypt(struct trad_pkware *, zip_uint8_t *,
 		    const zip_uint8_t *, zip_uint64_t, int);
-static int decrypt_header(struct zip_source *, struct trad_pkware *);
-static zip_int64_t pkware_decrypt(struct zip_source *, void *, void *,
-				  zip_uint64_t, enum zip_source_cmd);
+static int decrypt_header(zip_source_t *, struct trad_pkware *);
+static zip_int64_t pkware_decrypt(zip_source_t *, void *, void *,
+				  zip_uint64_t, zip_source_cmd_t);
 static void pkware_free(struct trad_pkware *);
 
 
-struct zip_source *
-zip_source_pkware(struct zip *za, struct zip_source *src,
+zip_source_t *
+zip_source_pkware(zip_t *za, zip_source_t *src,
 		  zip_uint16_t em, int flags, const char *password)
 {
     struct trad_pkware *ctx;
-    struct zip_source *s2;
+    zip_source_t *s2;
 
     if (password == NULL || src == NULL || em != ZIP_EM_TRAD_PKWARE) {
 	zip_error_set(&za->error, ZIP_ER_INVAL, 0);
@@ -125,7 +125,7 @@
 
 
 static int
-decrypt_header(struct zip_source *src, struct trad_pkware *ctx)
+decrypt_header(zip_source_t *src, struct trad_pkware *ctx)
 {
     zip_uint8_t header[HEADERLEN];
     struct zip_stat st;
@@ -161,8 +161,8 @@
 
 
 static zip_int64_t
-pkware_decrypt(struct zip_source *src, void *ud, void *data,
-	       zip_uint64_t len, enum zip_source_cmd cmd)
+pkware_decrypt(zip_source_t *src, void *ud, void *data,
+	       zip_uint64_t len, zip_source_cmd_t cmd)
 {
     struct trad_pkware *ctx;
     zip_int64_t n;
@@ -189,9 +189,9 @@
 
         case ZIP_SOURCE_STAT:
         {
-	    struct zip_stat *st;
+	    zip_stat_t *st;
 
-	    st = (struct zip_stat *)data;
+	    st = (zip_stat_t *)data;
 
 	    st->encryption_method = ZIP_EM_NONE;
 	    st->valid |= ZIP_STAT_ENCRYPTION_METHOD;
diff --git a/lib/zip_source_pop.c b/lib/zip_source_pop.c
index 78c7ce1..ec73954 100644
--- a/lib/zip_source_pop.c
+++ b/lib/zip_source_pop.c
@@ -37,10 +37,10 @@
 #include "zipint.h"
 
 
-struct zip_source *
-zip_source_pop(struct zip_source *src)
+zip_source_t *
+zip_source_pop(zip_source_t *src)
 {
-    struct zip_source *lower;
+    zip_source_t *lower;
 
     if (src == NULL)
 	return NULL;
diff --git a/lib/zip_source_read.c b/lib/zip_source_read.c
index 8249b82..061a6f9 100644
--- a/lib/zip_source_read.c
+++ b/lib/zip_source_read.c
@@ -36,7 +36,7 @@
 
 
 zip_int64_t
-zip_source_read(struct zip_source *src, void *data, zip_uint64_t len)
+zip_source_read(zip_source_t *src, void *data, zip_uint64_t len)
 {
     if (src->source_closed) {
         return -1;
diff --git a/lib/zip_source_seek.c b/lib/zip_source_seek.c
index 25886f7..24fc05c 100644
--- a/lib/zip_source_seek.c
+++ b/lib/zip_source_seek.c
@@ -36,7 +36,7 @@
 
 
 int
-zip_source_seek(struct zip_source *src, zip_int64_t offset, int whence)
+zip_source_seek(zip_source_t *src, zip_int64_t offset, int whence)
 {
     zip_source_args_seek_t args;
     
diff --git a/lib/zip_source_seek_write.c b/lib/zip_source_seek_write.c
index 6f4e351..cd4c938 100644
--- a/lib/zip_source_seek_write.c
+++ b/lib/zip_source_seek_write.c
@@ -36,7 +36,7 @@
 
 
 int
-zip_source_seek_write(struct zip_source *src, zip_int64_t offset, int whence)
+zip_source_seek_write(zip_source_t *src, zip_int64_t offset, int whence)
 {
     zip_source_args_seek_t args;
         
diff --git a/lib/zip_source_stat.c b/lib/zip_source_stat.c
index 5a53fa4..c946993 100644
--- a/lib/zip_source_stat.c
+++ b/lib/zip_source_stat.c
@@ -36,7 +36,7 @@
 
 
 int
-zip_source_stat(struct zip_source *src, struct zip_stat *st)
+zip_source_stat(zip_source_t *src, zip_stat_t *st)
 {
     if (src->source_closed) {
         return -1;
diff --git a/lib/zip_source_supports.c b/lib/zip_source_supports.c
index 6f8d26c..13f4caf 100644
--- a/lib/zip_source_supports.c
+++ b/lib/zip_source_supports.c
@@ -38,7 +38,7 @@
 
 
 zip_int64_t
-zip_source_supports(struct zip_source *src)
+zip_source_supports(zip_source_t *src)
 {
     zip_int64_t ret;
     
@@ -53,7 +53,7 @@
 
 
 zip_int64_t
-zip_source_make_command_bitmap(enum zip_source_cmd cmd0, ...)
+zip_source_make_command_bitmap(zip_source_cmd_t cmd0, ...)
 {
     zip_int64_t bitmap;
     va_list ap;
diff --git a/lib/zip_source_tell.c b/lib/zip_source_tell.c
index fdf2e77..cbbfdfa 100644
--- a/lib/zip_source_tell.c
+++ b/lib/zip_source_tell.c
@@ -36,7 +36,7 @@
 
 
 zip_int64_t
-zip_source_tell(struct zip_source *src)
+zip_source_tell(zip_source_t *src)
 {
     if (src->source_closed) {
         return -1;
diff --git a/lib/zip_source_tell_write.c b/lib/zip_source_tell_write.c
index 558fa0d..18c0855 100644
--- a/lib/zip_source_tell_write.c
+++ b/lib/zip_source_tell_write.c
@@ -36,7 +36,7 @@
 
 
 zip_int64_t
-zip_source_tell_write(struct zip_source *src)
+zip_source_tell_write(zip_source_t *src)
 {
     if (!ZIP_SOURCE_IS_OPEN_WRITING(src)) {
         zip_error_set(&src->error, ZIP_ER_INVAL, 0);
diff --git a/lib/zip_source_window.c b/lib/zip_source_window.c
index e23a7ca..ef9c099 100644
--- a/lib/zip_source_window.c
+++ b/lib/zip_source_window.c
@@ -47,11 +47,11 @@
     int needs_seek;
 };
 
-static zip_int64_t window_read(struct zip_source *, void *, void *, zip_uint64_t, enum zip_source_cmd);
+static zip_int64_t window_read(zip_source_t *, void *, void *, zip_uint64_t, zip_source_cmd_t);
 
 
-struct zip_source *
-zip_source_window(struct zip *za, struct zip_source *src, zip_uint64_t start, zip_uint64_t len)
+zip_source_t *
+zip_source_window(zip_t *za, zip_source_t *src, zip_uint64_t start, zip_uint64_t len)
 {
     return _zip_source_window_new(src, start, len, NULL, &za->error);
 }
@@ -91,7 +91,7 @@
 
 
 int
-_zip_source_set_source_archive(struct zip_source *src, struct zip *za)
+_zip_source_set_source_archive(zip_source_t *src, zip_t *za)
 {
     src->source_archive = za;
     return _zip_register_source(za, src);
@@ -100,7 +100,7 @@
 
 /* called by zip_discard to avoid operating on file from closed archive */
 void
-_zip_source_invalidate(struct zip_source *src)
+_zip_source_invalidate(zip_source_t *src)
 {
     src->source_closed = 1;
 
@@ -111,7 +111,7 @@
 
 
 static zip_int64_t
-window_read(struct zip_source *src, void *_ctx, void *data, zip_uint64_t len, enum zip_source_cmd cmd)
+window_read(zip_source_t *src, void *_ctx, void *data, zip_uint64_t len, zip_source_cmd_t cmd)
 {
     struct window *ctx;
     zip_int64_t ret;
@@ -215,9 +215,9 @@
 
        case ZIP_SOURCE_STAT:
         {
-            struct zip_stat *st;
+            zip_stat_t *st;
             
-	    st = (struct zip_stat *)data;
+	    st = (zip_stat_t *)data;
             
             if (_zip_stat_merge(st, &ctx->stat, &ctx->error) < 0) {
                 return -1;
@@ -239,7 +239,7 @@
 
 
 void
-_zip_deregister_source(struct zip *za, zip_source_t *src)
+_zip_deregister_source(zip_t *za, zip_source_t *src)
 {
     unsigned int i;
     
@@ -261,7 +261,7 @@
     if (za->nopen_source+1 >= za->nopen_source_alloc) {
         unsigned int n;
         n = za->nopen_source_alloc + 10;
-        open_source = (struct zip_source **)realloc(za->open_source, n*sizeof(struct zip_source *));
+        open_source = (zip_source_t **)realloc(za->open_source, n*sizeof(zip_source_t *));
         if (open_source == NULL) {
             zip_error_set(&za->error, ZIP_ER_MEMORY, 0);
             return -1;
diff --git a/lib/zip_source_write.c b/lib/zip_source_write.c
index bbf5d0b..541a936 100644
--- a/lib/zip_source_write.c
+++ b/lib/zip_source_write.c
@@ -36,7 +36,7 @@
 
 
 zip_int64_t
-zip_source_write(struct zip_source *src, const void *data, zip_uint64_t length)
+zip_source_write(zip_source_t *src, const void *data, zip_uint64_t length)
 {
     if (!ZIP_SOURCE_IS_OPEN_WRITING(src) || length > ZIP_INT64_MAX) {
         zip_error_set(&src->error, ZIP_ER_INVAL, 0);
diff --git a/lib/zip_source_zip.c b/lib/zip_source_zip.c
index 8f85200..e172ca2 100644
--- a/lib/zip_source_zip.c
+++ b/lib/zip_source_zip.c
@@ -38,8 +38,8 @@
 #include "zipint.h"
 
 
-ZIP_EXTERN struct zip_source *
-zip_source_zip(struct zip *za, struct zip *srcza, zip_uint64_t srcidx,
+ZIP_EXTERN zip_source_t *
+zip_source_zip(zip_t *za, zip_t *srcza, zip_uint64_t srcidx,
 	       zip_flags_t flags, zip_uint64_t start, zip_int64_t len)
 {
     if (len < -1) {
diff --git a/lib/zip_source_zip_new.c b/lib/zip_source_zip_new.c
index f8af9ad..6638a78 100644
--- a/lib/zip_source_zip_new.c
+++ b/lib/zip_source_zip_new.c
@@ -37,13 +37,13 @@
 #include "zipint.h"
 
 
-struct zip_source *
-_zip_source_zip_new(struct zip *za, struct zip *srcza, zip_uint64_t srcidx, zip_flags_t flags,
+zip_source_t *
+_zip_source_zip_new(zip_t *za, zip_t *srcza, zip_uint64_t srcidx, zip_flags_t flags,
 		    zip_uint64_t start, zip_uint64_t len, const char *password)
 {
     zip_compression_implementation comp_impl;
     zip_encryption_implementation enc_impl;
-    struct zip_source *src, *s2;
+    zip_source_t *src, *s2;
     zip_uint64_t offset;
     struct zip_stat st;
 
diff --git a/lib/zip_stat.c b/lib/zip_stat.c
index b87182b..cf8e566 100644
--- a/lib/zip_stat.c
+++ b/lib/zip_stat.c
@@ -36,7 +36,7 @@
 
 
 ZIP_EXTERN int
-zip_stat(struct zip *za, const char *fname, zip_flags_t flags, struct zip_stat *st)
+zip_stat(zip_t *za, const char *fname, zip_flags_t flags, zip_stat_t *st)
 {
     zip_int64_t idx;
 
diff --git a/lib/zip_stat_index.c b/lib/zip_stat_index.c
index a58345b..601e3f7 100644
--- a/lib/zip_stat_index.c
+++ b/lib/zip_stat_index.c
@@ -36,11 +36,11 @@
 
 
 ZIP_EXTERN int
-zip_stat_index(struct zip *za, zip_uint64_t index, zip_flags_t flags,
-	       struct zip_stat *st)
+zip_stat_index(zip_t *za, zip_uint64_t index, zip_flags_t flags,
+	       zip_stat_t *st)
 {
     const char *name;
-    struct zip_dirent *de;
+    zip_dirent_t *de;
 
     if ((de=_zip_get_dirent(za, index, flags, NULL)) == NULL)
 	return -1;
diff --git a/lib/zip_stat_init.c b/lib/zip_stat_init.c
index 0a8bf5a..6b7d633 100644
--- a/lib/zip_stat_init.c
+++ b/lib/zip_stat_init.c
@@ -37,7 +37,7 @@
 
 
 ZIP_EXTERN void
-zip_stat_init(struct zip_stat *st)
+zip_stat_init(zip_stat_t *st)
 {
     st->valid = 0;
     st->name = NULL;
diff --git a/lib/zip_strerror.c b/lib/zip_strerror.c
index 548c021..98c4f6b 100644
--- a/lib/zip_strerror.c
+++ b/lib/zip_strerror.c
@@ -36,7 +36,7 @@
 
 
 ZIP_EXTERN const char *
-zip_strerror(struct zip *za)
+zip_strerror(zip_t *za)
 {
     return zip_error_strerror(&za->error);
 }
diff --git a/lib/zip_string.c b/lib/zip_string.c
index d00e3aa..307a425 100644
--- a/lib/zip_string.c
+++ b/lib/zip_string.c
@@ -39,7 +39,7 @@
 
 
 zip_uint32_t
-_zip_string_crc32(const struct zip_string *s)
+_zip_string_crc32(const zip_string_t *s)
 {
     zip_uint32_t crc;
     
@@ -53,7 +53,7 @@
 
 
 int
-_zip_string_equal(const struct zip_string *a, const struct zip_string *b)
+_zip_string_equal(const zip_string_t *a, const zip_string_t *b)
 {
     if (a == NULL || b == NULL)
 	return a == b;
@@ -68,7 +68,7 @@
 
 
 void
-_zip_string_free(struct zip_string *s)
+_zip_string_free(zip_string_t *s)
 {
     if (s == NULL)
 	return;
@@ -80,7 +80,7 @@
 
 
 const zip_uint8_t *
-_zip_string_get(struct zip_string *string, zip_uint32_t *lenp, zip_flags_t flags, struct zip_error *error)
+_zip_string_get(zip_string_t *string, zip_uint32_t *lenp, zip_flags_t flags, zip_error_t *error)
 {
     static const zip_uint8_t empty[1] = "";
 
@@ -116,7 +116,7 @@
 
 
 zip_uint16_t
-_zip_string_length(const struct zip_string *s)
+_zip_string_length(const zip_string_t *s)
 {
     if (s == NULL)
 	return 0;
@@ -125,11 +125,11 @@
 }
 
 
-struct zip_string *
-_zip_string_new(const zip_uint8_t *raw, zip_uint16_t length, zip_flags_t flags, struct zip_error *error)
+zip_string_t *
+_zip_string_new(const zip_uint8_t *raw, zip_uint16_t length, zip_flags_t flags, zip_error_t *error)
 {
-    struct zip_string *s;
-    enum zip_encoding_type expected_encoding;
+    zip_string_t *s;
+    zip_encoding_type_t expected_encoding;
     
     if (length == 0)
 	return NULL;
@@ -149,7 +149,7 @@
 	return NULL;
     }
 	
-    if ((s=(struct zip_string *)malloc(sizeof(*s))) == NULL) {
+    if ((s=(zip_string_t *)malloc(sizeof(*s))) == NULL) {
 	zip_error_set(error, ZIP_ER_MEMORY, 0);
 	return NULL;
     }
diff --git a/lib/zip_unchange.c b/lib/zip_unchange.c
index aa840d0..6c8a495 100644
--- a/lib/zip_unchange.c
+++ b/lib/zip_unchange.c
@@ -38,14 +38,14 @@
 
 
 ZIP_EXTERN int
-zip_unchange(struct zip *za, zip_uint64_t idx)
+zip_unchange(zip_t *za, zip_uint64_t idx)
 {
     return _zip_unchange(za, idx, 0);
 }
 
 
 int
-_zip_unchange(struct zip *za, zip_uint64_t idx, int allow_duplicates)
+_zip_unchange(zip_t *za, zip_uint64_t idx, int allow_duplicates)
 {
     zip_int64_t i;
     
diff --git a/lib/zip_unchange_all.c b/lib/zip_unchange_all.c
index c57cdf8..6007683 100644
--- a/lib/zip_unchange_all.c
+++ b/lib/zip_unchange_all.c
@@ -38,7 +38,7 @@
 
 
 ZIP_EXTERN int
-zip_unchange_all(struct zip *za)
+zip_unchange_all(zip_t *za)
 {
     int ret;
     zip_uint64_t i;
diff --git a/lib/zip_unchange_archive.c b/lib/zip_unchange_archive.c
index 291b826..920255c 100644
--- a/lib/zip_unchange_archive.c
+++ b/lib/zip_unchange_archive.c
@@ -38,7 +38,7 @@
 
 
 ZIP_EXTERN int
-zip_unchange_archive(struct zip *za)
+zip_unchange_archive(zip_t *za)
 {
     if (za->comment_changed) {
 	_zip_string_free(za->comment_changes);
diff --git a/lib/zip_unchange_data.c b/lib/zip_unchange_data.c
index a95a81c..839d9a3 100644
--- a/lib/zip_unchange_data.c
+++ b/lib/zip_unchange_data.c
@@ -35,7 +35,7 @@
 #include "zipint.h"
 
 void
-_zip_unchange_data(struct zip_entry *ze)
+_zip_unchange_data(zip_entry_t *ze)
 {
     if (ze->source) {
 	zip_source_free(ze->source);
diff --git a/lib/zip_utf-8.c b/lib/zip_utf-8.c
index 4321412..f38eea0 100644
--- a/lib/zip_utf-8.c
+++ b/lib/zip_utf-8.c
@@ -113,10 +113,10 @@
 #define UTF_8_CONTINUE_MATCH 0x80
 
 
-enum zip_encoding_type
-_zip_guess_encoding(struct zip_string *str, enum zip_encoding_type expected_encoding)
+zip_encoding_type_t
+_zip_guess_encoding(zip_string_t *str, zip_encoding_type_t expected_encoding)
 {
-    enum zip_encoding_type enc;
+    zip_encoding_type_t enc;
     const zip_uint8_t *name;
     zip_uint32_t i, j, ulen;
 
@@ -216,7 +216,7 @@
 
 zip_uint8_t *
 _zip_cp437_to_utf8(const zip_uint8_t * const _cp437buf, zip_uint32_t len,
-		   zip_uint32_t *utf8_lenp, struct zip_error *error)
+		   zip_uint32_t *utf8_lenp, zip_error_t *error)
 {
     zip_uint8_t *cp437buf = (zip_uint8_t *)_cp437buf;
     zip_uint8_t *utf8buf;
diff --git a/lib/zipint.h b/lib/zipint.h
index b157d62..1c89b9e 100644
--- a/lib/zipint.h
+++ b/lib/zipint.h
@@ -171,13 +171,8 @@
 /* This section contains API that won't materialize like this.  It's
    placed in the internal section, pending cleanup. */
 
-typedef zip_source_t *(*zip_compression_implementation)(struct zip *,
-						     zip_source_t *,
-						     zip_int32_t, int);
-typedef zip_source_t *(*zip_encryption_implementation)(struct zip *,
-						    zip_source_t *,
-						    zip_uint16_t, int,
-						    const char *);
+typedef zip_source_t *(*zip_compression_implementation)(zip_t *, zip_source_t *, zip_int32_t, int);
+typedef zip_source_t *(*zip_encryption_implementation)(zip_t *, zip_source_t *, zip_uint16_t, int, const char *);
 
 zip_compression_implementation _zip_get_compression_implementation(zip_int32_t);
 zip_encryption_implementation _zip_get_encryption_implementation(zip_uint16_t);
@@ -186,7 +181,7 @@
 
 /* This API is not final yet, but we need it internally, so it's private for now. */
 
-const zip_uint8_t *zip_get_extra_field_by_id(struct zip *, int, int, zip_uint16_t, int, zip_uint16_t *);
+const zip_uint8_t *zip_get_extra_field_by_id(zip_t *, int, int, zip_uint16_t, int, zip_uint16_t *);
 
 /* This section contains API that is of limited use until support for
    user-supplied compression/encryption implementation is finished.
@@ -195,11 +190,11 @@
 typedef zip_int64_t (*zip_source_layered_callback)(zip_source_t *, void *, void *, zip_uint64_t, enum zip_source_cmd);
 int zip_source_begin_write(zip_source_t *);
 int zip_source_commit_write(zip_source_t *);
-zip_source_t *zip_source_crc(struct zip *, zip_source_t *, int);
-zip_source_t *zip_source_deflate(struct zip *, zip_source_t *, zip_int32_t, int);
-zip_source_t *zip_source_layered(struct zip *, zip_source_t *, zip_source_layered_callback, void *);
+zip_source_t *zip_source_crc(zip_t *, zip_source_t *, int);
+zip_source_t *zip_source_deflate(zip_t *, zip_source_t *, zip_int32_t, int);
+zip_source_t *zip_source_layered(zip_t *, zip_source_t *, zip_source_layered_callback, void *);
 zip_source_t *zip_source_layered_create(zip_source_t *src, zip_source_layered_callback cb, void *ud, zip_error_t *error);
-zip_source_t *zip_source_pkware(struct zip *, zip_source_t *, zip_uint16_t, int, const char *);
+zip_source_t *zip_source_pkware(zip_t *, zip_source_t *, zip_uint16_t, int, const char *);
 int zip_source_remove(zip_source_t *);
 void zip_source_rollback_write(zip_source_t *);
 int zip_source_seek(zip_source_t *, zip_int64_t, int);
@@ -207,7 +202,7 @@
 zip_int64_t zip_source_supports(zip_source_t *src);
 zip_int64_t zip_source_tell(zip_source_t *);
 zip_int64_t zip_source_tell_write(zip_source_t *);
-zip_source_t *zip_source_window(struct zip *, zip_source_t *, zip_uint64_t, zip_uint64_t);
+zip_source_t *zip_source_window(zip_t *, zip_source_t *, zip_uint64_t, zip_uint64_t);
 zip_int64_t zip_source_write(zip_source_t *, const void *, zip_uint64_t);
 
 
@@ -417,109 +412,109 @@
 #define ZIP_IS_RDONLY(za)	((za)->ch_flags & ZIP_AFL_RDONLY)
 
 
-zip_int64_t _zip_add_entry(struct zip *);
+zip_int64_t _zip_add_entry(zip_t *);
 
-int _zip_cdir_compute_crc(struct zip *, uLong *);
-void _zip_cdir_free(struct zip_cdir *);
-int _zip_cdir_grow(struct zip_cdir *, zip_uint64_t, struct zip_error *);
-struct zip_cdir *_zip_cdir_new(zip_uint64_t, struct zip_error *);
-zip_int64_t _zip_cdir_write(struct zip *za, const struct zip_filelist *filelist, zip_uint64_t survivors);
+int _zip_cdir_compute_crc(zip_t *, uLong *);
+void _zip_cdir_free(zip_cdir_t *);
+int _zip_cdir_grow(zip_cdir_t *, zip_uint64_t, zip_error_t *);
+zip_cdir_t *_zip_cdir_new(zip_uint64_t, zip_error_t *);
+zip_int64_t _zip_cdir_write(zip_t *za, const zip_filelist_t *filelist, zip_uint64_t survivors);
 void _zip_deregister_source(zip_t *za, zip_source_t *src);
 
-struct zip_dirent *_zip_dirent_clone(const struct zip_dirent *);
-void _zip_dirent_free(struct zip_dirent *);
-void _zip_dirent_finalize(struct zip_dirent *);
-void _zip_dirent_init(struct zip_dirent *);
-int _zip_dirent_needs_zip64(const struct zip_dirent *, zip_flags_t);
-struct zip_dirent *_zip_dirent_new(void);
-int _zip_dirent_read(struct zip_dirent *zde, zip_source_t *src, 
+zip_dirent_t *_zip_dirent_clone(const zip_dirent_t *);
+void _zip_dirent_free(zip_dirent_t *);
+void _zip_dirent_finalize(zip_dirent_t *);
+void _zip_dirent_init(zip_dirent_t *);
+int _zip_dirent_needs_zip64(const zip_dirent_t *, zip_flags_t);
+zip_dirent_t *_zip_dirent_new(void);
+int _zip_dirent_read(zip_dirent_t *zde, zip_source_t *src, 
 		 const unsigned char **bufp, zip_uint64_t *leftp, int local,
 		 zip_error_t *error);
-zip_int32_t _zip_dirent_size(zip_source_t *src, zip_uint16_t, struct zip_error *);
-void _zip_dirent_torrent_normalize(struct zip_dirent *);
-int _zip_dirent_write(struct zip *za, struct zip_dirent *dirent, zip_flags_t flags);
+zip_int32_t _zip_dirent_size(zip_source_t *src, zip_uint16_t, zip_error_t *);
+void _zip_dirent_torrent_normalize(zip_dirent_t *);
+int _zip_dirent_write(zip_t *za, zip_dirent_t *dirent, zip_flags_t flags);
 
-struct zip_extra_field *_zip_ef_clone(const struct zip_extra_field *, struct zip_error *);
-struct zip_extra_field *_zip_ef_delete_by_id(struct zip_extra_field *, zip_uint16_t, zip_uint16_t, zip_flags_t);
-void _zip_ef_free(struct zip_extra_field *);
-const zip_uint8_t *_zip_ef_get_by_id(const struct zip_extra_field *, zip_uint16_t *, zip_uint16_t, zip_uint16_t, zip_flags_t, struct zip_error *);
-struct zip_extra_field *_zip_ef_merge(struct zip_extra_field *, struct zip_extra_field *);
-struct zip_extra_field *_zip_ef_new(zip_uint16_t, zip_uint16_t, const zip_uint8_t *, zip_flags_t);
-struct zip_extra_field *_zip_ef_parse(const zip_uint8_t *, zip_uint16_t, zip_flags_t, struct zip_error *);
-struct zip_extra_field *_zip_ef_remove_internal(struct zip_extra_field *);
-zip_uint16_t _zip_ef_size(const struct zip_extra_field *, zip_flags_t);
-int _zip_ef_write(struct zip *za, const struct zip_extra_field *ef, zip_flags_t flags);
+zip_extra_field_t *_zip_ef_clone(const zip_extra_field_t *, zip_error_t *);
+zip_extra_field_t *_zip_ef_delete_by_id(zip_extra_field_t *, zip_uint16_t, zip_uint16_t, zip_flags_t);
+void _zip_ef_free(zip_extra_field_t *);
+const zip_uint8_t *_zip_ef_get_by_id(const zip_extra_field_t *, zip_uint16_t *, zip_uint16_t, zip_uint16_t, zip_flags_t, zip_error_t *);
+zip_extra_field_t *_zip_ef_merge(zip_extra_field_t *, zip_extra_field_t *);
+zip_extra_field_t *_zip_ef_new(zip_uint16_t, zip_uint16_t, const zip_uint8_t *, zip_flags_t);
+zip_extra_field_t *_zip_ef_parse(const zip_uint8_t *, zip_uint16_t, zip_flags_t, zip_error_t *);
+zip_extra_field_t *_zip_ef_remove_internal(zip_extra_field_t *);
+zip_uint16_t _zip_ef_size(const zip_extra_field_t *, zip_flags_t);
+int _zip_ef_write(zip_t *za, const zip_extra_field_t *ef, zip_flags_t flags);
 
-void _zip_entry_finalize(struct zip_entry *);
-void _zip_entry_init(struct zip_entry *);
+void _zip_entry_finalize(zip_entry_t *);
+void _zip_entry_init(zip_entry_t *);
 
-void _zip_error_clear(struct zip_error *);
-void _zip_error_get(const struct zip_error *, int *, int *);
+void _zip_error_clear(zip_error_t *);
+void _zip_error_get(const zip_error_t *, int *, int *);
 
-void _zip_error_copy(zip_error_t *dst, const struct zip_error *src);
+void _zip_error_copy(zip_error_t *dst, const zip_error_t *src);
 void _zip_error_set_from_source(zip_error_t *, zip_source_t *);
 
-const zip_uint8_t *_zip_extract_extra_field_by_id(struct zip_error *, zip_uint16_t, int, const zip_uint8_t *, zip_uint16_t, zip_uint16_t *);
+const zip_uint8_t *_zip_extract_extra_field_by_id(zip_error_t *, zip_uint16_t, int, const zip_uint8_t *, zip_uint16_t, zip_uint16_t *);
 
-int _zip_file_extra_field_prepare_for_change(struct zip *, zip_uint64_t);
-int _zip_file_fillbuf(void *, size_t, struct zip_file *);
-zip_uint64_t _zip_file_get_offset(const struct zip *, zip_uint64_t, struct zip_error *);
+int _zip_file_extra_field_prepare_for_change(zip_t *, zip_uint64_t);
+int _zip_file_fillbuf(void *, size_t, zip_file_t *);
+zip_uint64_t _zip_file_get_offset(const zip_t *, zip_uint64_t, zip_error_t *);
 
-int _zip_filerange_crc(zip_source_t *src, zip_uint64_t offset, zip_uint64_t length, uLong *crcp, struct zip_error *error);
+int _zip_filerange_crc(zip_source_t *src, zip_uint64_t offset, zip_uint64_t length, uLong *crcp, zip_error_t *error);
 
-struct zip_dirent *_zip_get_dirent(struct zip *, zip_uint64_t, zip_flags_t, struct zip_error *);
+zip_dirent_t *_zip_get_dirent(zip_t *, zip_uint64_t, zip_flags_t, zip_error_t *);
 
-enum zip_encoding_type _zip_guess_encoding(struct zip_string *, enum zip_encoding_type);
-zip_uint8_t *_zip_cp437_to_utf8(const zip_uint8_t * const, zip_uint32_t, zip_uint32_t *, struct zip_error *);
+enum zip_encoding_type _zip_guess_encoding(zip_string_t *, enum zip_encoding_type);
+zip_uint8_t *_zip_cp437_to_utf8(const zip_uint8_t * const, zip_uint32_t, zip_uint32_t *, zip_error_t *);
 
-struct zip *_zip_open(zip_source_t *, unsigned int, struct zip_error *);
+zip_t *_zip_open(zip_source_t *, unsigned int, zip_error_t *);
 
 void _zip_put_16(zip_uint8_t **p, zip_uint16_t i);
 void _zip_put_32(zip_uint8_t **p, zip_uint32_t i);
 void _zip_put_64(zip_uint8_t **p, zip_uint64_t i);
 void _zip_put_data(zip_uint8_t **p, const char *s, size_t len);
 
-int _zip_read(zip_source_t *src, zip_uint8_t *data, zip_uint64_t length, struct zip_error *error);
-int _zip_read_at_offset(zip_source_t *src, zip_uint64_t offset, unsigned char *b, size_t length, struct zip_error *error);
-int _zip_read_local_ef(struct zip *, zip_uint64_t);
-struct zip_string *_zip_read_string(const zip_uint8_t **buf, zip_source_t *src, zip_uint16_t len, int nulp, struct zip_error *error);
+int _zip_read(zip_source_t *src, zip_uint8_t *data, zip_uint64_t length, zip_error_t *error);
+int _zip_read_at_offset(zip_source_t *src, zip_uint64_t offset, unsigned char *b, size_t length, zip_error_t *error);
+int _zip_read_local_ef(zip_t *, zip_uint64_t);
+zip_string_t *_zip_read_string(const zip_uint8_t **buf, zip_source_t *src, zip_uint16_t len, int nulp, zip_error_t *error);
 int _zip_register_source(zip_t *za, zip_source_t *src);
 
-void _zip_set_open_error(int *zep, const struct zip_error *err, int ze);
+void _zip_set_open_error(int *zep, const zip_error_t *err, int ze);
 
-zip_int64_t _zip_source_call(zip_source_t *src, void *data, zip_uint64_t length, enum zip_source_cmd command);
-zip_source_t *_zip_source_file_or_p(const char *, FILE *, zip_uint64_t, zip_int64_t, int, const struct zip_stat *, zip_error_t *error);
+zip_int64_t _zip_source_call(zip_source_t *src, void *data, zip_uint64_t length, zip_source_cmd_t command);
+zip_source_t *_zip_source_file_or_p(const char *, FILE *, zip_uint64_t, zip_int64_t, int, const zip_stat_t *, zip_error_t *error);
 void _zip_source_invalidate(zip_source_t *src);
 void _zip_source_free_or_pop(zip_source_t *src, int recurse);
 zip_source_t *_zip_source_new(zip_error_t *error);
-int _zip_source_set_source_archive(zip_source_t *, struct zip *);
+int _zip_source_set_source_archive(zip_source_t *, zip_t *);
 zip_source_t *_zip_source_window_new(zip_source_t *src, zip_uint64_t start, zip_uint64_t length, zip_stat_t *st, zip_error_t *error);
-zip_source_t *_zip_source_zip_new(struct zip *, struct zip *, zip_uint64_t, zip_flags_t, zip_uint64_t, zip_uint64_t, const char *);
+zip_source_t *_zip_source_zip_new(zip_t *, zip_t *, zip_uint64_t, zip_flags_t, zip_uint64_t, zip_uint64_t, const char *);
 
 int _zip_stat_merge(zip_stat_t *dst, const zip_stat_t *src, zip_error_t *error);
-int _zip_string_equal(const struct zip_string *, const struct zip_string *);
-void _zip_string_free(struct zip_string *);
-zip_uint32_t _zip_string_crc32(const struct zip_string *);
-const zip_uint8_t *_zip_string_get(struct zip_string *, zip_uint32_t *, zip_flags_t, struct zip_error *);
-zip_uint16_t _zip_string_length(const struct zip_string *);
-struct zip_string *_zip_string_new(const zip_uint8_t *, zip_uint16_t, zip_flags_t, struct zip_error *);
-int _zip_string_write(struct zip *za, const struct zip_string *string);
+int _zip_string_equal(const zip_string_t *, const zip_string_t *);
+void _zip_string_free(zip_string_t *);
+zip_uint32_t _zip_string_crc32(const zip_string_t *);
+const zip_uint8_t *_zip_string_get(zip_string_t *, zip_uint32_t *, zip_flags_t, zip_error_t *);
+zip_uint16_t _zip_string_length(const zip_string_t *);
+zip_string_t *_zip_string_new(const zip_uint8_t *, zip_uint16_t, zip_flags_t, zip_error_t *);
+int _zip_string_write(zip_t *za, const zip_string_t *string);
 
-int _zip_changed(const struct zip *, zip_uint64_t *);
-const char *_zip_get_name(struct zip *, zip_uint64_t, zip_flags_t, struct zip_error *);
-int _zip_local_header_read(struct zip *, int);
-void *_zip_memdup(const void *, size_t, struct zip_error *);
-zip_int64_t _zip_name_locate(struct zip *, const char *, zip_flags_t, struct zip_error *);
-struct zip *_zip_new(struct zip_error *);
+int _zip_changed(const zip_t *, zip_uint64_t *);
+const char *_zip_get_name(zip_t *, zip_uint64_t, zip_flags_t, zip_error_t *);
+int _zip_local_header_read(zip_t *, int);
+void *_zip_memdup(const void *, size_t, zip_error_t *);
+zip_int64_t _zip_name_locate(zip_t *, const char *, zip_flags_t, zip_error_t *);
+zip_t *_zip_new(zip_error_t *);
 zip_uint16_t _zip_get_16(const zip_uint8_t **);
 zip_uint32_t _zip_get_32(const zip_uint8_t **);
 zip_uint64_t _zip_get_64(const zip_uint8_t **);
-zip_uint8_t *_zip_read_data(const zip_uint8_t **bufferp, zip_source_t *src, size_t length, int nulp, struct zip_error *error);
-zip_int64_t _zip_file_replace(struct zip *, zip_uint64_t, const char *, zip_source_t *, zip_flags_t);
-int _zip_set_name(struct zip *, zip_uint64_t, const char *, zip_flags_t);
+zip_uint8_t *_zip_read_data(const zip_uint8_t **bufferp, zip_source_t *src, size_t length, int nulp, zip_error_t *error);
+zip_int64_t _zip_file_replace(zip_t *, zip_uint64_t, const char *, zip_source_t *, zip_flags_t);
+int _zip_set_name(zip_t *, zip_uint64_t, const char *, zip_flags_t);
 void _zip_u2d_time(time_t, zip_uint16_t *, zip_uint16_t *);
-int _zip_unchange(struct zip *, zip_uint64_t, int);
-void _zip_unchange_data(struct zip_entry *);
-int _zip_write(struct zip *za, const void *data, zip_uint64_t length);
+int _zip_unchange(zip_t *, zip_uint64_t, int);
+void _zip_unchange_data(zip_entry_t *);
+int _zip_write(zip_t *za, const void *data, zip_uint64_t length);
 
 #endif /* zipint.h */