#![allow(clippy::too_many_arguments)]
#![allow(clippy::write_with_newline)]
mod alignment;
mod archive;
mod archive_writer;
mod coff;
mod coff_import_file;
mod mangler;
mod math_extras;
mod object_reader;
pub use archive::ArchiveKind;
pub use archive_writer::{write_archive_to_stream, NewArchiveMember};
pub use coff::MachineTypes;
pub use coff_import_file::{write_import_library, COFFShortExport};
pub type GetSymbolsFn =
fn(buf: &[u8], f: &mut dyn FnMut(&[u8]) -> std::io::Result<()>) -> std::io::Result<bool>;
pub type Is64BitObjectFileFn = fn(buf: &[u8]) -> bool;
pub type IsECObjectFileFn = fn(buf: &[u8]) -> bool;
pub type GetXCoffMemberAlignmentFn = fn(buf: &[u8]) -> u32;
pub struct ObjectReader {
pub get_symbols: GetSymbolsFn,
pub is_64_bit_object_file: Is64BitObjectFileFn,
pub is_ec_object_file: IsECObjectFileFn,
pub get_xcoff_member_alignment: GetXCoffMemberAlignmentFn,
}
pub const DEFAULT_OBJECT_READER: ObjectReader = ObjectReader {
get_symbols: object_reader::get_native_object_symbols,
is_64_bit_object_file: object_reader::is_64_bit_symbolic_file,
is_ec_object_file: object_reader::is_ec_object,
get_xcoff_member_alignment: object_reader::get_member_alignment,
};