diff --git a/src/dc_chat.rs b/src/dc_chat.rs index c7a2a3bb2..c7ac287c6 100644 --- a/src/dc_chat.rs +++ b/src/dc_chat.rs @@ -2,10 +2,15 @@ use c2rust_bitfields::BitfieldStruct; use libc; use crate::dc_array::dc_array_t; +use crate::dc_contact::*; use crate::dc_context::dc_context_t; +use crate::dc_log::*; use crate::dc_lot::dc_lot_t; +use crate::dc_msg::*; use crate::dc_param::*; -use crate::dc_sqlite3::dc_sqlite3_t; +use crate::dc_sqlite3::*; +use crate::dc_stock::*; +use crate::dc_tools::*; use crate::types::*; use crate::x::*; diff --git a/src/dc_configure.rs b/src/dc_configure.rs index 923e31947..14188c025 100644 --- a/src/dc_configure.rs +++ b/src/dc_configure.rs @@ -1,13 +1,17 @@ use c2rust_bitfields::BitfieldStruct; use libc; +use crate::dc_array::*; use crate::dc_context::dc_context_t; -use crate::dc_imap::dc_imap_t; +use crate::dc_imap::*; use crate::dc_jobthread::dc_jobthread_t; +use crate::dc_loginparam::*; use crate::dc_lot::dc_lot_t; use crate::dc_saxparser::*; use crate::dc_smtp::dc_smtp_t; -use crate::dc_sqlite3::dc_sqlite3_t; +use crate::dc_sqlite3::*; +use crate::dc_stock::*; +use crate::dc_tools::*; use crate::types::*; use crate::x::*; diff --git a/src/dc_job.rs b/src/dc_job.rs index 354aa7f9f..cfba81cd8 100644 --- a/src/dc_job.rs +++ b/src/dc_job.rs @@ -1,17 +1,20 @@ use c2rust_bitfields::BitfieldStruct; use libc; +use crate::dc_chat::*; use crate::dc_context::dc_context_t; use crate::dc_imap::dc_imap_t; use crate::dc_jobthread::dc_jobthread_t; use crate::dc_keyhistory::*; use crate::dc_location::*; +use crate::dc_log::*; use crate::dc_lot::dc_lot_t; use crate::dc_mimefactory::*; use crate::dc_msg::*; use crate::dc_param::*; use crate::dc_smtp::dc_smtp_t; use crate::dc_sqlite3::*; +use crate::dc_tools::*; use crate::types::*; use crate::x::*; diff --git a/src/dc_jobthread.rs b/src/dc_jobthread.rs index 47275f070..7a791ecd9 100644 --- a/src/dc_jobthread.rs +++ b/src/dc_jobthread.rs @@ -1,6 +1,7 @@ use c2rust_bitfields::BitfieldStruct; use libc; +use crate::dc_chat::*; use crate::dc_configure::*; use crate::dc_context::dc_context_t; use crate::dc_imap::dc_imap_t; @@ -8,7 +9,7 @@ use crate::dc_imap::*; use crate::dc_log::*; use crate::dc_lot::dc_lot_t; use crate::dc_smtp::dc_smtp_t; -use crate::dc_sqlite3::dc_sqlite3_t; +use crate::dc_sqlite3::*; use crate::dc_tools::*; use crate::types::*; use crate::x::*; diff --git a/src/dc_location.rs b/src/dc_location.rs index 9181f7758..f8dac131f 100644 --- a/src/dc_location.rs +++ b/src/dc_location.rs @@ -1,9 +1,19 @@ use c2rust_bitfields::BitfieldStruct; use libc; +use crate::dc_array::*; +use crate::dc_chat::*; use crate::dc_context::dc_context_t; +use crate::dc_job::*; +use crate::dc_log::*; use crate::dc_lot::dc_lot_t; -use crate::dc_sqlite3::dc_sqlite3_t; +use crate::dc_msg::*; +use crate::dc_param::*; +use crate::dc_saxparser::*; +use crate::dc_sqlite3::*; +use crate::dc_stock::*; +use crate::dc_strbuilder::*; +use crate::dc_tools::*; use crate::types::*; use crate::x::*; @@ -538,7 +548,7 @@ pub unsafe extern "C" fn dc_kml_parse( ::std::mem::size_of::() as libc::c_ulong, ) as *mut dc_kml_t; let mut content_nullterminated: *mut libc::c_char = 0 as *mut libc::c_char; - let mut saxparser: dc_saxparser_t = _dc_saxparser { + let mut saxparser: dc_saxparser_t = dc_saxparser_t { starttag_cb: None, endtag_cb: None, text_cb: None, diff --git a/src/dc_mimefactory.rs b/src/dc_mimefactory.rs index a5ecdbc34..7025093ba 100644 --- a/src/dc_mimefactory.rs +++ b/src/dc_mimefactory.rs @@ -1,9 +1,20 @@ use c2rust_bitfields::BitfieldStruct; use libc; +use crate::dc_chat::*; +use crate::dc_contact::*; use crate::dc_context::dc_context_t; +use crate::dc_e2ee::*; +use crate::dc_hash::*; +use crate::dc_location::*; +use crate::dc_log::*; use crate::dc_lot::dc_lot_t; -use crate::dc_sqlite3::dc_sqlite3_t; +use crate::dc_msg::*; +use crate::dc_param::*; +use crate::dc_sqlite3::*; +use crate::dc_stock::*; +use crate::dc_strencode::*; +use crate::dc_tools::*; use crate::types::*; use crate::x::*; /* * @@ -332,7 +343,7 @@ pub unsafe extern "C" fn dc_mimefactory_render(mut factory: *mut dc_mimefactory_ let mut force_plaintext: libc::c_int = 0i32; let mut do_gossip: libc::c_int = 0i32; let mut grpimage: *mut libc::c_char = 0 as *mut libc::c_char; - let mut e2ee_helper: dc_e2ee_helper_t = _dc_e2ee_helper { + let mut e2ee_helper: dc_e2ee_helper_t = dc_e2ee_helper_t { encryption_successfull: 0, cdata_to_free: 0 as *mut libc::c_void, encrypted: 0, diff --git a/src/lib.rs b/src/lib.rs index 3ce50d8ff..dc6a7ab0c 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -31,7 +31,7 @@ pub mod dc_configure; pub mod dc_contact; pub mod dc_context; // pub mod dc_dehtml; -// pub mod dc_e2ee; +pub mod dc_e2ee; pub mod dc_hash; pub mod dc_imap; // pub mod dc_imex; diff --git a/src/types.rs b/src/types.rs index 451adcc41..a82d05739 100644 --- a/src/types.rs +++ b/src/types.rs @@ -941,9 +941,30 @@ pub struct mailmime { pub mm_mime_fields: *mut mailmime_fields, pub mm_content_type: *mut mailmime_content, pub mm_body: *mut mailmime_data, - pub mm_data: unnamed_12, + pub mm_data: unnamed_12n, } +#[derive(Copy, Clone)] +#[repr(C)] +pub union unnamed_12n { + pub mm_single: *mut mailmime_data, + pub mm_multipart: unnamed_14n, + pub mm_message: unnamed_13n, +} + +#[derive(Copy, Clone)] +#[repr(C)] +pub struct unnamed_13n { + pub mm_fields: *mut mailimf_fields, + pub mm_msg_mime: *mut mailmime, +} +#[derive(Copy, Clone)] +#[repr(C)] +pub struct unnamed_14n { + pub mm_preamble: *mut mailmime_data, + pub mm_epilogue: *mut mailmime_data, + pub mm_mp_list: *mut clist, +} #[derive(Copy, Clone)] #[repr(C)] pub struct mailmime_fields { @@ -1434,3 +1455,101 @@ pub const DC_RETRY_LATER: dc_imap_res = 1; pub const DC_FAILED: dc_imap_res = 0; pub type dc_move_state_t = libc::c_uint; + +#[derive(Copy, Clone)] +#[repr(C)] +pub struct mailmime_disposition_parm { + pub pa_type: libc::c_int, + pub pa_data: unnamed_20n, +} +#[derive(Copy, Clone)] +#[repr(C)] +pub union unnamed_20n { + pub pa_filename: *mut libc::c_char, + pub pa_creation_date: *mut libc::c_char, + pub pa_modification_date: *mut libc::c_char, + pub pa_read_date: *mut libc::c_char, + pub pa_size: size_t, + pub pa_parameter: *mut mailmime_parameter, +} + +#[derive(Copy, Clone)] +#[repr(C)] +pub struct mailmime_field { + pub fld_type: libc::c_int, + pub fld_data: unnamed_5n, +} +#[derive(Copy, Clone)] +#[repr(C)] +pub union unnamed_5n { + pub fld_content: *mut mailmime_content, + pub fld_encoding: *mut mailmime_mechanism, + pub fld_id: *mut libc::c_char, + pub fld_description: *mut libc::c_char, + pub fld_version: uint32_t, + pub fld_disposition: *mut mailmime_disposition, + pub fld_language: *mut mailmime_language, + pub fld_location: *mut libc::c_char, +} +#[derive(Copy, Clone)] +#[repr(C)] +pub struct mailmime_language { + pub lg_list: *mut clist, +} +#[derive(Copy, Clone)] +#[repr(C)] +pub struct mailmime_disposition { + pub dsp_type: *mut mailmime_disposition_type, + pub dsp_parms: *mut clist, +} +#[derive(Copy, Clone)] +#[repr(C)] +pub struct mailmime_disposition_type { + pub dsp_type: libc::c_int, + pub dsp_extension: *mut libc::c_char, +} +#[derive(Copy, Clone)] +#[repr(C)] +pub struct mailmime_mechanism { + pub enc_type: libc::c_int, + pub enc_token: *mut libc::c_char, +} + +pub const MAILIMF_ADDRESS_GROUP: libc::c_uint = 2; +pub const MAILIMF_ADDRESS_MAILBOX: libc::c_uint = 1; +pub const MAILIMF_ADDRESS_ERROR: libc::c_uint = 0; +pub const MAILMIME_MECHANISM_TOKEN: libc::c_uint = 6; +pub const MAILMIME_MECHANISM_BASE64: libc::c_uint = 5; +pub const MAILMIME_MECHANISM_QUOTED_PRINTABLE: libc::c_uint = 4; +pub const MAILMIME_MECHANISM_BINARY: libc::c_uint = 3; +pub const MAILMIME_MECHANISM_8BIT: libc::c_uint = 2; +pub const MAILMIME_MECHANISM_7BIT: libc::c_uint = 1; +pub const MAILMIME_MECHANISM_ERROR: libc::c_uint = 0; + +#[derive(Copy, Clone)] +#[repr(C)] +pub struct mailimf_group { + pub grp_display_name: *mut libc::c_char, + pub grp_mb_list: *mut mailimf_mailbox_list, +} + +pub const MAILMIME_DISPOSITION_TYPE_EXTENSION: libc::c_uint = 3; +pub const MAILMIME_DISPOSITION_TYPE_ATTACHMENT: libc::c_uint = 2; +pub const MAILMIME_DISPOSITION_TYPE_INLINE: libc::c_uint = 1; +pub const MAILMIME_DISPOSITION_TYPE_ERROR: libc::c_uint = 0; +pub const MAILMIME_DISPOSITION_PARM_PARAMETER: libc::c_uint = 5; +pub const MAILMIME_DISPOSITION_PARM_SIZE: libc::c_uint = 4; +pub const MAILMIME_DISPOSITION_PARM_READ_DATE: libc::c_uint = 3; +pub const MAILMIME_DISPOSITION_PARM_MODIFICATION_DATE: libc::c_uint = 2; +pub const MAILMIME_DISPOSITION_PARM_CREATION_DATE: libc::c_uint = 1; +pub const MAILMIME_DISPOSITION_PARM_FILENAME: libc::c_uint = 0; + +pub const MAILMIME_FIELD_LOCATION: libc::c_uint = 8; +pub const MAILMIME_FIELD_LANGUAGE: libc::c_uint = 7; +pub const MAILMIME_FIELD_DISPOSITION: libc::c_uint = 6; +pub const MAILMIME_FIELD_VERSION: libc::c_uint = 5; +pub const MAILMIME_FIELD_DESCRIPTION: libc::c_uint = 4; +pub const MAILMIME_FIELD_ID: libc::c_uint = 3; +pub const MAILMIME_FIELD_TRANSFER_ENCODING: libc::c_uint = 2; +pub const MAILMIME_FIELD_TYPE: libc::c_uint = 1; +pub const MAILMIME_FIELD_NONE: libc::c_uint = 0; diff --git a/src/x.rs b/src/x.rs index 33f2ffd91..f1da216e7 100644 --- a/src/x.rs +++ b/src/x.rs @@ -87,8 +87,6 @@ extern "C" { _: *mut clistiter, _: *mut libc::c_void, ) -> libc::c_int; - pub fn clist_free_content(_: *const clist); - pub fn clist_search_string_nocase(_: *const clist, str: *const libc::c_char) -> libc::c_int; pub fn closedir(_: *mut DIR) -> libc::c_int; pub fn opendir(_: *const libc::c_char) -> *mut DIR; pub fn readdir(_: *mut DIR) -> *mut dirent; @@ -261,7 +259,6 @@ extern "C" { _: libc::c_double, ) -> libc::c_int; pub fn sqlite3_column_double(_: *mut sqlite3_stmt, iCol: libc::c_int) -> libc::c_double; - pub fn mkgmtime(_: *mut tm) -> time_t; pub fn pthread_self() -> pthread_t; pub fn clist_delete(_: *mut clist, _: *mut clistiter) -> *mut clistiter; pub fn mailimf_fields_free(fields: *mut mailimf_fields);