diff --git a/src/dc_apeerstate.rs b/src/dc_apeerstate.rs index 9a8f5991a..e46224b13 100644 --- a/src/dc_apeerstate.rs +++ b/src/dc_apeerstate.rs @@ -6,7 +6,7 @@ use crate::dc_context::dc_context_t; use crate::dc_hash::*; use crate::dc_key::dc_key_t; use crate::dc_lot::dc_lot_t; -use crate::dc_sqlite3::dc_sqlite3_t; +use crate::dc_sqlite3::*; use crate::types::*; use crate::x::*; diff --git a/src/dc_array.rs b/src/dc_array.rs index b81650353..96446645f 100644 --- a/src/dc_array.rs +++ b/src/dc_array.rs @@ -3,7 +3,7 @@ use libc; use crate::dc_context::dc_context_t; use crate::dc_lot::dc_lot_t; -use crate::dc_sqlite3::dc_sqlite3_t; +use crate::dc_sqlite3::*; use crate::types::*; use crate::x::*; diff --git a/src/dc_chatlist.rs b/src/dc_chatlist.rs index 64e4024a1..c0b06b609 100644 --- a/src/dc_chatlist.rs +++ b/src/dc_chatlist.rs @@ -4,7 +4,8 @@ use libc; use crate::dc_array::dc_array_t; use crate::dc_context::dc_context_t; use crate::dc_lot::dc_lot_t; -use crate::dc_sqlite3::dc_sqlite3_t; +use crate::dc_sqlite3::*; +use crate::types::*; use crate::x::*; /* * the structure behind dc_chatlist_t */ diff --git a/src/dc_contact.rs b/src/dc_contact.rs index 042de3272..79279ec8e 100644 --- a/src/dc_contact.rs +++ b/src/dc_contact.rs @@ -3,7 +3,7 @@ use libc; use crate::dc_context::dc_context_t; use crate::dc_lot::dc_lot_t; -use crate::dc_sqlite3::dc_sqlite3_t; +use crate::dc_sqlite3::*; use crate::types::*; use crate::x::*; diff --git a/src/dc_context.rs b/src/dc_context.rs index 1c862ff9d..e879655e2 100644 --- a/src/dc_context.rs +++ b/src/dc_context.rs @@ -1,10 +1,20 @@ use c2rust_bitfields::BitfieldStruct; use libc; -use crate::dc_imap::dc_imap_t; -use crate::dc_jobthread::dc_jobthread_t; +use crate::dc_array::*; +use crate::dc_imap::*; +use crate::dc_jobthread::*; +use crate::dc_key::*; +use crate::dc_log::*; +use crate::dc_loginparam::*; use crate::dc_lot::dc_lot_t; -use crate::dc_smtp::dc_smtp_t; +use crate::dc_move::*; +use crate::dc_msg::*; +use crate::dc_pgp::*; +use crate::dc_smtp::*; +use crate::dc_sqlite3::*; +use crate::dc_strbuilder::*; +use crate::dc_tools::*; use crate::types::*; use crate::x::*; diff --git a/src/dc_dehtml.rs b/src/dc_dehtml.rs index d54453da8..cb2286172 100644 --- a/src/dc_dehtml.rs +++ b/src/dc_dehtml.rs @@ -2,6 +2,7 @@ use libc; use crate::dc_saxparser::*; use crate::dc_strbuilder::*; +use crate::dc_tools::*; use crate::types::*; use crate::x::*; diff --git a/src/dc_e2ee.rs b/src/dc_e2ee.rs index f6c4b422e..6d7e7013d 100644 --- a/src/dc_e2ee.rs +++ b/src/dc_e2ee.rs @@ -1,9 +1,18 @@ use c2rust_bitfields::BitfieldStruct; use libc; +use crate::dc_aheader::*; +use crate::dc_apeerstate::*; use crate::dc_context::dc_context_t; +use crate::dc_hash::*; +use crate::dc_key::*; +use crate::dc_keyring::*; +use crate::dc_log::*; use crate::dc_lot::dc_lot_t; -use crate::dc_sqlite3::dc_sqlite3_t; +use crate::dc_pgp::*; +use crate::dc_securejoin::*; +use crate::dc_sqlite3::*; +use crate::dc_tools::*; use crate::types::*; use crate::x::*; @@ -554,7 +563,7 @@ unsafe extern "C" fn load_or_generate_self_public_key( 10496152961502316708 => {} _ => { let mut private_key: *mut dc_key_t = dc_key_new(); - let mut start: clock_t = clock(); + let mut start: libc::clock_t = clock(); dc_log_info( context, 0i32, diff --git a/src/dc_imap.rs b/src/dc_imap.rs index be35add0e..3ff55f202 100644 --- a/src/dc_imap.rs +++ b/src/dc_imap.rs @@ -1,8 +1,15 @@ use c2rust_bitfields::BitfieldStruct; use libc; +use crate::dc_array::*; use crate::dc_context::dc_context_t; -use crate::dc_sqlite3::dc_sqlite3_t; +use crate::dc_log::*; +use crate::dc_loginparam::*; +use crate::dc_oauth2::*; +use crate::dc_sqlite3::*; +use crate::dc_stock::*; +use crate::dc_strbuilder::*; +use crate::dc_tools::*; use crate::types::*; use crate::x::*; diff --git a/src/dc_imex.rs b/src/dc_imex.rs index b11116133..c746a8be2 100644 --- a/src/dc_imex.rs +++ b/src/dc_imex.rs @@ -1,9 +1,22 @@ use c2rust_bitfields::BitfieldStruct; use libc; +use crate::dc_chat::*; +use crate::dc_configure::*; use crate::dc_context::dc_context_t; +use crate::dc_e2ee::*; +use crate::dc_job::*; +use crate::dc_key::*; +use crate::dc_log::*; +use crate::dc_loginparam::*; 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_pgp::*; +use crate::dc_sqlite3::*; +use crate::dc_stock::*; +use crate::dc_strbuilder::*; +use crate::dc_tools::*; use crate::types::*; use crate::x::*; diff --git a/src/dc_job.rs b/src/dc_job.rs index cfba81cd8..e334e28f0 100644 --- a/src/dc_job.rs +++ b/src/dc_job.rs @@ -2,17 +2,20 @@ 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; -use crate::dc_jobthread::dc_jobthread_t; +use crate::dc_imap::*; +use crate::dc_imex::*; +use crate::dc_jobthread::*; use crate::dc_keyhistory::*; use crate::dc_location::*; use crate::dc_log::*; +use crate::dc_loginparam::*; 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_smtp::*; use crate::dc_sqlite3::*; use crate::dc_tools::*; use crate::types::*; @@ -67,7 +70,7 @@ unsafe extern "C" fn dc_job_perform( mut probe_network: libc::c_int, ) { let mut select_stmt: *mut sqlite3_stmt = 0 as *mut sqlite3_stmt; - let mut job: dc_job_t = _dc_job { + let mut job: dc_job_t = dc_job_t { job_id: 0, action: 0, foreign_id: 0, @@ -743,7 +746,7 @@ unsafe extern "C" fn dc_job_do_DC_JOB_MARKSEEN_MSG_ON_IMAP( dc_msg_unref(msg); } unsafe extern "C" fn dc_send_mdn(mut context: *mut dc_context_t, mut msg_id: uint32_t) { - let mut mimefactory: dc_mimefactory_t = _dc_mimefactory { + let mut mimefactory: dc_mimefactory_t = dc_mimefactory_t { from_addr: 0 as *mut libc::c_char, from_displayname: 0 as *mut libc::c_char, selfstatus: 0 as *mut libc::c_char, @@ -1306,7 +1309,7 @@ pub unsafe extern "C" fn dc_job_send_msg( mut msg_id: uint32_t, ) -> libc::c_int { let mut success: libc::c_int = 0i32; - let mut mimefactory: dc_mimefactory_t = _dc_mimefactory { + let mut mimefactory: dc_mimefactory_t = dc_mimefactory_t { from_addr: 0 as *mut libc::c_char, from_displayname: 0 as *mut libc::c_char, selfstatus: 0 as *mut libc::c_char, diff --git a/src/dc_location.rs b/src/dc_location.rs index f8dac131f..07456172c 100644 --- a/src/dc_location.rs +++ b/src/dc_location.rs @@ -38,7 +38,7 @@ pub struct dc_kml_t { pub addr: *mut libc::c_char, pub locations: *mut dc_array_t, pub tag: libc::c_int, - pub curr: dc_locationn_t, + pub curr: dc_location_t, } // location streaming diff --git a/src/dc_lot.rs b/src/dc_lot.rs index 856aa6de2..5b481a3c4 100644 --- a/src/dc_lot.rs +++ b/src/dc_lot.rs @@ -8,7 +8,7 @@ use crate::dc_imap::dc_imap_t; use crate::dc_jobthread::dc_jobthread_t; use crate::dc_msg::*; 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::*; diff --git a/src/dc_mimeparser.rs b/src/dc_mimeparser.rs index c05c33e9e..1b94f52af 100644 --- a/src/dc_mimeparser.rs +++ b/src/dc_mimeparser.rs @@ -1,11 +1,19 @@ use c2rust_bitfields::BitfieldStruct; use libc; +use crate::dc_contact::*; use crate::dc_context::dc_context_t; -use crate::dc_e2ee::dc_e2ee_helper_t; -use crate::dc_location::dc_location_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_param::*; +use crate::dc_simplify::*; +use crate::dc_sqlite3::*; +use crate::dc_strbuilder::*; +use crate::dc_strencode::*; +use crate::dc_tools::*; use crate::types::*; use crate::x::*; @@ -74,7 +82,7 @@ pub unsafe extern "C" fn dc_mimeparser_new( (*mimeparser).e2ee_helper = calloc( 1i32 as libc::c_ulong, ::std::mem::size_of::() as libc::c_ulong, - ) as *mut _dc_e2ee_helper; + ) as *mut dc_e2ee_helper_t; dc_hash_init(&mut (*mimeparser).header, 3i32, 0i32); return mimeparser; } @@ -133,7 +141,7 @@ pub unsafe extern "C" fn dc_mimeparser_empty(mut mimeparser: *mut dc_mimeparser_ (*mimeparser).decrypting_failed = 0i32; dc_e2ee_thanks((*mimeparser).e2ee_helper); dc_kml_unref((*mimeparser).kml); - (*mimeparser).kml = 0 as *mut _dc_kml; + (*mimeparser).kml = 0 as *mut dc_kml_t; } unsafe extern "C" fn dc_mimepart_unref(mut mimepart: *mut dc_mimepart_t) { if mimepart.is_null() { diff --git a/src/dc_move.rs b/src/dc_move.rs index 5861c31f9..b5936a885 100644 --- a/src/dc_move.rs +++ b/src/dc_move.rs @@ -1,9 +1,14 @@ use c2rust_bitfields::BitfieldStruct; use libc; -use crate::dc_context::dc_context_t; +use crate::dc_contact::*; +use crate::dc_context::*; +use crate::dc_job::*; use crate::dc_lot::dc_lot_t; -use crate::dc_sqlite3::dc_sqlite3_t; +use crate::dc_msg::*; +use crate::dc_msg::*; +use crate::dc_sqlite3::*; +use crate::dc_tools::*; use crate::types::*; use crate::x::*; diff --git a/src/dc_pgp.rs b/src/dc_pgp.rs index 006c62d2c..99864bbac 100644 --- a/src/dc_pgp.rs +++ b/src/dc_pgp.rs @@ -7,7 +7,7 @@ use crate::dc_key::*; use crate::dc_keyring::*; use crate::dc_log::*; use crate::dc_lot::dc_lot_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_qr.rs b/src/dc_qr.rs index b3eaae7f4..5a7d53020 100644 --- a/src/dc_qr.rs +++ b/src/dc_qr.rs @@ -2,9 +2,15 @@ use c2rust_bitfields::BitfieldStruct; use libc; use crate::dc_apeerstate::*; +use crate::dc_chat::*; +use crate::dc_contact::*; use crate::dc_context::dc_context_t; +use crate::dc_key::*; use crate::dc_lot::dc_lot_t; -use crate::dc_sqlite3::dc_sqlite3_t; +use crate::dc_param::*; +use crate::dc_sqlite3::*; +use crate::dc_strencode::*; +use crate::dc_tools::*; use crate::types::*; use crate::x::*; diff --git a/src/dc_receive_imf.rs b/src/dc_receive_imf.rs index 6fc4dc95b..3820b60af 100644 --- a/src/dc_receive_imf.rs +++ b/src/dc_receive_imf.rs @@ -3,7 +3,7 @@ use libc; use crate::dc_context::dc_context_t; use crate::dc_lot::dc_lot_t; -use crate::dc_sqlite3::dc_sqlite3_t; +use crate::dc_sqlite3::*; use crate::types::*; use crate::x::*; diff --git a/src/dc_securejoin.rs b/src/dc_securejoin.rs index a69c157a0..70efdc7a7 100644 --- a/src/dc_securejoin.rs +++ b/src/dc_securejoin.rs @@ -1,11 +1,26 @@ use c2rust_bitfields::BitfieldStruct; use libc; +use crate::dc_apeerstate::*; +use crate::dc_array::*; +use crate::dc_chat::*; +use crate::dc_configure::*; +use crate::dc_contact::*; use crate::dc_context::dc_context_t; +use crate::dc_hash::*; use crate::dc_imap::dc_imap_t; -use crate::dc_lot::dc_lot_t; +use crate::dc_key::*; +use crate::dc_log::*; +use crate::dc_lot::*; use crate::dc_mimeparser::*; -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_stock::*; +use crate::dc_strencode::*; +use crate::dc_token::*; +use crate::dc_tools::*; use crate::types::*; use crate::x::*; diff --git a/src/dc_simplify.rs b/src/dc_simplify.rs index a8bd5a023..52cea97f6 100644 --- a/src/dc_simplify.rs +++ b/src/dc_simplify.rs @@ -1,45 +1,19 @@ use libc; +use crate::dc_dehtml::*; +use crate::dc_strbuilder::*; +use crate::dc_tools::*; use crate::types::*; use crate::x::*; #[derive(Copy, Clone)] #[repr(C)] -pub struct carray_s { - pub array: *mut *mut libc::c_void, - pub len: libc::c_uint, - pub max: libc::c_uint, -} -pub type carray = carray_s; -#[derive(Copy, Clone)] -#[repr(C)] -pub struct dc_strbuilder_t { - pub buf: *mut libc::c_char, - pub allocated: libc::c_int, - pub free: libc::c_int, - pub eos: *mut libc::c_char, -} -pub type dc_strbuilder_t = dc_strbuilder_t; -#[derive(Copy, Clone)] -#[repr(C)] -pub struct _dc_simplify { +pub struct dc_simplify_t { pub is_forwarded: libc::c_int, pub is_cut_at_begin: libc::c_int, pub is_cut_at_end: libc::c_int, } -/* ** library-private **********************************************************/ -pub type dc_simplify_t = _dc_simplify; -#[inline] -unsafe extern "C" fn carray_count(mut array: *mut carray) -> libc::c_uint { - return (*array).len; -} -#[inline] -unsafe extern "C" fn carray_get( - mut array: *mut carray, - mut indx: libc::c_uint, -) -> *mut libc::c_void { - return *(*array).array.offset(indx as isize); -} + #[no_mangle] pub unsafe extern "C" fn dc_simplify_new() -> *mut dc_simplify_t { let mut simplify: *mut dc_simplify_t = 0 as *mut dc_simplify_t; diff --git a/src/dc_token.rs b/src/dc_token.rs index 74b035b23..0790e3186 100644 --- a/src/dc_token.rs +++ b/src/dc_token.rs @@ -4,7 +4,8 @@ use libc; use crate::dc_context::dc_context_t; 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/lib.rs b/src/lib.rs index dc6a7ab0c..9cbf6d549 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -30,11 +30,11 @@ pub mod dc_chat; pub mod dc_configure; pub mod dc_contact; pub mod dc_context; -// pub mod dc_dehtml; +pub mod dc_dehtml; pub mod dc_e2ee; pub mod dc_hash; pub mod dc_imap; -// pub mod dc_imex; +pub mod dc_imex; pub mod dc_job; pub mod dc_jobthread; pub mod dc_jsmn; @@ -46,24 +46,24 @@ pub mod dc_log; pub mod dc_loginparam; pub mod dc_lot; pub mod dc_mimefactory; -// pub mod dc_mimeparser; -// pub mod dc_move; +pub mod dc_mimeparser; +pub mod dc_move; pub mod dc_msg; pub mod dc_oauth2; // pub mod dc_openssl; pub mod dc_param; pub mod dc_pgp; -// pub mod dc_qr; +pub mod dc_qr; // pub mod dc_receive_imf; pub mod dc_saxparser; -// pub mod dc_securejoin; -// pub mod dc_simplify; +pub mod dc_securejoin; +pub mod dc_simplify; pub mod dc_smtp; pub mod dc_sqlite3; pub mod dc_stock; pub mod dc_strbuilder; pub mod dc_strencode; -// pub mod dc_token; +pub mod dc_token; pub mod dc_tools; // #[cfg(test)] diff --git a/src/types.rs b/src/types.rs index a82d05739..705e940a8 100644 --- a/src/types.rs +++ b/src/types.rs @@ -1,6 +1,8 @@ use c2rust_bitfields::BitfieldStruct; use libc; +use crate::dc_sqlite3::dc_sqlite3_t; + extern "C" { pub type __sFILEX; @@ -1297,7 +1299,7 @@ pub type dc_get_config_t = Option< ) -> *mut libc::c_char, >; /* ** library-private **********************************************************/ -use crate::dc_sqlite3::dc_sqlite3_t; + /* * * Library-internal. */ @@ -1553,3 +1555,83 @@ 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; + +pub const MAILMIME_TYPE_COMPOSITE_TYPE: libc::c_uint = 2; +pub const MAILMIME_TYPE_DISCRETE_TYPE: libc::c_uint = 1; +pub const MAILMIME_TYPE_ERROR: libc::c_uint = 0; +pub const MAILMIME_DATA_FILE: libc::c_uint = 1; +pub const MAILMIME_DATA_TEXT: libc::c_uint = 0; + +pub const MAIL_ERROR_SSL: libc::c_uint = 58; +pub const MAIL_ERROR_FOLDER: libc::c_uint = 57; +pub const MAIL_ERROR_UNABLE: libc::c_uint = 56; +pub const MAIL_ERROR_SYSTEM: libc::c_uint = 55; +pub const MAIL_ERROR_COMMAND: libc::c_uint = 54; +pub const MAIL_ERROR_SEND: libc::c_uint = 53; +pub const MAIL_ERROR_CHAR_ENCODING_FAILED: libc::c_uint = 52; +pub const MAIL_ERROR_SUBJECT_NOT_FOUND: libc::c_uint = 51; +pub const MAIL_ERROR_PROGRAM_ERROR: libc::c_uint = 50; +pub const MAIL_ERROR_NO_PERMISSION: libc::c_uint = 49; +pub const MAIL_ERROR_COMMAND_NOT_SUPPORTED: libc::c_uint = 48; +pub const MAIL_ERROR_NO_APOP: libc::c_uint = 47; +pub const MAIL_ERROR_READONLY: libc::c_uint = 46; +pub const MAIL_ERROR_FATAL: libc::c_uint = 45; +pub const MAIL_ERROR_CLOSE: libc::c_uint = 44; +pub const MAIL_ERROR_CAPABILITY: libc::c_uint = 43; +pub const MAIL_ERROR_PROTOCOL: libc::c_uint = 42; +pub const MAIL_ERROR_MISC: libc::c_uint = 41; +pub const MAIL_ERROR_EXPUNGE: libc::c_uint = 40; +pub const MAIL_ERROR_NO_TLS: libc::c_uint = 39; +pub const MAIL_ERROR_CACHE_MISS: libc::c_uint = 38; +pub const MAIL_ERROR_STARTTLS: libc::c_uint = 37; +pub const MAIL_ERROR_MOVE: libc::c_uint = 36; +pub const MAIL_ERROR_FOLDER_NOT_FOUND: libc::c_uint = 35; +pub const MAIL_ERROR_REMOVE: libc::c_uint = 34; +pub const MAIL_ERROR_PART_NOT_FOUND: libc::c_uint = 33; +pub const MAIL_ERROR_INVAL: libc::c_uint = 32; +pub const MAIL_ERROR_PARSE: libc::c_uint = 31; +pub const MAIL_ERROR_MSG_NOT_FOUND: libc::c_uint = 30; +pub const MAIL_ERROR_DISKSPACE: libc::c_uint = 29; +pub const MAIL_ERROR_SEARCH: libc::c_uint = 28; +pub const MAIL_ERROR_STORE: libc::c_uint = 27; +pub const MAIL_ERROR_FETCH: libc::c_uint = 26; +pub const MAIL_ERROR_COPY: libc::c_uint = 25; +pub const MAIL_ERROR_APPEND: libc::c_uint = 24; +pub const MAIL_ERROR_LSUB: libc::c_uint = 23; +pub const MAIL_ERROR_LIST: libc::c_uint = 22; +pub const MAIL_ERROR_UNSUBSCRIBE: libc::c_uint = 21; +pub const MAIL_ERROR_SUBSCRIBE: libc::c_uint = 20; +pub const MAIL_ERROR_STATUS: libc::c_uint = 19; +pub const MAIL_ERROR_MEMORY: libc::c_uint = 18; +pub const MAIL_ERROR_SELECT: libc::c_uint = 17; +pub const MAIL_ERROR_EXAMINE: libc::c_uint = 16; +pub const MAIL_ERROR_CHECK: libc::c_uint = 15; +pub const MAIL_ERROR_RENAME: libc::c_uint = 14; +pub const MAIL_ERROR_NOOP: libc::c_uint = 13; +pub const MAIL_ERROR_LOGOUT: libc::c_uint = 12; +pub const MAIL_ERROR_DELETE: libc::c_uint = 11; +pub const MAIL_ERROR_CREATE: libc::c_uint = 10; +pub const MAIL_ERROR_LOGIN: libc::c_uint = 9; +pub const MAIL_ERROR_STREAM: libc::c_uint = 8; +pub const MAIL_ERROR_FILE: libc::c_uint = 7; +pub const MAIL_ERROR_BAD_STATE: libc::c_uint = 6; +pub const MAIL_ERROR_CONNECT: libc::c_uint = 5; +pub const MAIL_ERROR_UNKNOWN: libc::c_uint = 4; +pub const MAIL_ERROR_NOT_IMPLEMENTED: libc::c_uint = 3; +pub const MAIL_NO_ERROR_NON_AUTHENTICATED: libc::c_uint = 2; +pub const MAIL_NO_ERROR_AUTHENTICATED: libc::c_uint = 1; +pub const MAIL_NO_ERROR: libc::c_uint = 0; + +#[derive(Copy, Clone)] +#[repr(C)] +pub struct mailimf_address { + pub ad_type: libc::c_int, + pub ad_data: unnamed_0n, +} + +#[derive(Copy, Clone)] +#[repr(C)] +pub union unnamed_0n { + pub ad_mailbox: *mut mailimf_mailbox, + pub ad_group: *mut mailimf_group, +} diff --git a/src/x.rs b/src/x.rs index f1da216e7..50ad5317a 100644 --- a/src/x.rs +++ b/src/x.rs @@ -429,6 +429,7 @@ extern "C" { data: *mut libc::c_void, indx: *mut libc::c_uint, ) -> libc::c_int; + pub fn carray_set_size(array: *mut carray, new_size: libc::c_uint); pub fn carray_free(array: *mut carray); pub fn fclose(_: *mut FILE) -> libc::c_int; pub fn fopen(_: *const libc::c_char, _: *const libc::c_char) -> *mut FILE;