pub const MAXVAL: u32 = 20;
pub const ATOM_EL_LEN: u32 = 6;
pub const NUM_H_ISOTOPES: u32 = 3;
pub const ISOTOPIC_SHIFT_FLAG: u32 = 10000;
pub const ISOTOPIC_SHIFT_MAX: u32 = 100;
pub const NO_ATOM: i32 = -1;
pub const INCHI_STRING_PREFIX: &[u8; 7] = b"InChI=\0";
pub const INCHI_NUM: u32 = 2;
pub const INCHI_RADICAL_NONE: tagINCHIRadical = 0;
pub const INCHI_RADICAL_SINGLET: tagINCHIRadical = 1;
pub const INCHI_RADICAL_DOUBLET: tagINCHIRadical = 2;
pub const INCHI_RADICAL_TRIPLET: tagINCHIRadical = 3;
pub type tagINCHIRadical = ::std::os::raw::c_uint;
pub use self::tagINCHIRadical as inchi_Radical;
pub const INCHI_BOND_TYPE_NONE: tagINCHIBondType = 0;
pub const INCHI_BOND_TYPE_SINGLE: tagINCHIBondType = 1;
pub const INCHI_BOND_TYPE_DOUBLE: tagINCHIBondType = 2;
pub const INCHI_BOND_TYPE_TRIPLE: tagINCHIBondType = 3;
pub const INCHI_BOND_TYPE_ALTERN: tagINCHIBondType = 4;
pub type tagINCHIBondType = ::std::os::raw::c_uint;
pub use self::tagINCHIBondType as inchi_BondType;
pub const INCHI_BOND_STEREO_NONE: tagINCHIBondStereo2D = 0;
pub const INCHI_BOND_STEREO_SINGLE_1UP: tagINCHIBondStereo2D = 1;
pub const INCHI_BOND_STEREO_SINGLE_1EITHER: tagINCHIBondStereo2D = 4;
pub const INCHI_BOND_STEREO_SINGLE_1DOWN: tagINCHIBondStereo2D = 6;
pub const INCHI_BOND_STEREO_SINGLE_2UP: tagINCHIBondStereo2D = -1;
pub const INCHI_BOND_STEREO_SINGLE_2EITHER: tagINCHIBondStereo2D = -4;
pub const INCHI_BOND_STEREO_SINGLE_2DOWN: tagINCHIBondStereo2D = -6;
pub const INCHI_BOND_STEREO_DOUBLE_EITHER: tagINCHIBondStereo2D = 3;
pub type tagINCHIBondStereo2D = ::std::os::raw::c_int;
pub use self::tagINCHIBondStereo2D as inchi_BondStereo2D;
pub type S_CHAR = ::std::os::raw::c_schar;
pub type S_SHORT = ::std::os::raw::c_short;
pub type AT_NUM = S_SHORT;
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct tagInchiAtom {
pub x: f64,
pub y: f64,
pub z: f64,
pub neighbor: [AT_NUM; 20usize],
pub bond_type: [S_CHAR; 20usize],
pub bond_stereo: [S_CHAR; 20usize],
pub elname: [::std::os::raw::c_char; 6usize],
pub num_bonds: AT_NUM,
pub num_iso_H: [S_CHAR; 4usize],
pub isotopic_mass: AT_NUM,
pub radical: S_CHAR,
pub charge: S_CHAR,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of tagInchiAtom"][::std::mem::size_of::<tagInchiAtom>() - 120usize];
["Alignment of tagInchiAtom"][::std::mem::align_of::<tagInchiAtom>() - 8usize];
["Offset of field: tagInchiAtom::x"][::std::mem::offset_of!(tagInchiAtom, x) - 0usize];
["Offset of field: tagInchiAtom::y"][::std::mem::offset_of!(tagInchiAtom, y) - 8usize];
["Offset of field: tagInchiAtom::z"][::std::mem::offset_of!(tagInchiAtom, z) - 16usize];
["Offset of field: tagInchiAtom::neighbor"]
[::std::mem::offset_of!(tagInchiAtom, neighbor) - 24usize];
["Offset of field: tagInchiAtom::bond_type"]
[::std::mem::offset_of!(tagInchiAtom, bond_type) - 64usize];
["Offset of field: tagInchiAtom::bond_stereo"]
[::std::mem::offset_of!(tagInchiAtom, bond_stereo) - 84usize];
["Offset of field: tagInchiAtom::elname"]
[::std::mem::offset_of!(tagInchiAtom, elname) - 104usize];
["Offset of field: tagInchiAtom::num_bonds"]
[::std::mem::offset_of!(tagInchiAtom, num_bonds) - 110usize];
["Offset of field: tagInchiAtom::num_iso_H"]
[::std::mem::offset_of!(tagInchiAtom, num_iso_H) - 112usize];
["Offset of field: tagInchiAtom::isotopic_mass"]
[::std::mem::offset_of!(tagInchiAtom, isotopic_mass) - 116usize];
["Offset of field: tagInchiAtom::radical"]
[::std::mem::offset_of!(tagInchiAtom, radical) - 118usize];
["Offset of field: tagInchiAtom::charge"]
[::std::mem::offset_of!(tagInchiAtom, charge) - 119usize];
};
pub type inchi_Atom = tagInchiAtom;
pub const INCHI_StereoType_None: tagINCHIStereoType0D = 0;
pub const INCHI_StereoType_DoubleBond: tagINCHIStereoType0D = 1;
pub const INCHI_StereoType_Tetrahedral: tagINCHIStereoType0D = 2;
pub const INCHI_StereoType_Allene: tagINCHIStereoType0D = 3;
pub type tagINCHIStereoType0D = ::std::os::raw::c_uint;
pub use self::tagINCHIStereoType0D as inchi_StereoType0D;
pub const INCHI_PARITY_NONE: tagINCHIStereoParity0D = 0;
pub const INCHI_PARITY_ODD: tagINCHIStereoParity0D = 1;
pub const INCHI_PARITY_EVEN: tagINCHIStereoParity0D = 2;
pub const INCHI_PARITY_UNKNOWN: tagINCHIStereoParity0D = 3;
pub const INCHI_PARITY_UNDEFINED: tagINCHIStereoParity0D = 4;
pub type tagINCHIStereoParity0D = ::std::os::raw::c_uint;
pub use self::tagINCHIStereoParity0D as inchi_StereoParity0D;
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct tagINCHIStereo0D {
pub neighbor: [AT_NUM; 4usize],
pub central_atom: AT_NUM,
pub type_: S_CHAR,
pub parity: S_CHAR,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of tagINCHIStereo0D"][::std::mem::size_of::<tagINCHIStereo0D>() - 12usize];
["Alignment of tagINCHIStereo0D"][::std::mem::align_of::<tagINCHIStereo0D>() - 2usize];
["Offset of field: tagINCHIStereo0D::neighbor"]
[::std::mem::offset_of!(tagINCHIStereo0D, neighbor) - 0usize];
["Offset of field: tagINCHIStereo0D::central_atom"]
[::std::mem::offset_of!(tagINCHIStereo0D, central_atom) - 8usize];
["Offset of field: tagINCHIStereo0D::type_"]
[::std::mem::offset_of!(tagINCHIStereo0D, type_) - 10usize];
["Offset of field: tagINCHIStereo0D::parity"]
[::std::mem::offset_of!(tagINCHIStereo0D, parity) - 11usize];
};
pub type inchi_Stereo0D = tagINCHIStereo0D;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct tagINCHI_Input {
pub atom: *mut inchi_Atom,
pub stereo0D: *mut inchi_Stereo0D,
pub szOptions: *mut ::std::os::raw::c_char,
pub num_atoms: AT_NUM,
pub num_stereo0D: AT_NUM,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of tagINCHI_Input"][::std::mem::size_of::<tagINCHI_Input>() - 32usize];
["Alignment of tagINCHI_Input"][::std::mem::align_of::<tagINCHI_Input>() - 8usize];
["Offset of field: tagINCHI_Input::atom"]
[::std::mem::offset_of!(tagINCHI_Input, atom) - 0usize];
["Offset of field: tagINCHI_Input::stereo0D"]
[::std::mem::offset_of!(tagINCHI_Input, stereo0D) - 8usize];
["Offset of field: tagINCHI_Input::szOptions"]
[::std::mem::offset_of!(tagINCHI_Input, szOptions) - 16usize];
["Offset of field: tagINCHI_Input::num_atoms"]
[::std::mem::offset_of!(tagINCHI_Input, num_atoms) - 24usize];
["Offset of field: tagINCHI_Input::num_stereo0D"]
[::std::mem::offset_of!(tagINCHI_Input, num_stereo0D) - 26usize];
};
impl Default for tagINCHI_Input {
fn default() -> Self {
let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
unsafe {
::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
pub type inchi_Input = tagINCHI_Input;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct inchi_Input_PolymerUnit {
pub id: ::std::os::raw::c_int,
pub type_: ::std::os::raw::c_int,
pub subtype: ::std::os::raw::c_int,
pub conn: ::std::os::raw::c_int,
pub label: ::std::os::raw::c_int,
pub na: ::std::os::raw::c_int,
pub nb: ::std::os::raw::c_int,
pub xbr1: [f64; 4usize],
pub xbr2: [f64; 4usize],
pub smt: [::std::os::raw::c_char; 80usize],
pub alist: *mut ::std::os::raw::c_int,
pub blist: *mut ::std::os::raw::c_int,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of inchi_Input_PolymerUnit"]
[::std::mem::size_of::<inchi_Input_PolymerUnit>() - 192usize];
["Alignment of inchi_Input_PolymerUnit"]
[::std::mem::align_of::<inchi_Input_PolymerUnit>() - 8usize];
["Offset of field: inchi_Input_PolymerUnit::id"]
[::std::mem::offset_of!(inchi_Input_PolymerUnit, id) - 0usize];
["Offset of field: inchi_Input_PolymerUnit::type_"]
[::std::mem::offset_of!(inchi_Input_PolymerUnit, type_) - 4usize];
["Offset of field: inchi_Input_PolymerUnit::subtype"]
[::std::mem::offset_of!(inchi_Input_PolymerUnit, subtype) - 8usize];
["Offset of field: inchi_Input_PolymerUnit::conn"]
[::std::mem::offset_of!(inchi_Input_PolymerUnit, conn) - 12usize];
["Offset of field: inchi_Input_PolymerUnit::label"]
[::std::mem::offset_of!(inchi_Input_PolymerUnit, label) - 16usize];
["Offset of field: inchi_Input_PolymerUnit::na"]
[::std::mem::offset_of!(inchi_Input_PolymerUnit, na) - 20usize];
["Offset of field: inchi_Input_PolymerUnit::nb"]
[::std::mem::offset_of!(inchi_Input_PolymerUnit, nb) - 24usize];
["Offset of field: inchi_Input_PolymerUnit::xbr1"]
[::std::mem::offset_of!(inchi_Input_PolymerUnit, xbr1) - 32usize];
["Offset of field: inchi_Input_PolymerUnit::xbr2"]
[::std::mem::offset_of!(inchi_Input_PolymerUnit, xbr2) - 64usize];
["Offset of field: inchi_Input_PolymerUnit::smt"]
[::std::mem::offset_of!(inchi_Input_PolymerUnit, smt) - 96usize];
["Offset of field: inchi_Input_PolymerUnit::alist"]
[::std::mem::offset_of!(inchi_Input_PolymerUnit, alist) - 176usize];
["Offset of field: inchi_Input_PolymerUnit::blist"]
[::std::mem::offset_of!(inchi_Input_PolymerUnit, blist) - 184usize];
};
impl Default for inchi_Input_PolymerUnit {
fn default() -> Self {
let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
unsafe {
::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct inchi_Input_Polymer {
pub units: *mut *mut inchi_Input_PolymerUnit,
pub n: ::std::os::raw::c_int,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of inchi_Input_Polymer"][::std::mem::size_of::<inchi_Input_Polymer>() - 16usize];
["Alignment of inchi_Input_Polymer"][::std::mem::align_of::<inchi_Input_Polymer>() - 8usize];
["Offset of field: inchi_Input_Polymer::units"]
[::std::mem::offset_of!(inchi_Input_Polymer, units) - 0usize];
["Offset of field: inchi_Input_Polymer::n"]
[::std::mem::offset_of!(inchi_Input_Polymer, n) - 8usize];
};
impl Default for inchi_Input_Polymer {
fn default() -> Self {
let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
unsafe {
::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct inchi_Input_V3000 {
pub n_non_star_atoms: ::std::os::raw::c_int,
pub n_star_atoms: ::std::os::raw::c_int,
pub atom_index_orig: *mut ::std::os::raw::c_int,
pub atom_index_fin: *mut ::std::os::raw::c_int,
pub n_sgroups: ::std::os::raw::c_int,
pub n_3d_constraints: ::std::os::raw::c_int,
pub n_collections: ::std::os::raw::c_int,
pub n_non_haptic_bonds: ::std::os::raw::c_int,
pub n_haptic_bonds: ::std::os::raw::c_int,
pub lists_haptic_bonds: *mut *mut ::std::os::raw::c_int,
pub n_steabs: ::std::os::raw::c_int,
pub lists_steabs: *mut *mut ::std::os::raw::c_int,
pub n_sterel: ::std::os::raw::c_int,
pub lists_sterel: *mut *mut ::std::os::raw::c_int,
pub n_sterac: ::std::os::raw::c_int,
pub lists_sterac: *mut *mut ::std::os::raw::c_int,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of inchi_Input_V3000"][::std::mem::size_of::<inchi_Input_V3000>() - 104usize];
["Alignment of inchi_Input_V3000"][::std::mem::align_of::<inchi_Input_V3000>() - 8usize];
["Offset of field: inchi_Input_V3000::n_non_star_atoms"]
[::std::mem::offset_of!(inchi_Input_V3000, n_non_star_atoms) - 0usize];
["Offset of field: inchi_Input_V3000::n_star_atoms"]
[::std::mem::offset_of!(inchi_Input_V3000, n_star_atoms) - 4usize];
["Offset of field: inchi_Input_V3000::atom_index_orig"]
[::std::mem::offset_of!(inchi_Input_V3000, atom_index_orig) - 8usize];
["Offset of field: inchi_Input_V3000::atom_index_fin"]
[::std::mem::offset_of!(inchi_Input_V3000, atom_index_fin) - 16usize];
["Offset of field: inchi_Input_V3000::n_sgroups"]
[::std::mem::offset_of!(inchi_Input_V3000, n_sgroups) - 24usize];
["Offset of field: inchi_Input_V3000::n_3d_constraints"]
[::std::mem::offset_of!(inchi_Input_V3000, n_3d_constraints) - 28usize];
["Offset of field: inchi_Input_V3000::n_collections"]
[::std::mem::offset_of!(inchi_Input_V3000, n_collections) - 32usize];
["Offset of field: inchi_Input_V3000::n_non_haptic_bonds"]
[::std::mem::offset_of!(inchi_Input_V3000, n_non_haptic_bonds) - 36usize];
["Offset of field: inchi_Input_V3000::n_haptic_bonds"]
[::std::mem::offset_of!(inchi_Input_V3000, n_haptic_bonds) - 40usize];
["Offset of field: inchi_Input_V3000::lists_haptic_bonds"]
[::std::mem::offset_of!(inchi_Input_V3000, lists_haptic_bonds) - 48usize];
["Offset of field: inchi_Input_V3000::n_steabs"]
[::std::mem::offset_of!(inchi_Input_V3000, n_steabs) - 56usize];
["Offset of field: inchi_Input_V3000::lists_steabs"]
[::std::mem::offset_of!(inchi_Input_V3000, lists_steabs) - 64usize];
["Offset of field: inchi_Input_V3000::n_sterel"]
[::std::mem::offset_of!(inchi_Input_V3000, n_sterel) - 72usize];
["Offset of field: inchi_Input_V3000::lists_sterel"]
[::std::mem::offset_of!(inchi_Input_V3000, lists_sterel) - 80usize];
["Offset of field: inchi_Input_V3000::n_sterac"]
[::std::mem::offset_of!(inchi_Input_V3000, n_sterac) - 88usize];
["Offset of field: inchi_Input_V3000::lists_sterac"]
[::std::mem::offset_of!(inchi_Input_V3000, lists_sterac) - 96usize];
};
impl Default for inchi_Input_V3000 {
fn default() -> Self {
let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
unsafe {
::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct inchi_InputEx {
pub atom: *mut inchi_Atom,
pub stereo0D: *mut inchi_Stereo0D,
pub szOptions: *mut ::std::os::raw::c_char,
pub num_atoms: AT_NUM,
pub num_stereo0D: AT_NUM,
pub polymer: *mut inchi_Input_Polymer,
pub v3000: *mut inchi_Input_V3000,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of inchi_InputEx"][::std::mem::size_of::<inchi_InputEx>() - 48usize];
["Alignment of inchi_InputEx"][::std::mem::align_of::<inchi_InputEx>() - 8usize];
["Offset of field: inchi_InputEx::atom"][::std::mem::offset_of!(inchi_InputEx, atom) - 0usize];
["Offset of field: inchi_InputEx::stereo0D"]
[::std::mem::offset_of!(inchi_InputEx, stereo0D) - 8usize];
["Offset of field: inchi_InputEx::szOptions"]
[::std::mem::offset_of!(inchi_InputEx, szOptions) - 16usize];
["Offset of field: inchi_InputEx::num_atoms"]
[::std::mem::offset_of!(inchi_InputEx, num_atoms) - 24usize];
["Offset of field: inchi_InputEx::num_stereo0D"]
[::std::mem::offset_of!(inchi_InputEx, num_stereo0D) - 26usize];
["Offset of field: inchi_InputEx::polymer"]
[::std::mem::offset_of!(inchi_InputEx, polymer) - 32usize];
["Offset of field: inchi_InputEx::v3000"]
[::std::mem::offset_of!(inchi_InputEx, v3000) - 40usize];
};
impl Default for inchi_InputEx {
fn default() -> Self {
let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
unsafe {
::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct tagINCHI_InputINCHI {
pub szInChI: *mut ::std::os::raw::c_char,
pub szOptions: *mut ::std::os::raw::c_char,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of tagINCHI_InputINCHI"][::std::mem::size_of::<tagINCHI_InputINCHI>() - 16usize];
["Alignment of tagINCHI_InputINCHI"][::std::mem::align_of::<tagINCHI_InputINCHI>() - 8usize];
["Offset of field: tagINCHI_InputINCHI::szInChI"]
[::std::mem::offset_of!(tagINCHI_InputINCHI, szInChI) - 0usize];
["Offset of field: tagINCHI_InputINCHI::szOptions"]
[::std::mem::offset_of!(tagINCHI_InputINCHI, szOptions) - 8usize];
};
impl Default for tagINCHI_InputINCHI {
fn default() -> Self {
let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
unsafe {
::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
pub type inchi_InputINCHI = tagINCHI_InputINCHI;
pub type inchi_Output_PolymerUnit = inchi_Input_PolymerUnit;
pub type inchi_Output_Polymer = inchi_Input_Polymer;
pub type inchi_Output_V3000 = inchi_Input_V3000;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct tagINCHI_Output {
pub szInChI: *mut ::std::os::raw::c_char,
pub szAuxInfo: *mut ::std::os::raw::c_char,
pub szMessage: *mut ::std::os::raw::c_char,
pub szLog: *mut ::std::os::raw::c_char,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of tagINCHI_Output"][::std::mem::size_of::<tagINCHI_Output>() - 32usize];
["Alignment of tagINCHI_Output"][::std::mem::align_of::<tagINCHI_Output>() - 8usize];
["Offset of field: tagINCHI_Output::szInChI"]
[::std::mem::offset_of!(tagINCHI_Output, szInChI) - 0usize];
["Offset of field: tagINCHI_Output::szAuxInfo"]
[::std::mem::offset_of!(tagINCHI_Output, szAuxInfo) - 8usize];
["Offset of field: tagINCHI_Output::szMessage"]
[::std::mem::offset_of!(tagINCHI_Output, szMessage) - 16usize];
["Offset of field: tagINCHI_Output::szLog"]
[::std::mem::offset_of!(tagINCHI_Output, szLog) - 24usize];
};
impl Default for tagINCHI_Output {
fn default() -> Self {
let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
unsafe {
::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
pub type inchi_Output = tagINCHI_Output;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct tagINCHI_OutputStruct {
pub atom: *mut inchi_Atom,
pub stereo0D: *mut inchi_Stereo0D,
pub num_atoms: AT_NUM,
pub num_stereo0D: AT_NUM,
pub szMessage: *mut ::std::os::raw::c_char,
pub szLog: *mut ::std::os::raw::c_char,
pub WarningFlags: [[::std::os::raw::c_ulong; 2usize]; 2usize],
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of tagINCHI_OutputStruct"][::std::mem::size_of::<tagINCHI_OutputStruct>() - 72usize];
["Alignment of tagINCHI_OutputStruct"]
[::std::mem::align_of::<tagINCHI_OutputStruct>() - 8usize];
["Offset of field: tagINCHI_OutputStruct::atom"]
[::std::mem::offset_of!(tagINCHI_OutputStruct, atom) - 0usize];
["Offset of field: tagINCHI_OutputStruct::stereo0D"]
[::std::mem::offset_of!(tagINCHI_OutputStruct, stereo0D) - 8usize];
["Offset of field: tagINCHI_OutputStruct::num_atoms"]
[::std::mem::offset_of!(tagINCHI_OutputStruct, num_atoms) - 16usize];
["Offset of field: tagINCHI_OutputStruct::num_stereo0D"]
[::std::mem::offset_of!(tagINCHI_OutputStruct, num_stereo0D) - 18usize];
["Offset of field: tagINCHI_OutputStruct::szMessage"]
[::std::mem::offset_of!(tagINCHI_OutputStruct, szMessage) - 24usize];
["Offset of field: tagINCHI_OutputStruct::szLog"]
[::std::mem::offset_of!(tagINCHI_OutputStruct, szLog) - 32usize];
["Offset of field: tagINCHI_OutputStruct::WarningFlags"]
[::std::mem::offset_of!(tagINCHI_OutputStruct, WarningFlags) - 40usize];
};
impl Default for tagINCHI_OutputStruct {
fn default() -> Self {
let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
unsafe {
::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
pub type inchi_OutputStruct = tagINCHI_OutputStruct;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct tagINCHI_OutputStructEx {
pub atom: *mut inchi_Atom,
pub stereo0D: *mut inchi_Stereo0D,
pub num_atoms: AT_NUM,
pub num_stereo0D: AT_NUM,
pub szMessage: *mut ::std::os::raw::c_char,
pub szLog: *mut ::std::os::raw::c_char,
pub WarningFlags: [[::std::os::raw::c_ulong; 2usize]; 2usize],
pub polymer: *mut inchi_Output_Polymer,
pub v3000: *mut inchi_Output_V3000,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of tagINCHI_OutputStructEx"][::std::mem::size_of::<tagINCHI_OutputStructEx>() - 88usize];
["Alignment of tagINCHI_OutputStructEx"]
[::std::mem::align_of::<tagINCHI_OutputStructEx>() - 8usize];
["Offset of field: tagINCHI_OutputStructEx::atom"]
[::std::mem::offset_of!(tagINCHI_OutputStructEx, atom) - 0usize];
["Offset of field: tagINCHI_OutputStructEx::stereo0D"]
[::std::mem::offset_of!(tagINCHI_OutputStructEx, stereo0D) - 8usize];
["Offset of field: tagINCHI_OutputStructEx::num_atoms"]
[::std::mem::offset_of!(tagINCHI_OutputStructEx, num_atoms) - 16usize];
["Offset of field: tagINCHI_OutputStructEx::num_stereo0D"]
[::std::mem::offset_of!(tagINCHI_OutputStructEx, num_stereo0D) - 18usize];
["Offset of field: tagINCHI_OutputStructEx::szMessage"]
[::std::mem::offset_of!(tagINCHI_OutputStructEx, szMessage) - 24usize];
["Offset of field: tagINCHI_OutputStructEx::szLog"]
[::std::mem::offset_of!(tagINCHI_OutputStructEx, szLog) - 32usize];
["Offset of field: tagINCHI_OutputStructEx::WarningFlags"]
[::std::mem::offset_of!(tagINCHI_OutputStructEx, WarningFlags) - 40usize];
["Offset of field: tagINCHI_OutputStructEx::polymer"]
[::std::mem::offset_of!(tagINCHI_OutputStructEx, polymer) - 72usize];
["Offset of field: tagINCHI_OutputStructEx::v3000"]
[::std::mem::offset_of!(tagINCHI_OutputStructEx, v3000) - 80usize];
};
impl Default for tagINCHI_OutputStructEx {
fn default() -> Self {
let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
unsafe {
::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
pub type inchi_OutputStructEx = tagINCHI_OutputStructEx;
pub const inchi_Ret_BREAK: tagRetValGetINCHI = -100;
pub const inchi_Ret_SKIP: tagRetValGetINCHI = -2;
pub const inchi_Ret_EOF: tagRetValGetINCHI = -1;
pub const inchi_Ret_OKAY: tagRetValGetINCHI = 0;
pub const inchi_Ret_WARNING: tagRetValGetINCHI = 1;
pub const inchi_Ret_ERROR: tagRetValGetINCHI = 2;
pub const inchi_Ret_FATAL: tagRetValGetINCHI = 3;
pub const inchi_Ret_UNKNOWN: tagRetValGetINCHI = 4;
pub const inchi_Ret_BUSY: tagRetValGetINCHI = 5;
pub type tagRetValGetINCHI = ::std::os::raw::c_int;
pub use self::tagRetValGetINCHI as RetValGetINCHI;
pub const mol2inchi_Ret_OKAY: tagRetValMOL2INCHI = 0;
pub const mol2inchi_Ret_WARNING: tagRetValMOL2INCHI = 1;
pub const mol2inchi_Ret_EOF: tagRetValMOL2INCHI = -1;
pub const mol2inchi_Ret_ERROR: tagRetValMOL2INCHI = 2;
pub const mol2inchi_Ret_ERROR_get: tagRetValMOL2INCHI = 4;
pub const mol2inchi_Ret_ERROR_comp: tagRetValMOL2INCHI = 5;
pub type tagRetValMOL2INCHI = ::std::os::raw::c_int;
pub use self::tagRetValMOL2INCHI as RetValMol2INCHI;
pub const INCHI_VALID_STANDARD: tagRetValCheckINCHI = 0;
pub const INCHI_VALID_NON_STANDARD: tagRetValCheckINCHI = 1;
pub const INCHI_VALID_BETA: tagRetValCheckINCHI = 2;
pub const INCHI_INVALID_PREFIX: tagRetValCheckINCHI = 3;
pub const INCHI_INVALID_VERSION: tagRetValCheckINCHI = 4;
pub const INCHI_INVALID_LAYOUT: tagRetValCheckINCHI = 5;
pub const INCHI_FAIL_I2I: tagRetValCheckINCHI = 6;
pub type tagRetValCheckINCHI = ::std::os::raw::c_uint;
pub use self::tagRetValCheckINCHI as RetValCheckINCHI;
extern "C" {
pub fn GetINCHI(inp: *mut inchi_Input, out: *mut inchi_Output) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn GetStdINCHI(inp: *mut inchi_Input, out: *mut inchi_Output) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn GetINCHIEx(inp: *mut inchi_InputEx, out: *mut inchi_Output) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn FreeINCHI(out: *mut inchi_Output);
}
extern "C" {
pub fn FreeStdINCHI(out: *mut inchi_Output);
}
extern "C" {
pub fn GetStringLength(p: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn GetStructFromINCHI(
inpInChI: *mut inchi_InputINCHI,
outStruct: *mut inchi_OutputStruct,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn GetStructFromStdINCHI(
inpInChI: *mut inchi_InputINCHI,
outStruct: *mut inchi_OutputStruct,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn GetStructFromINCHIEx(
inpInChI: *mut inchi_InputINCHI,
outStruct: *mut inchi_OutputStructEx,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn FreeStructFromINCHI(out: *mut inchi_OutputStruct);
}
extern "C" {
pub fn FreeStructFromStdINCHI(out: *mut inchi_OutputStruct);
}
extern "C" {
pub fn FreeStructFromINCHIEx(out: *mut inchi_OutputStructEx);
}
extern "C" {
pub fn GetINCHIfromINCHI(
inpInChI: *mut inchi_InputINCHI,
out: *mut inchi_Output,
) -> ::std::os::raw::c_int;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct tagInchiInpData {
pub pInp: *mut inchi_Input,
pub bChiral: ::std::os::raw::c_int,
pub szErrMsg: [::std::os::raw::c_char; 256usize],
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of tagInchiInpData"][::std::mem::size_of::<tagInchiInpData>() - 272usize];
["Alignment of tagInchiInpData"][::std::mem::align_of::<tagInchiInpData>() - 8usize];
["Offset of field: tagInchiInpData::pInp"]
[::std::mem::offset_of!(tagInchiInpData, pInp) - 0usize];
["Offset of field: tagInchiInpData::bChiral"]
[::std::mem::offset_of!(tagInchiInpData, bChiral) - 8usize];
["Offset of field: tagInchiInpData::szErrMsg"]
[::std::mem::offset_of!(tagInchiInpData, szErrMsg) - 12usize];
};
impl Default for tagInchiInpData {
fn default() -> Self {
let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
unsafe {
::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
pub type InchiInpData = tagInchiInpData;
extern "C" {
pub fn Get_inchi_Input_FromAuxInfo(
szInchiAuxInfo: *mut ::std::os::raw::c_char,
bDoNotAddH: ::std::os::raw::c_int,
bDiffUnkUndfStereo: ::std::os::raw::c_int,
pInchiInp: *mut InchiInpData,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn Get_std_inchi_Input_FromAuxInfo(
szInchiAuxInfo: *mut ::std::os::raw::c_char,
bDoNotAddH: ::std::os::raw::c_int,
pInchiInp: *mut InchiInpData,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn Free_inchi_Input(pInp: *mut inchi_Input);
}
extern "C" {
pub fn Free_std_inchi_Input(pInp: *mut inchi_Input);
}
extern "C" {
pub fn CheckINCHI(
szINCHI: *const ::std::os::raw::c_char,
strict: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
pub const INCHIKEY_VALID_STANDARD: tagRetValGetINCHIKey = 0;
pub const INCHIKEY_VALID_NON_STANDARD: tagRetValGetINCHIKey = -1;
pub const INCHIKEY_INVALID_LENGTH: tagRetValGetINCHIKey = 1;
pub const INCHIKEY_INVALID_LAYOUT: tagRetValGetINCHIKey = 2;
pub const INCHIKEY_INVALID_VERSION: tagRetValGetINCHIKey = 3;
pub type tagRetValGetINCHIKey = ::std::os::raw::c_int;
pub use self::tagRetValGetINCHIKey as RetValCheckINCHIKeyv;
extern "C" {
pub fn GetINCHIKeyFromINCHI(
szINCHISource: *const ::std::os::raw::c_char,
xtra1: ::std::os::raw::c_int,
xtra2: ::std::os::raw::c_int,
szINCHIKey: *mut ::std::os::raw::c_char,
szXtra1: *mut ::std::os::raw::c_char,
szXtra2: *mut ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn GetStdINCHIKeyFromStdINCHI(
szINCHISource: *const ::std::os::raw::c_char,
szINCHIKey: *mut ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CheckINCHIKey(szINCHIKey: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
pub type INCHI_MODES = ::std::os::raw::c_ulong;
extern "C" {
pub fn MakeINCHIFromMolfileText(
moltext: *const ::std::os::raw::c_char,
options: *mut ::std::os::raw::c_char,
result: *mut inchi_Output,
) -> ::std::os::raw::c_int;
}