Include dependency graph for ichirvrs.h:
 This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Data Structures | |
| struct | tagXYZCoord | 
| struct | tagStructRestoreMode | 
| struct | tagReversedInChI | 
| struct | tagBfsQueue | 
| struct | tagInpAtomAddParities | 
| struct | tagAtomIonPrperies | 
| struct | tagTCGroup | 
| struct | tagAllTCGroups | 
| struct | tagEdgeList | 
| struct | tagChargeValence | 
| struct | tagChargeChangeCandidate | 
| struct | tagOneComponentRemovedAndExchangeableH | 
| struct | tagRemovedAndExchangeableH | 
| struct | tagInputInChI | 
| struct | tagStructFromInChI | 
| struct | tagVertCapFlow | 
| struct | tagEdgeCapFlow | 
| struct | tagChargeNodes | 
| struct | tagChargeNodeList | 
| struct | tagAtomsCmpTwoFixedH | 
| struct | tagStructCmpTwoFixedH | 
| struct | tagAtomsCmpTwoMobileH | 
| struct | tagStructCmpTwoMobileH | 
Macros | |
| #define | ICHICONST const | 
| #define | RI_ERR_ALLOC (-1) | 
| #define | RI_ERR_SYNTAX (-2) | 
| #define | RI_ERR_PROGR (-3) | 
| #define | RI_ERR_EOL (-4) | 
| #define | RI_ERR_EOF (0) | 
| #define | RI_ERR_MISMATCH (-9) | 
| #define | NO_VALUE_INT 9999 | 
| #define | NOT_READ_INT 9998 /* has not been read yet */ | 
| #define | VALUE_OCTET 8 /* number of electrons in a full shell */ | 
| #define | INC_EDGE_LIST_DEFAULT 64 | 
| #define | BFS_Q_CLEAR (-1) | 
| #define | BFS_Q_FREE (-2) | 
| #define | EXTRACT_STRUCT_NUMBER 1 | 
| #define | FIX_STEREO_BOND_ORDER 0 /* 1=> fix stereobonds; treat metal as non-metal if it is stereogenic or has a stereobond */ | 
| #define | METAL_FREE_CHARGE_VAL 1 /* 1=> allow free changing charges/valences of metals; initial bond order=0 or 1 */ | 
| #define | ALLOW_METAL_BOND_ZERO 1 /* 1=> allow zero flow (bobd order) to metals */ | 
| #define | INIT_METAL_BOND_ZERO 0 /* 1=> initialize zero order bond to metals */ | 
| #define | INIT_METAL_BOND_FLOW 1 /* 1=> init flow=1, 0 => init. flow = 0 */ | 
| #define | I2A_FLAG_FIXEDH 0x0001 | 
| #define | I2A_FLAG_RECMET 0x0002 | 
| #define | ATYPE_H 1 | 
| #define | ATYPE_Na 2 | 
| #define | ATYPE_Mg 3 | 
| #define | ATYPE_B 4 | 
| #define | ATYPE_C 5 | 
| #define | ATYPE_N 6 | 
| #define | ATYPE_O 7 | 
| #define | ATYPE_Cl 8 | 
| #define | VAL_BASE ( 1) | 
| #define | VAL_MIN_CHARGE (-1) | 
| #define | VAL_MAX_CHARGE ( 1) | 
| #define | VAL_NUMBER ( 2) | 
| #define | VAL_NEUTR_ORDER (VAL_MAX_CHARGE-VAL_MIN_CHARGE+1) | 
| #define | VAL_LENGTH (VAL_NEUTR_ORDER+1) | 
| #define | VAL_NEGAT_CHARGE 0 | 
| #define | VAL_NEUTR_CHARGE 1 | 
| #define | VAL_POSIT_CHARGE 2 | 
| #define | INI_NUM_TCGROUPS 16 | 
| #define | INC_NUM_TCGROUPS 16 | 
| #define | EDGE_LIST_CLEAR (-1) | 
| #define | EDGE_LIST_FREE (-2) | 
| #define | BOND_MARK_STEREO 0x10 | 
| #define | BOND_TYPE_STEREO (BOND_TYPE_SINGLE | BOND_MARK_STEREO) | 
| #define | RESET_EDGE_FORBIDDEN_MASK 0 | 
| #define | TREAT_ATOM_AS_METAL 99 | 
| #define | MY_CONST const | 
| #define | EL_TYPE_O 0x0001 | 
| #define | EL_TYPE_S 0x0002 | 
| #define | EL_TYPE_N 0x0004 | 
| #define | EL_TYPE_P 0x0008 | 
| #define | EL_TYPE_C 0x0010 | 
| #define | EL_TYPE_X 0x0020 /* any not metal */ | 
| #define | EL_TYPE_MASK 0x003f | 
| #define | EL_TYPE_OSt 0x0100 /* terminal -OH, -O(-), -SH, -S(-), ... from fix_special_bonds(...) */ | 
| #define | EL_TYPE_PT 0x0200 /* may be a tautomeric endpoint */ | 
| #define | MAX_CN_VAL 3 | 
| #define | cn_bits_N 1 /* Neutral: charge = 0 */ | 
| #define | cn_bits_P 2 /* Plus 1: charge = +1 */ | 
| #define | cn_bits_M 4 /* Minus 1: charge = -1 */ | 
| #define | cn_bits_shift 3 | 
| #define | MAX_NUM_CN_BITS 4 | 
| #define | MAKE_CN_BITS(A, B, C, D) (( (( ((D) << cn_bits_shift | (C)) << cn_bits_shift ) | (B)) << cn_bits_shift ) | (A)) | 
| #define | cn_bits_PNPN MAKE_CN_BITS(cn_bits_P, cn_bits_N, cn_bits_P, cn_bits_N) | 
| #define | cn_bits_NPNP MAKE_CN_BITS(cn_bits_N, cn_bits_P, cn_bits_N, cn_bits_P) | 
| #define | cn_bits_NPN MAKE_CN_BITS(cn_bits_N, cn_bits_P, cn_bits_N, 0) | 
| #define | cn_bits_PNP MAKE_CN_BITS(cn_bits_P, cn_bits_N, cn_bits_P, 0) | 
| #define | cn_bits_MNP MAKE_CN_BITS(cn_bits_M, cn_bits_N, cn_bits_P, 0) | 
| #define | cn_bits_PNM MAKE_CN_BITS(cn_bits_P, cn_bits_N, cn_bits_M, 0) | 
| #define | cn_bits_EN MAKE_CN_BITS(cn_bits_P | cn_bits_M, cn_bits_N, 0, 0) | 
| #define | cn_bits_NMN MAKE_CN_BITS(cn_bits_N, cn_bits_M, cn_bits_N, 0) | 
| #define | cn_bits_NE MAKE_CN_BITS(cn_bits_N, cn_bits_P | cn_bits_M, 0, 0) | 
| #define | cn_bits_NEN MAKE_CN_BITS(cn_bits_N, cn_bits_M | cn_bits_N, cn_bits_N, 0) | 
| #define | cn_bits_NP MAKE_CN_BITS(cn_bits_N, cn_bits_P, 0, 0) | 
| #define | cn_bits_PN MAKE_CN_BITS(cn_bits_P, cn_bits_N, 0, 0) | 
| #define | cn_bits_NM MAKE_CN_BITS(cn_bits_N, cn_bits_M, 0, 0) | 
| #define | cn_bits_MN MAKE_CN_BITS(cn_bits_M, cn_bits_N, 0, 0) | 
| #define | cn_bits_P_ MAKE_CN_BITS(cn_bits_P, 0, 0, 0) | 
| #define | cn_bits_M_ MAKE_CN_BITS(cn_bits_M, 0, 0, 0) | 
| #define | cn_bits_N_ MAKE_CN_BITS(cn_bits_N, 0, 0, 0) | 
| #define | cn_bits_Me (-1) | 
| #define | cnListIndexMe (17) /* index of {cnMe, cn_bits_Me,... } element of cnList[] */ | 
| #define | MAX_DIFF_FIXH 256 | 
| #define | MAX_DIFF_MOBH 256 | 
| #define | KEEP_METAL_EDGE_FLOW 0 /* counterexample: mdb0-1738.sdf.txt */ | 
| #define | MOVE_CHARGES_FROM_HETEREO_TO_METAL 0 /* disabled */ | 
| #define | FIX_ADD_PROTON_FOR_ADP 0 /* not used */ | 
Enumerations | |
| enum | tagTgRestoreFlags { TGRF_MINUS_FIRST = 1 } | 
| enum | tagTCGroupTypes {  TCG_None = -1 , TCG_Plus0 = 0 , TCG_Plus1 , TCG_Minus0 , TCG_Minus1 , TCG_Plus_C0 , TCG_Plus_C1 , TCG_Minus_C0 , TCG_Minus_C1 , TCG_Plus_M0 , TCG_Plus_M1 , TCG_Minus_M0 , TCG_Minus_M1 , TCG_MeFlower0 , TCG_MeFlower1 , TCG_MeFlower2 , TCG_MeFlower3 , TCG_Plus , TCG_Minus , NUM_TCGROUP_TYPES }  | 
Functions | |
| int | OneInChI2Atom (struct tagINCHI_CLOCK *ic, struct tagCANON_GLOBALS *pCG, ICHICONST INPUT_PARMS *ip, STRUCT_DATA *sd, const char *szCurHdr, long num_inp, StrFromINChI *pStruct, int iComponent, int iAtNoOffset, int bHasSomeFixedH, INChI *pInChI[]) | 
| int | get_sp_element_type (int nPeriodicNumber, int *nRow) | 
| int | get_bonds_valences (int nPeriodicNum, int bonds_valence, int num_H, VAL_AT *pVA) | 
| int | AddExplicitDeletedH (inp_ATOM *at, int jv, int num_at, int *iDeletedH, int *iH, int nNumDeletedH, int bTwoStereo) | 
| int | bFindCumuleneChain (inp_ATOM *at, AT_NUMB i1, AT_NUMB i2, AT_NUMB nCumulene[], int nMaxLen) | 
| int | set_bond_type (inp_ATOM *at, AT_NUMB i1, AT_NUMB i2, int bType) | 
| int | set_cumulene_0D_parity (inp_ATOM *at, inp_ATOM_STEREO *st, int num_at, int idelH1, int i1, int i2, int idelH2, int parity, int len) | 
| int | set_atom_0D_parity (inp_ATOM *at, inp_ATOM_STEREO *st, int num_at, int num_deleted_H, int i1, int parity) | 
| int | GetTgroupInfoFromInChI (T_GROUP_INFO *ti, inp_ATOM *at, AT_NUMB *endpoint, INChI *pInChI) | 
| int | FillOutpStructEndpointFromInChI (INChI *pInChI, AT_NUMB **pEndpoint) | 
| int | SetStereoBondTypeFor0DParity (inp_ATOM *at, int i1, int m1) | 
| int | SetStereoBondTypesFrom0DStereo (StrFromINChI *pStruct, INChI *pInChI) | 
| void | CopyAt2St (inp_ATOM *at, inp_ATOM_STEREO *st, int num_atoms) | 
| void | CopySt2At (inp_ATOM *at, inp_ATOM_STEREO *st, int num_atoms) | 
| int | RestoreAtomConnectionsSetStereo (StrFromINChI *pStruct, int iComponent, int iAtNoOffset, INChI *pInChI, INChI *pInChIMobH) | 
| int | RestoreAtomMakeBNS (struct tagINCHI_CLOCK *ic, struct tagCANON_GLOBALS *pCG, ICHICONST INPUT_PARMS *ip, STRUCT_DATA *sd, StrFromINChI *pStruct, int iComponent, int iAtNoOffset, INChI *pInChI[], const char *szCurHdr, long num_inp, int bHasSomeFixedH) | 
| int | nAddSuperCGroups (ALL_TC_GROUPS *pTCGroups) | 
| int | AddCGroups2TCGBnStruct (BN_STRUCT *pBNS, StrFromINChI *pStruct, VAL_AT *pVA, ALL_TC_GROUPS *pTCGroups, int nMaxAddEdges) | 
| int | AddTGroups2TCGBnStruct (BN_STRUCT *pBNS, StrFromINChI *pStruct, VAL_AT *pVA, ALL_TC_GROUPS *pTCGroups, int nMaxAddEdges) | 
| BN_STRUCT * | AllocateAndInitTCGBnStruct (StrFromINChI *pStruct, VAL_AT *pVA, ALL_TC_GROUPS *pTCGroups, int nMaxAddAtoms, int nMaxAddEdges, int max_altp, int *pNum_changed_bonds) | 
| int | nCountBnsSizes (inp_ATOM *at, int num_at, int nAddEdges2eachAtom, int nAddVertices, T_GROUP_INFO *ti, VAL_AT *pVA, ICHICONST SRM *pSrm, ALL_TC_GROUPS *pTCGroups) | 
| int | GetAtomRestoreInfo (struct tagCANON_GLOBALS *pCG, inp_ATOM *atom, int iat, VAL_AT *pVArray, ICHICONST SRM *pSrm, int bMobileH, AT_NUMB *endpoint) | 
| int | AddEdgeFlow (int edge_cap, int edge_flow, BNS_EDGE *e01, BNS_VERTEX *pv0, BNS_VERTEX *pv1, int *tot_st_cap, int *tot_st_flow) | 
| void | SetEdgeCapFlow (BNS_EDGE *e, int edge_cap, int edge_flow) | 
| void | AddStCapFlow (BNS_VERTEX *vert_ficpoint, int *tot_st_flow, int *tot_st_cap, int cap, int flow) | 
| void | SetStCapFlow (BNS_VERTEX *vert_ficpoint, int *tot_st_flow, int *tot_st_cap, int cap, int flow) | 
| int | ConnectSuperCGroup (int nTCG_Plus, int nAddGroups[], int num_add, int *pcur_num_vertices, int *pcur_num_edges, int *tot_st_cap, int *tot_st_flow, BN_STRUCT *pBNS, ALL_TC_GROUPS *pTCGroups) | 
| int | ConnectTwoVertices (BNS_VERTEX *p1, BNS_VERTEX *p2, BNS_EDGE *e, BN_STRUCT *pBNS, int bClearEdge) | 
| int | nTautEndpointEdgeCap (inp_ATOM *at, VAL_AT *pVA, int i) | 
| int | AtomStcapStflow (inp_ATOM *atom, VAL_AT *pVA, ICHICONST SRM *pSrm, int iat, int *pnStcap, int *pnStflow, EdgeFlow *pnMGroupEdgeCap, EdgeFlow *pnMGroupEdgeFlow) | 
| int | BondFlowMaxcapMinorder (inp_ATOM *atom, VAL_AT *pVA, ICHICONST SRM *pSrm, int iat, int ineigh, int *pnMaxcap, int *pnMinorder, int *pbNeedsFlower) | 
| int | clean_charge_val (struct tagCANON_GLOBALS *pCG, CHARGE_VAL *pChargeVal, int len, inp_ATOM *atom, VAL_AT *pVA, int iat, int bIsMetal, int bMobileH, AT_NUMB *endpoint) | 
| int | ReallocTCGroups (ALL_TC_GROUPS *pTCGroups, int nAdd) | 
| int | RegisterTCGroup (ALL_TC_GROUPS *pTCGroups, int nGroupType, int nGroupOrdNum, int nVertexCap, int nVertexFlow, int nEdgeCap, int nEdgeFlow, int nNumEdges) | 
| int | CopyBnsToAtom (StrFromINChI *pStruct, BN_STRUCT *pBNS, VAL_AT *pVA, ALL_TC_GROUPS *pTCGroups, int bAllowZeroBondOrder) | 
| int | CheckBnsConsistency (StrFromINChI *pStruct, BN_STRUCT *pBNS, VAL_AT *pVA, ALL_TC_GROUPS *pTCGroups, int bNoRad) | 
| int | RunBnsRestore1 (struct tagCANON_GLOBALS *pCG, struct tagINCHI_CLOCK *ic, ICHICONST INPUT_PARMS *ip, STRUCT_DATA *sd, BN_STRUCT *pBNS, BN_DATA *pBD, StrFromINChI *pStruct, VAL_AT *pVA, ALL_TC_GROUPS *pTCGroups, INChI *pInChI[], long num_inp, int bHasSomeFixedH) | 
| int | RunBnsRestoreOnce (BN_STRUCT *pBNS, BN_DATA *pBD, VAL_AT *pVA, ALL_TC_GROUPS *pTCGroups) | 
| int | nNumEdgesToCnVertex (MY_CONST C_NODE *pCN, int len, int v) | 
| int | ConnectMetalFlower (int *pcur_num_vertices, int *pcur_num_edges, int *tot_st_cap, int *tot_st_flow, ICHICONST SRM *pSrm, BN_STRUCT *pBNS, ALL_TC_GROUPS *pTCGroups) | 
| int | AddRadicalToMetal (int *tot_st_cap, int *tot_st_flow, ICHICONST SRM *pSrm, BN_STRUCT *pBNS, ALL_TC_GROUPS *pTCGroups) | 
| int | bMayBeACationInMobileHLayer (inp_ATOM *at, VAL_AT *pVA, int iat, int bMobileH) | 
| int | MakeOneInChIOutOfStrFromINChI (struct tagCANON_GLOBALS *pCG, struct tagINCHI_CLOCK *ic, ICHICONST INPUT_PARMS *ip, STRUCT_DATA *sd, StrFromINChI *pStruct, inp_ATOM *at2, inp_ATOM *at3, ALL_TC_GROUPS *pTCGroups) | 
| void | IncrZeroBondsAndClearEndpts (inp_ATOM *at, int num_at, int iComponent) | 
| void | IncrZeroBonds (inp_ATOM *at, int num_at, int iComponent) | 
| void | ClearEndpts (inp_ATOM *at, int num_at) | 
| int | DisplayRestoredComponent (struct tagCANON_GLOBALS *pCG, StrFromINChI *pStruct, int iComponent, int iAtNoOffset, INChI *pInChI, const char *szCurHdr) | 
| int | cmp_charge_val (const void *a1, const void *a2, void *) | 
| int | EvaluateChargeChanges (BN_STRUCT *pBNS, VAL_AT *pVA, int *pnDeltaH, int *pnDeltaCharge, int *pnNumVisitedAtoms) | 
| int | RunBnsTestOnce (BN_STRUCT *pBNS, BN_DATA *pBD, VAL_AT *pVA, Vertex *pvFirst, Vertex *pvLast, int *pPathLen, int *pnDeltaH, int *pnDeltaCharge, int *pnNumVisitedAtoms) | 
| int | comp_cc_cand (const void *a1, const void *a2) | 
| int | MoveRadToAtomsAddCharges (BN_STRUCT *pBNS, BN_DATA *pBD, StrFromINChI *pStruct, inp_ATOM *at, inp_ATOM *at2, VAL_AT *pVA, ALL_TC_GROUPS *pTCGroups, int forbidden_mask) | 
| void | RemoveForbiddenBondFlowBits (BN_STRUCT *pBNS, int forbidden_edge_mask_int) | 
| int | PlusFromDB_N_DB_O_to_Metal (BN_STRUCT *pBNS, BN_DATA *pBD, StrFromINChI *pStruct, inp_ATOM *at, inp_ATOM *at2, VAL_AT *pVA, ALL_TC_GROUPS *pTCGroups, int *pnNumRunBNS, int *pnTotalDelta, int forbidden_edge_mask) | 
| int | AdjustTgroupsToForbiddenEdges2 (BN_STRUCT *pBNS, inp_ATOM *at, VAL_AT *pVA, int num_atoms, int forbidden_mask) | 
| int | AllocEdgeList (EDGE_LIST *pEdges, int nLen) | 
| int | AddToEdgeList (EDGE_LIST *pEdges, int iedge, int nAddLen) | 
| int | RemoveFromEdgeListByIndex (EDGE_LIST *pEdges, int index) | 
| int | RemoveFromEdgeListByValue (EDGE_LIST *pEdges, int iedge) | 
| int | FindInEdgeList (EDGE_LIST *pEdges, int iedge) | 
| int | AllocBfsQueue (BFS_Q *pQ, int num_at, int min_ring_size) | 
| void | RemoveForbiddenEdgeMask (BN_STRUCT *pBNS, EDGE_LIST *pEdges, int forbidden_edge_mask) | 
| void | SetForbiddenEdgeMask (BN_STRUCT *pBNS, EDGE_LIST *pEdges, int forbidden_edge_mask) | 
| int | ForbidCarbonChargeEdges (BN_STRUCT *pBNS, ALL_TC_GROUPS *pTCGroups, EDGE_LIST *pCarbonChargeEdges, int forbidden_edge_mask) | 
| int | ForbidMetalCarbonEdges (BN_STRUCT *pBNS, inp_ATOM *at, int num_at, VAL_AT *pVA, ALL_TC_GROUPS *pTCGroups, EDGE_LIST *pMetalCarbonEdges, int forbidden_edge_mask) | 
| int | ForbidNintrogenPlus2BondsInSmallRings (BN_STRUCT *pBNS, inp_ATOM *at, int num_at, VAL_AT *pVA, int min_ring_size, ALL_TC_GROUPS *pTCGroups, EDGE_LIST *pNplus2BondsEdges, int forbidden_edge_mask) | 
| int | RearrangePlusMinusEdgesFlow (BN_STRUCT *pBNS, BN_DATA *pBD, VAL_AT *pVA, ALL_TC_GROUPS *pTCGroups, int forbidden_edge_mask) | 
| int | IncrementZeroOrderBondsToHeteroat (BN_STRUCT *pBNS, BN_DATA *pBD, StrFromINChI *pStruct, inp_ATOM *at, inp_ATOM *at2, VAL_AT *pVA, ALL_TC_GROUPS *pTCGroups, int *pnNumRunBNS, int *pnTotalDelta, int forbidden_edge_mask) | 
| int | MoveChargeFromHeteroatomsToMetals (BN_STRUCT *pBNS, BN_DATA *pBD, StrFromINChI *pStruct, inp_ATOM *at, inp_ATOM *at2, VAL_AT *pVA, ALL_TC_GROUPS *pTCGroups, int *pnNumRunBNS, int *pnTotalDelta, int forbidden_edge_mask) | 
| int | EliminateChargeSeparationOnHeteroatoms (BN_STRUCT *pBNS, BN_DATA *pBD, StrFromINChI *pStruct, inp_ATOM *at, inp_ATOM *at2, VAL_AT *pVA, ALL_TC_GROUPS *pTCGroups, int *pnNumRunBNS, int *pnTotalDelta, int forbidden_edge_mask, int forbidden_stereo_edge_mask) | 
| int | MovePlusFromS2DiaminoCarbon (BN_STRUCT *pBNS, BN_DATA *pBD, StrFromINChI *pStruct, inp_ATOM *at, inp_ATOM *at2, VAL_AT *pVA, ALL_TC_GROUPS *pTCGroups, int *pnNumRunBNS, int *pnTotalDelta, int forbidden_edge_mask) | 
| int | RestoreCyanoGroup (BN_STRUCT *pBNS, BN_DATA *pBD, StrFromINChI *pStruct, inp_ATOM *at, inp_ATOM *at2, VAL_AT *pVA, ALL_TC_GROUPS *pTCGroups, int *pnNumRunBNS, int *pnTotalDelta, int forbidden_edge_mask) | 
| int | RestoreIsoCyanoGroup (BN_STRUCT *pBNS, BN_DATA *pBD, StrFromINChI *pStruct, inp_ATOM *at, inp_ATOM *at2, VAL_AT *pVA, ALL_TC_GROUPS *pTCGroups, int *pnNumRunBNS, int *pnTotalDelta, int forbidden_edge_mask) | 
| int | RestoreNNNgroup (BN_STRUCT *pBNS, BN_DATA *pBD, StrFromINChI *pStruct, inp_ATOM *at, inp_ATOM *at2, VAL_AT *pVA, ALL_TC_GROUPS *pTCGroups, int *pnNumRunBNS, int *pnTotalDelta, int forbidden_edge_mask) | 
| int | FixMetal_Nminus_Ominus (BN_STRUCT *pBNS, BN_DATA *pBD, StrFromINChI *pStruct, inp_ATOM *at, inp_ATOM *at2, VAL_AT *pVA, ALL_TC_GROUPS *pTCGroups, int *pnNumRunBNS, int *pnTotalDelta, int forbidden_edge_mask) | 
| int | EliminateNitrogen5Val3Bonds (BN_STRUCT *pBNS, BN_DATA *pBD, StrFromINChI *pStruct, inp_ATOM *at, inp_ATOM *at2, VAL_AT *pVA, ALL_TC_GROUPS *pTCGroups, int *pnNumRunBNS, int *pnTotalDelta, int forbidden_edge_mask) | 
| int | Convert_SIV_to_SVI (BN_STRUCT *pBNS, BN_DATA *pBD, StrFromINChI *pStruct, inp_ATOM *at, inp_ATOM *at2, VAL_AT *pVA, ALL_TC_GROUPS *pTCGroups, int *pnNumRunBNS, int *pnTotalDelta, int forbidden_edge_mask) | 
| int | MoveMobileHToAvoidFixedBonds (BN_STRUCT *pBNS, BN_DATA *pBD, StrFromINChI *pStruct, inp_ATOM *at, inp_ATOM *at2, VAL_AT *pVA, ALL_TC_GROUPS *pTCGroups, int *pnNumRunBNS, int *pnTotalDelta, int forbidden_edge_mask) | 
| int | RemoveRadFromMobileHEndpoint (BN_STRUCT *pBNS, BN_DATA *pBD, StrFromINChI *pStruct, inp_ATOM *at, inp_ATOM *at2, VAL_AT *pVA, ALL_TC_GROUPS *pTCGroups, int *pnNumRunBNS, int *pnTotalDelta, int forbidden_edge_mask) | 
| int | RemoveRadFromMobileHEndpointFixH (BN_STRUCT *pBNS, BN_DATA *pBD, StrFromINChI *pStruct, inp_ATOM *at, inp_ATOM *at2, VAL_AT *pVA, ALL_TC_GROUPS *pTCGroups, int *pnNumRunBNS, int *pnTotalDelta, int forbidden_edge_mask) | 
| int | MoveChargeToMakeCenerpoints (BN_STRUCT *pBNS, BN_DATA *pBD, StrFromINChI *pStruct, inp_ATOM *at, inp_ATOM *at2, VAL_AT *pVA, ALL_TC_GROUPS *pTCGroups, int *pnNumRunBNS, int *pnTotalDelta, int forbidden_edge_mask) | 
| int | CheckAndRefixStereobonds (BN_STRUCT *pBNS, BN_DATA *pBD, StrFromINChI *pStruct, inp_ATOM *at, inp_ATOM *at2, VAL_AT *pVA, ALL_TC_GROUPS *pTCGroups, int *pnNumRunBNS, int *pnTotalDelta, int forbidden_edge_mask) | 
| int | MoveChargeToRemoveCenerpoints (BN_STRUCT *pBNS, BN_DATA *pBD, StrFromINChI *pStruct, inp_ATOM *at, inp_ATOM *at2, VAL_AT *pVA, ALL_TC_GROUPS *pTCGroups, int *pnNumRunBNS, int *pnTotalDelta, int forbidden_edge_mask) | 
| int | MakeSingleBondsMetal2ChargedHeteroat (BN_STRUCT *pBNS, BN_DATA *pBD, StrFromINChI *pStruct, inp_ATOM *at, inp_ATOM *at2, VAL_AT *pVA, ALL_TC_GROUPS *pTCGroups, int *pnNumRunBNS, int *pnTotalDelta, int forbidden_edge_mask) | 
| int | SaltBondsToCoordBonds (BN_STRUCT *pBNS, BN_DATA *pBD, StrFromINChI *pStruct, inp_ATOM *at, inp_ATOM *at2, VAL_AT *pVA, ALL_TC_GROUPS *pTCGroups, int *pnNumRunBNS, int *pnTotalDelta, int forbidden_edge_mask) | 
| int | FixLessHydrogenInFormula (BN_STRUCT *pBNS, BN_DATA *pBD, StrFromINChI *pStruct, inp_ATOM *at, inp_ATOM *at2, inp_ATOM *atf, VAL_AT *pVA, ALL_TC_GROUPS *pTCGroups, int *pnNumRunBNS, int *pnTotalDelta, int forbidden_edge_mask) | 
| int | FixMoreHydrogenInFormula (BN_STRUCT *pBNS, BN_DATA *pBD, StrFromINChI *pStruct, inp_ATOM *at, inp_ATOM *at2, inp_ATOM *atf, VAL_AT *pVA, ALL_TC_GROUPS *pTCGroups, int *pnNumRunBNS, int *pnTotalDelta, int forbidden_edge_mask) | 
| int | FixAddProtonForADP (BN_STRUCT *pBNS, BN_DATA *pBD, StrFromINChI *pStruct, inp_ATOM *at, inp_ATOM *at2, inp_ATOM *atf, VAL_AT *pVA, ALL_TC_GROUPS *pTCGroups, ICR *picr, int *pnNumRunBNS, int *pnTotalDelta, int forbidden_edge_mask) | 
| int | ConnectDisconnectedH (inp_ATOM *at, int num_atoms, int num_deleted_H) | 
| int | DisconnectedConnectedH (inp_ATOM *at, int num_atoms, int num_deleted_H) | 
| int | MakeInChIOutOfStrFromINChI2 (struct tagINCHI_CLOCK *ic, struct tagCANON_GLOBALS *pCG, ICHICONST INPUT_PARMS *ip_inp, STRUCT_DATA *sd_inp, StrFromINChI *pStruct, int iComponent, int iAtNoOffset, long num_inp) | 
| int | GetChargeFlowerUpperEdge (BN_STRUCT *pBNS, VAL_AT *pVA, int nChargeEdge) | 
| int | get_pVA_atom_type (VAL_AT *pVA, inp_ATOM *at, int iat, int bond_type) | 
| int | NormalizeAndCompare (struct tagCANON_GLOBALS *pCG, struct tagINCHI_CLOCK *ic, ICHICONST INPUT_PARMS *ip, STRUCT_DATA *sd, BN_STRUCT *pBNS, BN_DATA *pBD, StrFromINChI *pStruct, inp_ATOM *at, inp_ATOM *at2, inp_ATOM *at3, VAL_AT *pVA, ALL_TC_GROUPS *pTCGroups, INChI *pInChI[], long num_inp, int bHasSomeFixedH, int *pnNumRunBNS, int *pnTotalDelta, int forbidden_edge_mask, int forbidden_stereo_edge_mask) | 
| int | NormalizeStructure (ICHICONST INPUT_PARMS *ip, STRUCT_DATA *sd, BN_STRUCT *pBNS, StrFromINChI *pStruct, inp_ATOM *at, inp_ATOM *at2, VAL_AT *pVA, ALL_TC_GROUPS *pTCGroups, inp_ATOM *at_norm, inp_ATOM *at_fixed_bonds_out, T_GROUP_INFO *t_group_info) | 
| int | MakeOneInChIOutOfStrFromINChI2 (struct tagCANON_GLOBALS *pCG, struct tagINCHI_CLOCK *ic, ICHICONST INPUT_PARMS *ip, STRUCT_DATA *sd, BN_STRUCT *pBNS, StrFromINChI *pStruct, inp_ATOM *at, inp_ATOM *at2, inp_ATOM *at3, VAL_AT *pVA, ALL_TC_GROUPS *pTCGroups, T_GROUP_INFO **t_group_info, inp_ATOM **at_norm, inp_ATOM **at_prep) | 
| int | FillOutExtraFixedHDataRestr (StrFromINChI *pStruct) | 
| int | FillOutExtraFixedHDataInChI (StrFromINChI *pStruct, INChI *pInChI[]) | 
| int | FixFixedHRestoredStructure (struct tagCANON_GLOBALS *pCG, struct tagINCHI_CLOCK *ic, ICHICONST INPUT_PARMS *ip, STRUCT_DATA *sd, BN_STRUCT *pBNS, BN_DATA *pBD, StrFromINChI *pStruct, inp_ATOM *at, inp_ATOM *at2, inp_ATOM *at3, VAL_AT *pVA, ALL_TC_GROUPS *pTCGroups, T_GROUP_INFO **ti, inp_ATOM **at_norm, inp_ATOM **at_prep, INChI *pInChI[], long num_inp, int bHasSomeFixedH, int *pnNumRunBNS, int *pnTotalDelta, int forbidden_edge_mask, int forbidden_stereo_edge_mask) | 
| int | FixRemoveExtraTautEndpoints (BN_STRUCT *pBNS, BN_DATA *pBD, StrFromINChI *pStruct, inp_ATOM *at, inp_ATOM *at2, inp_ATOM *atf, inp_ATOM *atn, VAL_AT *pVA, ALL_TC_GROUPS *pTCGroups, ICR *picr, int *pnNumRunBNS, int *pnTotalDelta, int forbidden_edge_mask) | 
| int | FillOutCMP2FHINCHI (StrFromINChI *pStruct, inp_ATOM *at2, VAL_AT *pVA, INChI *pInChI[], CMP2FHINCHI *pc2i) | 
| int | FillOutCMP2MHINCHI (StrFromINChI *pStruct, ALL_TC_GROUPS *pTCGroups, inp_ATOM *at2, VAL_AT *pVA, INChI *pInChI[], CMP2MHINCHI *pc2i) | 
| int | bHas_N_V (inp_ATOM *at2, int num_atoms) | 
| int | GetPlusMinusVertex (BN_STRUCT *pBNS, ALL_TC_GROUPS *pTCGroups, int bCheckForbiddenPlus, int bCheckForbiddenMinus) | 
| int | FixMobileHRestoredStructure (struct tagCANON_GLOBALS *pCG, struct tagINCHI_CLOCK *ic, ICHICONST INPUT_PARMS *ip, STRUCT_DATA *sd, BN_STRUCT *pBNS, BN_DATA *pBD, StrFromINChI *pStruct, inp_ATOM *at, inp_ATOM *at2, inp_ATOM *at3, VAL_AT *pVA, ALL_TC_GROUPS *pTCGroups, T_GROUP_INFO **ppt_group_info, inp_ATOM **ppat_norm, inp_ATOM **ppat_prep, INChI *pInChI[], long num_inp, int bHasSomeFixedH, int *pnNumRunBNS, int *pnTotalDelta, int forbidden_edge_mask, int forbidden_stereo_edge_mask) | 
| int | FixRestoredStructureStereo (struct tagCANON_GLOBALS *pCG, struct tagINCHI_CLOCK *ic, INCHI_MODE cmpInChI, ICR *icr, INCHI_MODE cmpInChI2, ICR *icr2, ICHICONST INPUT_PARMS *ip, STRUCT_DATA *sd, BN_STRUCT *pBNS, BN_DATA *pBD, StrFromINChI *pStruct, inp_ATOM *at, inp_ATOM *at2, inp_ATOM *at3, VAL_AT *pVA, ALL_TC_GROUPS *pTCGroups, T_GROUP_INFO **ppt_group_info, inp_ATOM **ppat_norm, inp_ATOM **ppat_prep, INChI *pInChI[], long num_inp, int *pnNumRunBNS, int *pnTotalDelta, int forbidden_edge_mask, int forbidden_stereo_edge_mask) | 
| int | AddRemProtonsInRestrStruct (struct tagINCHI_CLOCK *ic, struct tagCANON_GLOBALS *pCG, ICHICONST INPUT_PARMS *ip, STRUCT_DATA *sd, long num_inp, int bHasSomeFixedH, StrFromINChI *pStruct, int num_components, StrFromINChI *pStructR, int num_componentsR, NUM_H *pProtonBalance, int *recmet_change_balance) | 
| int | AllInchiToStructure (struct tagINCHI_CLOCK *ic, struct tagCANON_GLOBALS *pCG, ICHICONST INPUT_PARMS *ip, STRUCT_DATA *sd, long num_inp, char *szCurHdr, ICHICONST SRM *pSrm, int bReqNonTaut, StrFromINChI *pStruct[INCHI_NUM][TAUT_NUM], InpInChI *pOneInput) | 
| int | AddProtonAndIsoHBalanceToMobHStruct (struct tagINCHI_CLOCK *ic, struct tagCANON_GLOBALS *pCG, ICHICONST INPUT_PARMS *ip, STRUCT_DATA *sd, long num_inp, int bHasSomeFixedH, char *szCurHdr, StrFromINChI *pStruct[INCHI_NUM][TAUT_NUM], InpInChI *pOneInput) | 
| int | InChI2Atom (struct tagINCHI_CLOCK *ic, struct tagCANON_GLOBALS *pCG, ICHICONST INPUT_PARMS *ip, STRUCT_DATA *sd, const char *szCurHdr, long num_inp, StrFromINChI *pStruct, int iComponent, int iAtNoOffset, int bI2A_Flag, int bHasSomeFixedH, InpInChI *pOneInput) | 
| int | MarkDisconectedIdenticalToReconnected (InpInChI *pOneInput) | 
| void | RemoveFixHInChIIdentical2MobH (InpInChI *pOneInput) | 
| void | SetUpSrm (SRM *pSrm) | 
| void | FreeInputInChI2Struct (InpInChI *pOneInput) | 
| void | FreeStrFromINChI (StrFromINChI *pStruct[INCHI_NUM][TAUT_NUM], int nNumComponents[INCHI_NUM][TAUT_NUM]) | 
| int | OldPrintCompareOneOrigInchiToRevInChI (StrFromINChI *pStruct, INChI *pInChI[TAUT_NUM], int bMobileH, int iComponent, long num_inp, char *szCurHdr) | 
| int | CompareOneOrigInchiToRevInChI (StrFromINChI *pStruct, INChI *pInChI[TAUT_NUM], int bMobileH, int iComponent, long num_inp, char *szCurHdr, COMPONENT_REM_PROTONS *nCurRemovedProtons, INCHI_MODE CompareInchiFlags[]) | 
| int | CompareTwoPairsOfInChI (INChI *pInChI1[TAUT_NUM], INChI *pInChI2[TAUT_NUM], int bMobileH, INCHI_MODE CompareInchiFlags[]) | 
| INCHI_MODE | CompareReversedINChI3 (INChI *i1, INChI *i2, INChI_Aux *a1, INChI_Aux *a2, int *err) | 
| INCHI_MODE | CompareReversedStereoINChI3 (INChI_Stereo *s1, INChI_Stereo *s2, ICR *picr) | 
| int | CompareAllOrigInchiToRevInChI (StrFromINChI *pStruct[INCHI_NUM][TAUT_NUM], InpInChI *pOneInput, int bReqNonTaut, long num_inp, char *szCurHdr) | 
| int | CompareAllDisconnectedOrigInchiToRevInChI (StrFromINChI *pStruct[INCHI_NUM][TAUT_NUM], InpInChI *pOneInput, int bHasSomeFixedH, long num_inp, char *szCurHdr) | 
| int | insertions_sort_AT_NUMB (AT_NUMB *base, int num) | 
| int | AddRemIsoProtonsInRestrStruct (struct tagINCHI_CLOCK *ic, struct tagCANON_GLOBALS *pCG, ICHICONST INPUT_PARMS *ip, STRUCT_DATA *sd, long num_inp, int bHasSomeFixedH, StrFromINChI *pStruct, int num_components, StrFromINChI *pStructR, int num_componentsR, NUM_H pProtonBalance[], NUM_H recmet_change_balance[]) | 
| int | OutputInChIOutOfStrFromINChI (struct tagINCHI_CLOCK *ic, struct tagCANON_GLOBALS *pCG, ICHICONST INPUT_PARMS *ip_inp, STRUCT_DATA *sd_inp, long num_inp, int bINChIOutputOptions, INCHI_IOSTREAM *pout, INCHI_IOSTREAM *plog, InpInChI *pOneInput, int bHasSomeFixedH, unsigned char save_opt_bits) | 
| int | MergeStructureComponents (ICHICONST INPUT_PARMS *ip, STRUCT_DATA *sd, long num_inp, char *szCurHdr, ICHICONST SRM *pSrm, int bReqNonTaut, StrFromINChI *pStruct[INCHI_NUM][TAUT_NUM], InpInChI *pOneInput) | 
| int | AddOneMsg (char *szMsg, int used_len, int tot_len, const char *szAddMsg, const char *szDelim) | 
| int | FillOutCompareMessage (char *szMsg, int nLenMsg, INCHI_MODE bits[]) | 
| void | clear_t_group_info (T_GROUP_INFO *ti) | 
| int | bInpInchiComponentExists (InpInChI *pOneInput, int iINCHI, int bMobileH, int k) | 
| int | bInpInchiComponentDeleted (InpInChI *pOneInput, int iInChI, int bMobileH, int k) | 
| int | bRevInchiComponentExists (StrFromINChI *pStruct, int iInChI, int bMobileH, int k) | 
| int | bRevInchiComponentDeleted (StrFromINChI *pStruct, int iInChI, int bMobileH, int k) | 
| int | DetectInpInchiCreationOptions (InpInChI *pOneInput, int *bHasReconnected, int *bHasMetal, int *bHasFixedH, int *sFlag, int *bTautFlag) | 
| int | DisplayStructureComponents (struct tagCANON_GLOBALS *pCG, ICHICONST INPUT_PARMS *ip, STRUCT_DATA *sd, long num_inp, char *szCurHdr, ICHICONST SRM *pSrm, int bReqNonTaut, StrFromINChI *pStruct[INCHI_NUM][TAUT_NUM], InpInChI *pOneInput) | 
| int | DisplayOneRestoredComponent (struct tagCANON_GLOBALS *pCG, StrFromINChI *pStruct, inp_ATOM *at, int iComponent, int nNumComponents, int bMobileH, const char *szCurHdr) | 
| int | DisplayAllRestoredComponents (struct tagCANON_GLOBALS *pCG, inp_ATOM *at, int num_at, const char *szCurHdr) | 
| int | CountStereoTypes (INChI *pInChI, int *num_known_SB, int *num_known_SC, int *num_unk_und_SB, int *num_unk_und_SC, int *num_SC_PIII, int *num_SC_AsIII) | 
| int | GetNumNeighborsFromInchi (INChI *pInChI, AT_NUMB nAtNumber) | 
| int | bIsUnsatCarbonInASmallRing (inp_ATOM *at, VAL_AT *pVA, int iat, BFS_Q *pbfsq, int min_ring_size) | 
| int | MakeProtonComponent (StrFromINChI *pStruct, int iComponent, int num_prot) | 
| void | FreeInpInChI (InpInChI *pOneInput) | 
Variables | |
| const int | cnListNumEl | 
| MY_CONST CN_LIST | cnList [] | 
| #define ALLOW_METAL_BOND_ZERO 1 /* 1=> allow zero flow (bobd order) to metals */ | 
| #define ATYPE_B 4 | 
| #define ATYPE_C 5 | 
| #define ATYPE_Cl 8 | 
| #define ATYPE_H 1 | 
| #define ATYPE_Mg 3 | 
| #define ATYPE_N 6 | 
| #define ATYPE_Na 2 | 
| #define ATYPE_O 7 | 
| #define BFS_Q_CLEAR (-1) | 
| #define BFS_Q_FREE (-2) | 
| #define BOND_MARK_STEREO 0x10 | 
| #define BOND_TYPE_STEREO (BOND_TYPE_SINGLE | BOND_MARK_STEREO) | 
| #define cn_bits_EN MAKE_CN_BITS(cn_bits_P | cn_bits_M, cn_bits_N, 0, 0) | 
| #define cn_bits_M 4 /* Minus 1: charge = -1 */ | 
| #define cn_bits_M_ MAKE_CN_BITS(cn_bits_M, 0, 0, 0) | 
| #define cn_bits_Me (-1) | 
| #define cn_bits_MN MAKE_CN_BITS(cn_bits_M, cn_bits_N, 0, 0) | 
| #define cn_bits_MNP MAKE_CN_BITS(cn_bits_M, cn_bits_N, cn_bits_P, 0) | 
| #define cn_bits_N 1 /* Neutral: charge = 0 */ | 
| #define cn_bits_N_ MAKE_CN_BITS(cn_bits_N, 0, 0, 0) | 
| #define cn_bits_NE MAKE_CN_BITS(cn_bits_N, cn_bits_P | cn_bits_M, 0, 0) | 
| #define cn_bits_NEN MAKE_CN_BITS(cn_bits_N, cn_bits_M | cn_bits_N, cn_bits_N, 0) | 
| #define cn_bits_NM MAKE_CN_BITS(cn_bits_N, cn_bits_M, 0, 0) | 
| #define cn_bits_NMN MAKE_CN_BITS(cn_bits_N, cn_bits_M, cn_bits_N, 0) | 
| #define cn_bits_NP MAKE_CN_BITS(cn_bits_N, cn_bits_P, 0, 0) | 
| #define cn_bits_NPN MAKE_CN_BITS(cn_bits_N, cn_bits_P, cn_bits_N, 0) | 
| #define cn_bits_NPNP MAKE_CN_BITS(cn_bits_N, cn_bits_P, cn_bits_N, cn_bits_P) | 
| #define cn_bits_P 2 /* Plus 1: charge = +1 */ | 
| #define cn_bits_P_ MAKE_CN_BITS(cn_bits_P, 0, 0, 0) | 
| #define cn_bits_PN MAKE_CN_BITS(cn_bits_P, cn_bits_N, 0, 0) | 
| #define cn_bits_PNM MAKE_CN_BITS(cn_bits_P, cn_bits_N, cn_bits_M, 0) | 
| #define cn_bits_PNP MAKE_CN_BITS(cn_bits_P, cn_bits_N, cn_bits_P, 0) | 
| #define cn_bits_PNPN MAKE_CN_BITS(cn_bits_P, cn_bits_N, cn_bits_P, cn_bits_N) | 
| #define cn_bits_shift 3 | 
| #define cnListIndexMe (17) /* index of {cnMe, cn_bits_Me,... } element of cnList[] */ | 
| #define EDGE_LIST_CLEAR (-1) | 
| #define EDGE_LIST_FREE (-2) | 
| #define EL_TYPE_C 0x0010 | 
| #define EL_TYPE_MASK 0x003f | 
| #define EL_TYPE_N 0x0004 | 
| #define EL_TYPE_O 0x0001 | 
| #define EL_TYPE_OSt 0x0100 /* terminal -OH, -O(-), -SH, -S(-), ... from fix_special_bonds(...) */ | 
| #define EL_TYPE_P 0x0008 | 
| #define EL_TYPE_PT 0x0200 /* may be a tautomeric endpoint */ | 
| #define EL_TYPE_S 0x0002 | 
| #define EL_TYPE_X 0x0020 /* any not metal */ | 
| #define EXTRACT_STRUCT_NUMBER 1 | 
| #define FIX_ADD_PROTON_FOR_ADP 0 /* not used */ | 
| #define FIX_STEREO_BOND_ORDER 0 /* 1=> fix stereobonds; treat metal as non-metal if it is stereogenic or has a stereobond */ | 
| #define I2A_FLAG_FIXEDH 0x0001 | 
| #define I2A_FLAG_RECMET 0x0002 | 
| #define ICHICONST const | 
| #define INC_EDGE_LIST_DEFAULT 64 | 
| #define INC_NUM_TCGROUPS 16 | 
| #define INI_NUM_TCGROUPS 16 | 
| #define INIT_METAL_BOND_FLOW 1 /* 1=> init flow=1, 0 => init. flow = 0 */ | 
| #define INIT_METAL_BOND_ZERO 0 /* 1=> initialize zero order bond to metals */ | 
| #define KEEP_METAL_EDGE_FLOW 0 /* counterexample: mdb0-1738.sdf.txt */ | 
| #define MAKE_CN_BITS | ( | A, | |
| B, | |||
| C, | |||
| D | |||
| ) | (( (( ((D) << cn_bits_shift | (C)) << cn_bits_shift ) | (B)) << cn_bits_shift ) | (A)) | 
| #define MAX_CN_VAL 3 | 
| #define MAX_DIFF_FIXH 256 | 
| #define MAX_DIFF_MOBH 256 | 
| #define MAX_NUM_CN_BITS 4 | 
| #define METAL_FREE_CHARGE_VAL 1 /* 1=> allow free changing charges/valences of metals; initial bond order=0 or 1 */ | 
| #define MOVE_CHARGES_FROM_HETEREO_TO_METAL 0 /* disabled */ | 
| #define MY_CONST const | 
| #define NO_VALUE_INT 9999 | 
| #define NOT_READ_INT 9998 /* has not been read yet */ | 
| #define RESET_EDGE_FORBIDDEN_MASK 0 | 
| #define RI_ERR_ALLOC (-1) | 
| #define RI_ERR_EOF (0) | 
| #define RI_ERR_EOL (-4) | 
| #define RI_ERR_MISMATCH (-9) | 
| #define RI_ERR_PROGR (-3) | 
| #define RI_ERR_SYNTAX (-2) | 
| #define TREAT_ATOM_AS_METAL 99 | 
| #define VAL_BASE ( 1) | 
| #define VAL_LENGTH (VAL_NEUTR_ORDER+1) | 
| #define VAL_MAX_CHARGE ( 1) | 
| #define VAL_MIN_CHARGE (-1) | 
| #define VAL_NEGAT_CHARGE 0 | 
| #define VAL_NEUTR_CHARGE 1 | 
| #define VAL_NEUTR_ORDER (VAL_MAX_CHARGE-VAL_MIN_CHARGE+1) | 
| #define VAL_NUMBER ( 2) | 
| #define VAL_POSIT_CHARGE 2 | 
| #define VALUE_OCTET 8 /* number of electrons in a full shell */ | 
| typedef struct tagAllTCGroups ALL_TC_GROUPS | 
| typedef struct tagBfsQueue BFS_Q | 
| typedef struct tagChargeNodes C_NODE | 
| typedef struct tagChargeChangeCandidate CC_CAND | 
| typedef struct tagChargeValence CHARGE_VAL | 
| typedef struct tagAtomsCmpTwoFixedH CMP2FHATOMS | 
| typedef struct tagStructCmpTwoFixedH CMP2FHINCHI | 
| typedef struct tagAtomsCmpTwoMobileH CMP2MHATOMS | 
| typedef struct tagStructCmpTwoMobileH CMP2MHINCHI | 
| typedef struct tagChargeNodeList CN_LIST | 
| typedef struct tagOneComponentRemovedAndExchangeableH COMPONENT_REM_PROTONS | 
| typedef struct tagEdgeCapFlow ECF | 
| typedef struct tagEdgeList EDGE_LIST | 
| typedef struct tagInpAtomAddParities inp_ATOM_STEREO | 
| typedef struct tagInputInChI InpInChI | 
| typedef struct tagRemovedAndExchangeableH REM_PROTONS | 
| typedef struct tagReversedInChI REV_INCHI | 
| typedef struct tagStructRestoreMode SRM | 
| typedef struct tagStructFromInChI StrFromINChI | 
| typedef struct tagTCGroup TC_GROUP | 
| typedef enum tagTCGroupTypes TCGR_TYPE | 
| typedef enum tagTgRestoreFlags TGRF | 
| typedef struct tagAtomIonPrperies VAL_AT | 
| typedef struct tagVertCapFlow VCF | 
| typedef struct tagXYZCoord XYZ_COORD | 
| enum tagTCGroupTypes | 
| enum tagTgRestoreFlags | 
| int AddCGroups2TCGBnStruct | ( | BN_STRUCT * | pBNS, | 
| StrFromINChI * | pStruct, | ||
| VAL_AT * | pVA, | ||
| ALL_TC_GROUPS * | pTCGroups, | ||
| int | nMaxAddEdges | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int AddEdgeFlow | ( | int | edge_cap, | 
| int | edge_flow, | ||
| BNS_EDGE * | e01, | ||
| BNS_VERTEX * | pv0, | ||
| BNS_VERTEX * | pv1, | ||
| int * | tot_st_cap, | ||
| int * | tot_st_flow | ||
| ) | 
 Here is the caller graph for this function:| int AddExplicitDeletedH | ( | inp_ATOM * | at, | 
| int | jv, | ||
| int | num_at, | ||
| int * | iDeletedH, | ||
| int * | iH, | ||
| int | nNumDeletedH, | ||
| int | bTwoStereo | ||
| ) | 
 Here is the caller graph for this function:| int AddOneMsg | ( | char * | szMsg, | 
| int | used_len, | ||
| int | tot_len, | ||
| const char * | szAddMsg, | ||
| const char * | szDelim | ||
| ) | 
 Here is the caller graph for this function:| int AddProtonAndIsoHBalanceToMobHStruct | ( | struct tagINCHI_CLOCK * | ic, | 
| struct tagCANON_GLOBALS * | pCG, | ||
| ICHICONST INPUT_PARMS * | ip, | ||
| STRUCT_DATA * | sd, | ||
| long | num_inp, | ||
| int | bHasSomeFixedH, | ||
| char * | szCurHdr, | ||
| StrFromINChI * | pStruct[INCHI_NUM][TAUT_NUM], | ||
| InpInChI * | pOneInput | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int AddRadicalToMetal | ( | int * | tot_st_cap, | 
| int * | tot_st_flow, | ||
| ICHICONST SRM * | pSrm, | ||
| BN_STRUCT * | pBNS, | ||
| ALL_TC_GROUPS * | pTCGroups | ||
| ) | 
 Here is the caller graph for this function:| int AddRemIsoProtonsInRestrStruct | ( | struct tagINCHI_CLOCK * | ic, | 
| struct tagCANON_GLOBALS * | pCG, | ||
| ICHICONST INPUT_PARMS * | ip, | ||
| STRUCT_DATA * | sd, | ||
| long | num_inp, | ||
| int | bHasSomeFixedH, | ||
| StrFromINChI * | pStruct, | ||
| int | num_components, | ||
| StrFromINChI * | pStructR, | ||
| int | num_componentsR, | ||
| NUM_H | pProtonBalance[], | ||
| NUM_H | recmet_change_balance[] | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int AddRemProtonsInRestrStruct | ( | struct tagINCHI_CLOCK * | ic, | 
| struct tagCANON_GLOBALS * | pCG, | ||
| ICHICONST INPUT_PARMS * | ip, | ||
| STRUCT_DATA * | sd, | ||
| long | num_inp, | ||
| int | bHasSomeFixedH, | ||
| StrFromINChI * | pStruct, | ||
| int | num_components, | ||
| StrFromINChI * | pStructR, | ||
| int | num_componentsR, | ||
| NUM_H * | pProtonBalance, | ||
| int * | recmet_change_balance | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| void AddStCapFlow | ( | BNS_VERTEX * | vert_ficpoint, | 
| int * | tot_st_flow, | ||
| int * | tot_st_cap, | ||
| int | cap, | ||
| int | flow | ||
| ) | 
 Here is the caller graph for this function:| int AddTGroups2TCGBnStruct | ( | BN_STRUCT * | pBNS, | 
| StrFromINChI * | pStruct, | ||
| VAL_AT * | pVA, | ||
| ALL_TC_GROUPS * | pTCGroups, | ||
| int | nMaxAddEdges | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int AddToEdgeList | ( | EDGE_LIST * | pEdges, | 
| int | iedge, | ||
| int | nAddLen | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int AdjustTgroupsToForbiddenEdges2 | ( | BN_STRUCT * | pBNS, | 
| inp_ATOM * | at, | ||
| VAL_AT * | pVA, | ||
| int | num_atoms, | ||
| int | forbidden_mask | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int AllInchiToStructure | ( | struct tagINCHI_CLOCK * | ic, | 
| struct tagCANON_GLOBALS * | pCG, | ||
| ICHICONST INPUT_PARMS * | ip, | ||
| STRUCT_DATA * | sd, | ||
| long | num_inp, | ||
| char * | szCurHdr, | ||
| ICHICONST SRM * | pSrm, | ||
| int | bReqNonTaut, | ||
| StrFromINChI * | pStruct[INCHI_NUM][TAUT_NUM], | ||
| InpInChI * | pOneInput | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| BN_STRUCT * AllocateAndInitTCGBnStruct | ( | StrFromINChI * | pStruct, | 
| VAL_AT * | pVA, | ||
| ALL_TC_GROUPS * | pTCGroups, | ||
| int | nMaxAddAtoms, | ||
| int | nMaxAddEdges, | ||
| int | max_altp, | ||
| int * | pNum_changed_bonds | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int AllocBfsQueue | ( | BFS_Q * | pQ, | 
| int | num_at, | ||
| int | min_ring_size | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int AllocEdgeList | ( | EDGE_LIST * | pEdges, | 
| int | nLen | ||
| ) | 
 Here is the caller graph for this function:| int AtomStcapStflow | ( | inp_ATOM * | atom, | 
| VAL_AT * | pVA, | ||
| ICHICONST SRM * | pSrm, | ||
| int | iat, | ||
| int * | pnStcap, | ||
| int * | pnStflow, | ||
| EdgeFlow * | pnMGroupEdgeCap, | ||
| EdgeFlow * | pnMGroupEdgeFlow | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:
 Here is the call graph for this function:
 Here is the caller graph for this function:| int bHas_N_V | ( | inp_ATOM * | at2, | 
| int | num_atoms | ||
| ) | 
 Here is the caller graph for this function:| int bInpInchiComponentDeleted | ( | InpInChI * | pOneInput, | 
| int | iInChI, | ||
| int | bMobileH, | ||
| int | k | ||
| ) | 
 Here is the caller graph for this function:| int bInpInchiComponentExists | ( | InpInChI * | pOneInput, | 
| int | iINCHI, | ||
| int | bMobileH, | ||
| int | k | ||
| ) | 
 Here is the caller graph for this function:| int bIsUnsatCarbonInASmallRing | ( | inp_ATOM * | at, | 
| VAL_AT * | pVA, | ||
| int | iat, | ||
| BFS_Q * | pbfsq, | ||
| int | min_ring_size | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:
 Here is the caller graph for this function:| int BondFlowMaxcapMinorder | ( | inp_ATOM * | atom, | 
| VAL_AT * | pVA, | ||
| ICHICONST SRM * | pSrm, | ||
| int | iat, | ||
| int | ineigh, | ||
| int * | pnMaxcap, | ||
| int * | pnMinorder, | ||
| int * | pbNeedsFlower | ||
| ) | 
 Here is the caller graph for this function:| int bRevInchiComponentDeleted | ( | StrFromINChI * | pStruct, | 
| int | iInChI, | ||
| int | bMobileH, | ||
| int | k | ||
| ) | 
pStruct->at2 ||
 Here is the caller graph for this function:| int bRevInchiComponentExists | ( | StrFromINChI * | pStruct, | 
| int | iInChI, | ||
| int | bMobileH, | ||
| int | k | ||
| ) | 
pStruct->at2 ||
 Here is the caller graph for this function:| int CheckAndRefixStereobonds | ( | BN_STRUCT * | pBNS, | 
| BN_DATA * | pBD, | ||
| StrFromINChI * | pStruct, | ||
| inp_ATOM * | at, | ||
| inp_ATOM * | at2, | ||
| VAL_AT * | pVA, | ||
| ALL_TC_GROUPS * | pTCGroups, | ||
| int * | pnNumRunBNS, | ||
| int * | pnTotalDelta, | ||
| int | forbidden_edge_mask | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int CheckBnsConsistency | ( | StrFromINChI * | pStruct, | 
| BN_STRUCT * | pBNS, | ||
| VAL_AT * | pVA, | ||
| ALL_TC_GROUPS * | pTCGroups, | ||
| int | bNoRad | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int clean_charge_val | ( | struct tagCANON_GLOBALS * | pCG, | 
| CHARGE_VAL * | pChargeVal, | ||
| int | len, | ||
| inp_ATOM * | atom, | ||
| VAL_AT * | pVA, | ||
| int | iat, | ||
| int | bIsMetal, | ||
| int | bMobileH, | ||
| AT_NUMB * | endpoint | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| void clear_t_group_info | ( | T_GROUP_INFO * | ti | ) | 
 Here is the caller graph for this function:| void ClearEndpts | ( | inp_ATOM * | at, | 
| int | num_at | ||
| ) | 
 Here is the caller graph for this function:| int cmp_charge_val | ( | const void * | a1, | 
| const void * | a2, | ||
| void * | p | ||
| ) | 
 Here is the caller graph for this function:| int comp_cc_cand | ( | const void * | a1, | 
| const void * | a2 | ||
| ) | 
 Here is the caller graph for this function:| int CompareAllDisconnectedOrigInchiToRevInChI | ( | StrFromINChI * | pStruct[INCHI_NUM][TAUT_NUM], | 
| InpInChI * | pOneInput, | ||
| int | bHasSomeFixedH, | ||
| long | num_inp, | ||
| char * | szCurHdr | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int CompareAllOrigInchiToRevInChI | ( | StrFromINChI * | pStruct[INCHI_NUM][TAUT_NUM], | 
| InpInChI * | pOneInput, | ||
| int | bReqNonTaut, | ||
| long | num_inp, | ||
| char * | szCurHdr | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int CompareOneOrigInchiToRevInChI | ( | StrFromINChI * | pStruct, | 
| INChI * | pInChI[TAUT_NUM], | ||
| int | bMobileH, | ||
| int | iComponent, | ||
| long | num_inp, | ||
| char * | szCurHdr, | ||
| COMPONENT_REM_PROTONS * | nCurRemovedProtons, | ||
| INCHI_MODE | CompareInchiFlags[] | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| INCHI_MODE CompareReversedINChI3 | ( | INChI * | i1, | 
| INChI * | i2, | ||
| INChI_Aux * | a1, | ||
| INChI_Aux * | a2, | ||
| int * | err | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| INCHI_MODE CompareReversedStereoINChI3 | ( | INChI_Stereo * | s1, | 
| INChI_Stereo * | s2, | ||
| ICR * | picr | ||
| ) | 
 Here is the caller graph for this function:| int CompareTwoPairsOfInChI | ( | INChI * | pInChI1[TAUT_NUM], | 
| INChI * | pInChI2[TAUT_NUM], | ||
| int | bMobileH, | ||
| INCHI_MODE | CompareInchiFlags[] | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int ConnectDisconnectedH | ( | inp_ATOM * | at, | 
| int | num_atoms, | ||
| int | num_deleted_H | ||
| ) | 
 Here is the caller graph for this function:| int ConnectMetalFlower | ( | int * | pcur_num_vertices, | 
| int * | pcur_num_edges, | ||
| int * | tot_st_cap, | ||
| int * | tot_st_flow, | ||
| ICHICONST SRM * | pSrm, | ||
| BN_STRUCT * | pBNS, | ||
| ALL_TC_GROUPS * | pTCGroups | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int ConnectSuperCGroup | ( | int | nTCG_Plus, | 
| int | nAddGroups[], | ||
| int | num_add, | ||
| int * | pcur_num_vertices, | ||
| int * | pcur_num_edges, | ||
| int * | tot_st_cap, | ||
| int * | tot_st_flow, | ||
| BN_STRUCT * | pBNS, | ||
| ALL_TC_GROUPS * | pTCGroups | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int ConnectTwoVertices | ( | BNS_VERTEX * | p1, | 
| BNS_VERTEX * | p2, | ||
| BNS_EDGE * | e, | ||
| BN_STRUCT * | pBNS, | ||
| int | bClearEdge | ||
| ) | 
 Here is the caller graph for this function:| int Convert_SIV_to_SVI | ( | BN_STRUCT * | pBNS, | 
| BN_DATA * | pBD, | ||
| StrFromINChI * | pStruct, | ||
| inp_ATOM * | at, | ||
| inp_ATOM * | at2, | ||
| VAL_AT * | pVA, | ||
| ALL_TC_GROUPS * | pTCGroups, | ||
| int * | pnNumRunBNS, | ||
| int * | pnTotalDelta, | ||
| int | forbidden_edge_mask | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| void CopyAt2St | ( | inp_ATOM * | at, | 
| inp_ATOM_STEREO * | st, | ||
| int | num_atoms | ||
| ) | 
 Here is the caller graph for this function:| int CopyBnsToAtom | ( | StrFromINChI * | pStruct, | 
| BN_STRUCT * | pBNS, | ||
| VAL_AT * | pVA, | ||
| ALL_TC_GROUPS * | pTCGroups, | ||
| int | bAllowZeroBondOrder | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| void CopySt2At | ( | inp_ATOM * | at, | 
| inp_ATOM_STEREO * | st, | ||
| int | num_atoms | ||
| ) | 
 Here is the caller graph for this function:| int CountStereoTypes | ( | INChI * | pInChI, | 
| int * | num_known_SB, | ||
| int * | num_known_SC, | ||
| int * | num_unk_und_SB, | ||
| int * | num_unk_und_SC, | ||
| int * | num_SC_PIII, | ||
| int * | num_SC_AsIII | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int DetectInpInchiCreationOptions | ( | InpInChI * | pOneInput, | 
| int * | bHasReconnected, | ||
| int * | bHasMetal, | ||
| int * | bHasFixedH, | ||
| int * | sFlag, | ||
| int * | bTautFlag | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int DisconnectedConnectedH | ( | inp_ATOM * | at, | 
| int | num_atoms, | ||
| int | num_deleted_H | ||
| ) | 
 Here is the caller graph for this function:| int DisplayAllRestoredComponents | ( | struct tagCANON_GLOBALS * | pCG, | 
| inp_ATOM * | at, | ||
| int | num_at, | ||
| const char * | szCurHdr | ||
| ) | 
| int DisplayOneRestoredComponent | ( | struct tagCANON_GLOBALS * | pCG, | 
| StrFromINChI * | pStruct, | ||
| inp_ATOM * | at, | ||
| int | iComponent, | ||
| int | nNumComponents, | ||
| int | bMobileH, | ||
| const char * | szCurHdr | ||
| ) | 
| int DisplayRestoredComponent | ( | struct tagCANON_GLOBALS * | pCG, | 
| StrFromINChI * | pStruct, | ||
| int | iComponent, | ||
| int | iAtNoOffset, | ||
| INChI * | pInChI, | ||
| const char * | szCurHdr | ||
| ) | 
 Here is the caller graph for this function:| int DisplayStructureComponents | ( | struct tagCANON_GLOBALS * | pCG, | 
| ICHICONST INPUT_PARMS * | ip, | ||
| STRUCT_DATA * | sd, | ||
| long | num_inp, | ||
| char * | szCurHdr, | ||
| ICHICONST SRM * | pSrm, | ||
| int | bReqNonTaut, | ||
| StrFromINChI * | pStruct[INCHI_NUM][TAUT_NUM], | ||
| InpInChI * | pOneInput | ||
| ) | 
 Here is the caller graph for this function:| int EliminateChargeSeparationOnHeteroatoms | ( | BN_STRUCT * | pBNS, | 
| BN_DATA * | pBD, | ||
| StrFromINChI * | pStruct, | ||
| inp_ATOM * | at, | ||
| inp_ATOM * | at2, | ||
| VAL_AT * | pVA, | ||
| ALL_TC_GROUPS * | pTCGroups, | ||
| int * | pnNumRunBNS, | ||
| int * | pnTotalDelta, | ||
| int | forbidden_edge_mask, | ||
| int | forbidden_stereo_edge_mask | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int EliminateNitrogen5Val3Bonds | ( | BN_STRUCT * | pBNS, | 
| BN_DATA * | pBD, | ||
| StrFromINChI * | pStruct, | ||
| inp_ATOM * | at, | ||
| inp_ATOM * | at2, | ||
| VAL_AT * | pVA, | ||
| ALL_TC_GROUPS * | pTCGroups, | ||
| int * | pnNumRunBNS, | ||
| int * | pnTotalDelta, | ||
| int | forbidden_edge_mask | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int EvaluateChargeChanges | ( | BN_STRUCT * | pBNS, | 
| VAL_AT * | pVA, | ||
| int * | pnDeltaH, | ||
| int * | pnDeltaCharge, | ||
| int * | pnNumVisitedAtoms | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int FillOutCMP2FHINCHI | ( | StrFromINChI * | pStruct, | 
| inp_ATOM * | at2, | ||
| VAL_AT * | pVA, | ||
| INChI * | pInChI[], | ||
| CMP2FHINCHI * | pc2i | ||
| ) | 
 Here is the caller graph for this function:| int FillOutCMP2MHINCHI | ( | StrFromINChI * | pStruct, | 
| ALL_TC_GROUPS * | pTCGroups, | ||
| inp_ATOM * | at2, | ||
| VAL_AT * | pVA, | ||
| INChI * | pInChI[], | ||
| CMP2MHINCHI * | pc2i | ||
| ) | 
 Here is the caller graph for this function:| int FillOutCompareMessage | ( | char * | szMsg, | 
| int | nLenMsg, | ||
| INCHI_MODE | bits[] | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int FillOutExtraFixedHDataInChI | ( | StrFromINChI * | pStruct, | 
| INChI * | pInChI[] | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int FillOutExtraFixedHDataRestr | ( | StrFromINChI * | pStruct | ) | 
 Here is the caller graph for this function:
 Here is the caller graph for this function:| int FindInEdgeList | ( | EDGE_LIST * | pEdges, | 
| int | iedge | ||
| ) | 
 Here is the caller graph for this function:| int FixAddProtonForADP | ( | BN_STRUCT * | pBNS, | 
| BN_DATA * | pBD, | ||
| StrFromINChI * | pStruct, | ||
| inp_ATOM * | at, | ||
| inp_ATOM * | at2, | ||
| inp_ATOM * | atf, | ||
| VAL_AT * | pVA, | ||
| ALL_TC_GROUPS * | pTCGroups, | ||
| ICR * | picr, | ||
| int * | pnNumRunBNS, | ||
| int * | pnTotalDelta, | ||
| int | forbidden_edge_mask | ||
| ) | 
 Here is the caller graph for this function:| int FixFixedHRestoredStructure | ( | struct tagCANON_GLOBALS * | pCG, | 
| struct tagINCHI_CLOCK * | ic, | ||
| ICHICONST INPUT_PARMS * | ip, | ||
| STRUCT_DATA * | sd, | ||
| BN_STRUCT * | pBNS, | ||
| BN_DATA * | pBD, | ||
| StrFromINChI * | pStruct, | ||
| inp_ATOM * | at, | ||
| inp_ATOM * | at2, | ||
| inp_ATOM * | at3, | ||
| VAL_AT * | pVA, | ||
| ALL_TC_GROUPS * | pTCGroups, | ||
| T_GROUP_INFO ** | ti, | ||
| inp_ATOM ** | at_norm, | ||
| inp_ATOM ** | at_prep, | ||
| INChI * | pInChI[], | ||
| long | num_inp, | ||
| int | bHasSomeFixedH, | ||
| int * | pnNumRunBNS, | ||
| int * | pnTotalDelta, | ||
| int | forbidden_edge_mask, | ||
| int | forbidden_stereo_edge_mask | ||
| ) | 
pc2i->c2at[i].endptInChI &&
at2[iat].num_H &&
at2[iat].num_H &&
at2[iat].num_H &&
(nMobHInChI && nMobHInChI[i] ) &&
(pStruct->fixed_H && pStruct->fixed_H[i]) &&
(nMobHInChI && nMobHInChI[i] ) &&
pc2i->c2at[i].endptRevrs &&
pStruct->endpoint[i] &&
(pStruct->fixed_H && pStruct->fixed_H[i]) &&
pc2i->c2at[i].endptInChI &&
(nMobHInChI && nMobHInChI[i] ) &&
(nMobHInChI && nMobHInChI[i] ) &&
 Here is the call graph for this function:
 Here is the caller graph for this function:| int FixLessHydrogenInFormula | ( | BN_STRUCT * | pBNS, | 
| BN_DATA * | pBD, | ||
| StrFromINChI * | pStruct, | ||
| inp_ATOM * | at, | ||
| inp_ATOM * | at2, | ||
| inp_ATOM * | atf, | ||
| VAL_AT * | pVA, | ||
| ALL_TC_GROUPS * | pTCGroups, | ||
| int * | pnNumRunBNS, | ||
| int * | pnTotalDelta, | ||
| int | forbidden_edge_mask | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int FixMetal_Nminus_Ominus | ( | BN_STRUCT * | pBNS, | 
| BN_DATA * | pBD, | ||
| StrFromINChI * | pStruct, | ||
| inp_ATOM * | at, | ||
| inp_ATOM * | at2, | ||
| VAL_AT * | pVA, | ||
| ALL_TC_GROUPS * | pTCGroups, | ||
| int * | pnNumRunBNS, | ||
| int * | pnTotalDelta, | ||
| int | forbidden_edge_mask | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int FixMobileHRestoredStructure | ( | struct tagCANON_GLOBALS * | pCG, | 
| struct tagINCHI_CLOCK * | ic, | ||
| ICHICONST INPUT_PARMS * | ip, | ||
| STRUCT_DATA * | sd, | ||
| BN_STRUCT * | pBNS, | ||
| BN_DATA * | pBD, | ||
| StrFromINChI * | pStruct, | ||
| inp_ATOM * | at, | ||
| inp_ATOM * | at2, | ||
| inp_ATOM * | at3, | ||
| VAL_AT * | pVA, | ||
| ALL_TC_GROUPS * | pTCGroups, | ||
| T_GROUP_INFO ** | ppt_group_info, | ||
| inp_ATOM ** | ppat_norm, | ||
| inp_ATOM ** | ppat_prep, | ||
| INChI * | pInChI[], | ||
| long | num_inp, | ||
| int | bHasSomeFixedH, | ||
| int * | pnNumRunBNS, | ||
| int * | pnTotalDelta, | ||
| int | forbidden_edge_mask, | ||
| int | forbidden_stereo_edge_mask | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int FixMoreHydrogenInFormula | ( | BN_STRUCT * | pBNS, | 
| BN_DATA * | pBD, | ||
| StrFromINChI * | pStruct, | ||
| inp_ATOM * | at, | ||
| inp_ATOM * | at2, | ||
| inp_ATOM * | atf, | ||
| VAL_AT * | pVA, | ||
| ALL_TC_GROUPS * | pTCGroups, | ||
| int * | pnNumRunBNS, | ||
| int * | pnTotalDelta, | ||
| int | forbidden_edge_mask | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int FixRemoveExtraTautEndpoints | ( | BN_STRUCT * | pBNS, | 
| BN_DATA * | pBD, | ||
| StrFromINChI * | pStruct, | ||
| inp_ATOM * | at, | ||
| inp_ATOM * | at2, | ||
| inp_ATOM * | atf, | ||
| inp_ATOM * | atn, | ||
| VAL_AT * | pVA, | ||
| ALL_TC_GROUPS * | pTCGroups, | ||
| ICR * | picr, | ||
| int * | pnNumRunBNS, | ||
| int * | pnTotalDelta, | ||
| int | forbidden_edge_mask | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int FixRestoredStructureStereo | ( | struct tagCANON_GLOBALS * | pCG, | 
| struct tagINCHI_CLOCK * | ic, | ||
| INCHI_MODE | cmpInChI, | ||
| ICR * | icr, | ||
| INCHI_MODE | cmpInChI2, | ||
| ICR * | icr2, | ||
| ICHICONST INPUT_PARMS * | ip, | ||
| STRUCT_DATA * | sd, | ||
| BN_STRUCT * | pBNS, | ||
| BN_DATA * | pBD, | ||
| StrFromINChI * | pStruct, | ||
| inp_ATOM * | at, | ||
| inp_ATOM * | at2, | ||
| inp_ATOM * | at3, | ||
| VAL_AT * | pVA, | ||
| ALL_TC_GROUPS * | pTCGroups, | ||
| T_GROUP_INFO ** | ppt_group_info, | ||
| inp_ATOM ** | ppat_norm, | ||
| inp_ATOM ** | ppat_prep, | ||
| INChI * | pInChI[], | ||
| long | num_inp, | ||
| int * | pnNumRunBNS, | ||
| int * | pnTotalDelta, | ||
| int | forbidden_edge_mask, | ||
| int | forbidden_stereo_edge_mask | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int ForbidCarbonChargeEdges | ( | BN_STRUCT * | pBNS, | 
| ALL_TC_GROUPS * | pTCGroups, | ||
| EDGE_LIST * | pCarbonChargeEdges, | ||
| int | forbidden_edge_mask | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int ForbidMetalCarbonEdges | ( | BN_STRUCT * | pBNS, | 
| inp_ATOM * | at, | ||
| int | num_at, | ||
| VAL_AT * | pVA, | ||
| ALL_TC_GROUPS * | pTCGroups, | ||
| EDGE_LIST * | pMetalCarbonEdges, | ||
| int | forbidden_edge_mask | ||
| ) | 
 Here is the caller graph for this function:| int ForbidNintrogenPlus2BondsInSmallRings | ( | BN_STRUCT * | pBNS, | 
| inp_ATOM * | at, | ||
| int | num_at, | ||
| VAL_AT * | pVA, | ||
| int | min_ring_size, | ||
| ALL_TC_GROUPS * | pTCGroups, | ||
| EDGE_LIST * | pNplus2BondsEdges, | ||
| int | forbidden_edge_mask | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| void FreeInpInChI | ( | InpInChI * | pOneInput | ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| void FreeInputInChI2Struct | ( | InpInChI * | pOneInput | ) | 
| void FreeStrFromINChI | ( | StrFromINChI * | pStruct[INCHI_NUM][TAUT_NUM], | 
| int | nNumComponents[INCHI_NUM][TAUT_NUM] | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int get_bonds_valences | ( | int | nPeriodicNum, | 
| int | bonds_valence, | ||
| int | num_H, | ||
| VAL_AT * | pVA | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int get_sp_element_type | ( | int | nPeriodicNumber, | 
| int * | nRow | ||
| ) | 
 Here is the caller graph for this function:| int GetAtomRestoreInfo | ( | struct tagCANON_GLOBALS * | pCG, | 
| inp_ATOM * | atom, | ||
| int | iat, | ||
| VAL_AT * | pVArray, | ||
| ICHICONST SRM * | pSrm, | ||
| int | bMobileH, | ||
| AT_NUMB * | endpoint | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:
 Here is the caller graph for this function:
 Here is the caller graph for this function:| int GetPlusMinusVertex | ( | BN_STRUCT * | pBNS, | 
| ALL_TC_GROUPS * | pTCGroups, | ||
| int | bCheckForbiddenPlus, | ||
| int | bCheckForbiddenMinus | ||
| ) | 
 Here is the caller graph for this function:| int GetTgroupInfoFromInChI | ( | T_GROUP_INFO * | ti, | 
| inp_ATOM * | at, | ||
| AT_NUMB * | endpoint, | ||
| INChI * | pInChI | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int InChI2Atom | ( | struct tagINCHI_CLOCK * | ic, | 
| struct tagCANON_GLOBALS * | pCG, | ||
| ICHICONST INPUT_PARMS * | ip, | ||
| STRUCT_DATA * | sd, | ||
| const char * | szCurHdr, | ||
| long | num_inp, | ||
| StrFromINChI * | pStruct, | ||
| int | iComponent, | ||
| int | iAtNoOffset, | ||
| int | bI2A_Flag, | ||
| int | bHasSomeFixedH, | ||
| InpInChI * | pOneInput | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int IncrementZeroOrderBondsToHeteroat | ( | BN_STRUCT * | pBNS, | 
| BN_DATA * | pBD, | ||
| StrFromINChI * | pStruct, | ||
| inp_ATOM * | at, | ||
| inp_ATOM * | at2, | ||
| VAL_AT * | pVA, | ||
| ALL_TC_GROUPS * | pTCGroups, | ||
| int * | pnNumRunBNS, | ||
| int * | pnTotalDelta, | ||
| int | forbidden_edge_mask | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| void IncrZeroBonds | ( | inp_ATOM * | at, | 
| int | num_at, | ||
| int | iComponent | ||
| ) | 
 Here is the caller graph for this function:| void IncrZeroBondsAndClearEndpts | ( | inp_ATOM * | at, | 
| int | num_at, | ||
| int | iComponent | ||
| ) | 
 Here is the caller graph for this function:| int insertions_sort_AT_NUMB | ( | AT_NUMB * | base, | 
| int | num | ||
| ) | 
 Here is the caller graph for this function:| int MakeInChIOutOfStrFromINChI2 | ( | struct tagINCHI_CLOCK * | ic, | 
| struct tagCANON_GLOBALS * | pCG, | ||
| ICHICONST INPUT_PARMS * | ip_inp, | ||
| STRUCT_DATA * | sd_inp, | ||
| StrFromINChI * | pStruct, | ||
| int | iComponent, | ||
| int | iAtNoOffset, | ||
| long | num_inp | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int MakeOneInChIOutOfStrFromINChI | ( | struct tagCANON_GLOBALS * | pCG, | 
| struct tagINCHI_CLOCK * | ic, | ||
| ICHICONST INPUT_PARMS * | ip, | ||
| STRUCT_DATA * | sd, | ||
| StrFromINChI * | pStruct, | ||
| inp_ATOM * | at2, | ||
| inp_ATOM * | at3, | ||
| ALL_TC_GROUPS * | pTCGroups | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int MakeOneInChIOutOfStrFromINChI2 | ( | struct tagCANON_GLOBALS * | pCG, | 
| struct tagINCHI_CLOCK * | ic, | ||
| ICHICONST INPUT_PARMS * | ip, | ||
| STRUCT_DATA * | sd, | ||
| BN_STRUCT * | pBNS, | ||
| StrFromINChI * | pStruct, | ||
| inp_ATOM * | at, | ||
| inp_ATOM * | at2, | ||
| inp_ATOM * | at3, | ||
| VAL_AT * | pVA, | ||
| ALL_TC_GROUPS * | pTCGroups, | ||
| T_GROUP_INFO ** | t_group_info, | ||
| inp_ATOM ** | at_norm, | ||
| inp_ATOM ** | at_prep | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int MakeProtonComponent | ( | StrFromINChI * | pStruct, | 
| int | iComponent, | ||
| int | num_prot | ||
| ) | 
 Here is the caller graph for this function:| int MakeSingleBondsMetal2ChargedHeteroat | ( | BN_STRUCT * | pBNS, | 
| BN_DATA * | pBD, | ||
| StrFromINChI * | pStruct, | ||
| inp_ATOM * | at, | ||
| inp_ATOM * | at2, | ||
| VAL_AT * | pVA, | ||
| ALL_TC_GROUPS * | pTCGroups, | ||
| int * | pnNumRunBNS, | ||
| int * | pnTotalDelta, | ||
| int | forbidden_edge_mask | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int MarkDisconectedIdenticalToReconnected | ( | InpInChI * | pOneInput | ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int MergeStructureComponents | ( | ICHICONST INPUT_PARMS * | ip, | 
| STRUCT_DATA * | sd, | ||
| long | num_inp, | ||
| char * | szCurHdr, | ||
| ICHICONST SRM * | pSrm, | ||
| int | bReqNonTaut, | ||
| StrFromINChI * | pStruct[INCHI_NUM][TAUT_NUM], | ||
| InpInChI * | pOneInput | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int MoveChargeFromHeteroatomsToMetals | ( | BN_STRUCT * | pBNS, | 
| BN_DATA * | pBD, | ||
| StrFromINChI * | pStruct, | ||
| inp_ATOM * | at, | ||
| inp_ATOM * | at2, | ||
| VAL_AT * | pVA, | ||
| ALL_TC_GROUPS * | pTCGroups, | ||
| int * | pnNumRunBNS, | ||
| int * | pnTotalDelta, | ||
| int | forbidden_edge_mask | ||
| ) | 
 Here is the caller graph for this function:| int MoveChargeToMakeCenerpoints | ( | BN_STRUCT * | pBNS, | 
| BN_DATA * | pBD, | ||
| StrFromINChI * | pStruct, | ||
| inp_ATOM * | at, | ||
| inp_ATOM * | at2, | ||
| VAL_AT * | pVA, | ||
| ALL_TC_GROUPS * | pTCGroups, | ||
| int * | pnNumRunBNS, | ||
| int * | pnTotalDelta, | ||
| int | forbidden_edge_mask | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int MoveChargeToRemoveCenerpoints | ( | BN_STRUCT * | pBNS, | 
| BN_DATA * | pBD, | ||
| StrFromINChI * | pStruct, | ||
| inp_ATOM * | at, | ||
| inp_ATOM * | at2, | ||
| VAL_AT * | pVA, | ||
| ALL_TC_GROUPS * | pTCGroups, | ||
| int * | pnNumRunBNS, | ||
| int * | pnTotalDelta, | ||
| int | forbidden_edge_mask | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int MoveMobileHToAvoidFixedBonds | ( | BN_STRUCT * | pBNS, | 
| BN_DATA * | pBD, | ||
| StrFromINChI * | pStruct, | ||
| inp_ATOM * | at, | ||
| inp_ATOM * | at2, | ||
| VAL_AT * | pVA, | ||
| ALL_TC_GROUPS * | pTCGroups, | ||
| int * | pnNumRunBNS, | ||
| int * | pnTotalDelta, | ||
| int | forbidden_edge_mask | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int MovePlusFromS2DiaminoCarbon | ( | BN_STRUCT * | pBNS, | 
| BN_DATA * | pBD, | ||
| StrFromINChI * | pStruct, | ||
| inp_ATOM * | at, | ||
| inp_ATOM * | at2, | ||
| VAL_AT * | pVA, | ||
| ALL_TC_GROUPS * | pTCGroups, | ||
| int * | pnNumRunBNS, | ||
| int * | pnTotalDelta, | ||
| int | forbidden_edge_mask | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int MoveRadToAtomsAddCharges | ( | BN_STRUCT * | pBNS, | 
| BN_DATA * | pBD, | ||
| StrFromINChI * | pStruct, | ||
| inp_ATOM * | at, | ||
| inp_ATOM * | at2, | ||
| VAL_AT * | pVA, | ||
| ALL_TC_GROUPS * | pTCGroups, | ||
| int | forbidden_mask | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int nAddSuperCGroups | ( | ALL_TC_GROUPS * | pTCGroups | ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int nCountBnsSizes | ( | inp_ATOM * | at, | 
| int | num_at, | ||
| int | nAddEdges2eachAtom, | ||
| int | nAddVertices, | ||
| T_GROUP_INFO * | ti, | ||
| VAL_AT * | pVA, | ||
| ICHICONST SRM * | pSrm, | ||
| ALL_TC_GROUPS * | pTCGroups | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:
 Here is the caller graph for this function:| int NormalizeAndCompare | ( | struct tagCANON_GLOBALS * | pCG, | 
| struct tagINCHI_CLOCK * | ic, | ||
| ICHICONST INPUT_PARMS * | ip, | ||
| STRUCT_DATA * | sd, | ||
| BN_STRUCT * | pBNS, | ||
| BN_DATA * | pBD, | ||
| StrFromINChI * | pStruct, | ||
| inp_ATOM * | at, | ||
| inp_ATOM * | at2, | ||
| inp_ATOM * | at3, | ||
| VAL_AT * | pVA, | ||
| ALL_TC_GROUPS * | pTCGroups, | ||
| INChI * | pInChI[], | ||
| long | num_inp, | ||
| int | bHasSomeFixedH, | ||
| int * | pnNumRunBNS, | ||
| int * | pnTotalDelta, | ||
| int | forbidden_edge_mask, | ||
| int | forbidden_stereo_edge_mask | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int NormalizeStructure | ( | ICHICONST INPUT_PARMS * | ip, | 
| STRUCT_DATA * | sd, | ||
| BN_STRUCT * | pBNS, | ||
| StrFromINChI * | pStruct, | ||
| inp_ATOM * | at, | ||
| inp_ATOM * | at2, | ||
| VAL_AT * | pVA, | ||
| ALL_TC_GROUPS * | pTCGroups, | ||
| inp_ATOM * | at_norm, | ||
| inp_ATOM * | at_fixed_bonds_out, | ||
| T_GROUP_INFO * | t_group_info | ||
| ) | 
 Here is the caller graph for this function:| int OldPrintCompareOneOrigInchiToRevInChI | ( | StrFromINChI * | pStruct, | 
| INChI * | pInChI[TAUT_NUM], | ||
| int | bMobileH, | ||
| int | iComponent, | ||
| long | num_inp, | ||
| char * | szCurHdr | ||
| ) | 
 Here is the caller graph for this function:| int OneInChI2Atom | ( | struct tagINCHI_CLOCK * | ic, | 
| struct tagCANON_GLOBALS * | pCG, | ||
| ICHICONST INPUT_PARMS * | ip, | ||
| STRUCT_DATA * | sd, | ||
| const char * | szCurHdr, | ||
| long | num_inp, | ||
| StrFromINChI * | pStruct, | ||
| int | iComponent, | ||
| int | iAtNoOffset, | ||
| int | bHasSomeFixedH, | ||
| INChI * | pInChI[] | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int OutputInChIOutOfStrFromINChI | ( | struct tagINCHI_CLOCK * | ic, | 
| struct tagCANON_GLOBALS * | pCG, | ||
| ICHICONST INPUT_PARMS * | ip_inp, | ||
| STRUCT_DATA * | sd_inp, | ||
| long | num_inp, | ||
| int | bINChIOutputOptions, | ||
| INCHI_IOSTREAM * | pout, | ||
| INCHI_IOSTREAM * | plog, | ||
| InpInChI * | pOneInput, | ||
| int | bHasSomeFixedH, | ||
| unsigned char | save_opt_bits | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int PlusFromDB_N_DB_O_to_Metal | ( | BN_STRUCT * | pBNS, | 
| BN_DATA * | pBD, | ||
| StrFromINChI * | pStruct, | ||
| inp_ATOM * | at, | ||
| inp_ATOM * | at2, | ||
| VAL_AT * | pVA, | ||
| ALL_TC_GROUPS * | pTCGroups, | ||
| int * | pnNumRunBNS, | ||
| int * | pnTotalDelta, | ||
| int | forbidden_edge_mask | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int ReallocTCGroups | ( | ALL_TC_GROUPS * | pTCGroups, | 
| int | nAdd | ||
| ) | 
 Here is the caller graph for this function:| int RearrangePlusMinusEdgesFlow | ( | BN_STRUCT * | pBNS, | 
| BN_DATA * | pBD, | ||
| VAL_AT * | pVA, | ||
| ALL_TC_GROUPS * | pTCGroups, | ||
| int | forbidden_edge_mask | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int RegisterTCGroup | ( | ALL_TC_GROUPS * | pTCGroups, | 
| int | nGroupType, | ||
| int | nGroupOrdNum, | ||
| int | nVertexCap, | ||
| int | nVertexFlow, | ||
| int | nEdgeCap, | ||
| int | nEdgeFlow, | ||
| int | nNumEdges | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| void RemoveFixHInChIIdentical2MobH | ( | InpInChI * | pOneInput | ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| void RemoveForbiddenBondFlowBits | ( | BN_STRUCT * | pBNS, | 
| int | forbidden_edge_mask_int | ||
| ) | 
 Here is the caller graph for this function:
 Here is the caller graph for this function:| int RemoveFromEdgeListByIndex | ( | EDGE_LIST * | pEdges, | 
| int | index | ||
| ) | 
 Here is the caller graph for this function:| int RemoveFromEdgeListByValue | ( | EDGE_LIST * | pEdges, | 
| int | iedge | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int RemoveRadFromMobileHEndpoint | ( | BN_STRUCT * | pBNS, | 
| BN_DATA * | pBD, | ||
| StrFromINChI * | pStruct, | ||
| inp_ATOM * | at, | ||
| inp_ATOM * | at2, | ||
| VAL_AT * | pVA, | ||
| ALL_TC_GROUPS * | pTCGroups, | ||
| int * | pnNumRunBNS, | ||
| int * | pnTotalDelta, | ||
| int | forbidden_edge_mask | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int RemoveRadFromMobileHEndpointFixH | ( | BN_STRUCT * | pBNS, | 
| BN_DATA * | pBD, | ||
| StrFromINChI * | pStruct, | ||
| inp_ATOM * | at, | ||
| inp_ATOM * | at2, | ||
| VAL_AT * | pVA, | ||
| ALL_TC_GROUPS * | pTCGroups, | ||
| int * | pnNumRunBNS, | ||
| int * | pnTotalDelta, | ||
| int | forbidden_edge_mask | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int RestoreAtomConnectionsSetStereo | ( | StrFromINChI * | pStruct, | 
| int | iComponent, | ||
| int | iAtNoOffset, | ||
| INChI * | pInChI, | ||
| INChI * | pInChIMobH | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int RestoreAtomMakeBNS | ( | struct tagINCHI_CLOCK * | ic, | 
| struct tagCANON_GLOBALS * | pCG, | ||
| ICHICONST INPUT_PARMS * | ip, | ||
| STRUCT_DATA * | sd, | ||
| StrFromINChI * | pStruct, | ||
| int | iComponent, | ||
| int | iAtNoOffset, | ||
| INChI * | pInChI[], | ||
| const char * | szCurHdr, | ||
| long | num_inp, | ||
| int | bHasSomeFixedH | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int RestoreCyanoGroup | ( | BN_STRUCT * | pBNS, | 
| BN_DATA * | pBD, | ||
| StrFromINChI * | pStruct, | ||
| inp_ATOM * | at, | ||
| inp_ATOM * | at2, | ||
| VAL_AT * | pVA, | ||
| ALL_TC_GROUPS * | pTCGroups, | ||
| int * | pnNumRunBNS, | ||
| int * | pnTotalDelta, | ||
| int | forbidden_edge_mask | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int RestoreIsoCyanoGroup | ( | BN_STRUCT * | pBNS, | 
| BN_DATA * | pBD, | ||
| StrFromINChI * | pStruct, | ||
| inp_ATOM * | at, | ||
| inp_ATOM * | at2, | ||
| VAL_AT * | pVA, | ||
| ALL_TC_GROUPS * | pTCGroups, | ||
| int * | pnNumRunBNS, | ||
| int * | pnTotalDelta, | ||
| int | forbidden_edge_mask | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int RestoreNNNgroup | ( | BN_STRUCT * | pBNS, | 
| BN_DATA * | pBD, | ||
| StrFromINChI * | pStruct, | ||
| inp_ATOM * | at, | ||
| inp_ATOM * | at2, | ||
| VAL_AT * | pVA, | ||
| ALL_TC_GROUPS * | pTCGroups, | ||
| int * | pnNumRunBNS, | ||
| int * | pnTotalDelta, | ||
| int | forbidden_edge_mask | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int RunBnsRestore1 | ( | struct tagCANON_GLOBALS * | pCG, | 
| struct tagINCHI_CLOCK * | ic, | ||
| ICHICONST INPUT_PARMS * | ip, | ||
| STRUCT_DATA * | sd, | ||
| BN_STRUCT * | pBNS, | ||
| BN_DATA * | pBD, | ||
| StrFromINChI * | pStruct, | ||
| VAL_AT * | pVA, | ||
| ALL_TC_GROUPS * | pTCGroups, | ||
| INChI * | pInChI[], | ||
| long | num_inp, | ||
| int | bHasSomeFixedH | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int RunBnsRestoreOnce | ( | BN_STRUCT * | pBNS, | 
| BN_DATA * | pBD, | ||
| VAL_AT * | pVA, | ||
| ALL_TC_GROUPS * | pTCGroups | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int RunBnsTestOnce | ( | BN_STRUCT * | pBNS, | 
| BN_DATA * | pBD, | ||
| VAL_AT * | pVA, | ||
| Vertex * | pvFirst, | ||
| Vertex * | pvLast, | ||
| int * | pPathLen, | ||
| int * | pnDeltaH, | ||
| int * | pnDeltaCharge, | ||
| int * | pnNumVisitedAtoms | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int SaltBondsToCoordBonds | ( | BN_STRUCT * | pBNS, | 
| BN_DATA * | pBD, | ||
| StrFromINChI * | pStruct, | ||
| inp_ATOM * | at, | ||
| inp_ATOM * | at2, | ||
| VAL_AT * | pVA, | ||
| ALL_TC_GROUPS * | pTCGroups, | ||
| int * | pnNumRunBNS, | ||
| int * | pnTotalDelta, | ||
| int | forbidden_edge_mask | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int set_atom_0D_parity | ( | inp_ATOM * | at, | 
| inp_ATOM_STEREO * | st, | ||
| int | num_at, | ||
| int | num_deleted_H, | ||
| int | i1, | ||
| int | parity | ||
| ) | 
 Here is the caller graph for this function:
 Here is the call graph for this function:
 Here is the caller graph for this function:| int set_cumulene_0D_parity | ( | inp_ATOM * | at, | 
| inp_ATOM_STEREO * | st, | ||
| int | num_at, | ||
| int | idelH1, | ||
| int | i1, | ||
| int | i2, | ||
| int | idelH2, | ||
| int | parity, | ||
| int | len | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| void SetEdgeCapFlow | ( | BNS_EDGE * | e, | 
| int | edge_cap, | ||
| int | edge_flow | ||
| ) | 
 Here is the caller graph for this function:
 Here is the caller graph for this function:| void SetStCapFlow | ( | BNS_VERTEX * | vert_ficpoint, | 
| int * | tot_st_flow, | ||
| int * | tot_st_cap, | ||
| int | cap, | ||
| int | flow | ||
| ) | 
 Here is the caller graph for this function:| int SetStereoBondTypeFor0DParity | ( | inp_ATOM * | at, | 
| int | i1, | ||
| int | m1 | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int SetStereoBondTypesFrom0DStereo | ( | StrFromINChI * | pStruct, | 
| INChI * | pInChI | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| void SetUpSrm | ( | SRM * | pSrm | ) | 
 Here is the caller graph for this function:
      
  | 
  extern |