InChI
 
Loading...
Searching...
No Matches
ichimain.h File Reference
#include "strutil.h"
#include "ichicomn.h"
+ Include dependency graph for ichimain.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  tagLine
 
struct  tagStructData
 
struct  tagINCHI_OUT_CTL
 
struct  tagPOSEContext
 

Macros

#define ESC_KEY   27
 
#define INCHI_SEGM_BUFLEN   524288
 
#define PRINT_INCHI_MAX_TAG_LEN   64
 
#define COMP_ORIG_0_MAIN   0x0001
 
#define COMP_ORIG_0_RECN   0x0002
 
#define COMP_PREP_0_MAIN   0x0004
 
#define COMP_PREP_0_RECN   0x0008
 
#define COMP_ORIG_1_MAIN   0x0010
 
#define COMP_ORIG_1_RECN   0x0020
 
#define PERMAXATOMS   32767
 
#define BYTE(X)   ((unsigned char *)(X))
 

Typedefs

typedef struct tagLine SEGM_LINE
 
typedef struct tagStructData STRUCT_DATA
 
typedef struct tagINCHI_OUT_CTL INCHI_OUT_CTL
 
typedef struct tagPOSEContext POSEContext
 
typedef enum MAIN_LOOP_ACTION MAIN_LOOP_ACTION
 

Enumerations

enum  MAIN_LOOP_ACTION { DO_NEXT_STEP , DO_BREAK_MAIN_LOOP , DO_EXIT_FUNCTION , DO_CONTINUE_MAIN_LOOP }
 

Functions

int rrand (int m)
 
void shuffle (void *obj, size_t nmemb, size_t size)
 
int POSEContext_Init (POSEContext *context, STRUCT_DATA *sd, INPUT_PARMS *ip, char *szTitle, PINChI2 *pINChI2[INCHI_NUM], PINChI_Aux2 *pINChI_Aux2[INCHI_NUM], INCHI_IOSTREAM *inp_file, INCHI_IOSTREAM *log_file, INCHI_IOSTREAM *out_file, INCHI_IOSTREAM *prb_file, ORIG_ATOM_DATA *orig_inp_data, ORIG_ATOM_DATA *prep_inp_data, long num_inp, INCHI_IOS_STRING *strbuf, unsigned char save_opt_bits)
 
void POSEContext_Free (POSEContext *context)
 
void POSEContext_DebugPrint (POSEContext *context)
 
int ProcessSingleInputFile (int argc, char *argv[])
 
int ProcessMultipleInputFiles (int argc, char *argv[])
 
int ReadCommandLineParms (int argc, const char *argv[], INPUT_PARMS *ip, char *szSdfDataValue, unsigned long *ulDisplTime, int bReleaseVersion, INCHI_IOSTREAM *log_file)
 
void HelpCommandLineParms (INCHI_IOSTREAM *f)
 
int OpenFiles (FILE **inp_file, FILE **out_file, FILE **log_file, FILE **prb_file, INPUT_PARMS *ip)
 
int PrintInputParms (INCHI_IOSTREAM *log_file, INPUT_PARMS *ip)
 
int SortAndPrintINChI (struct tagCANON_GLOBALS *pCG, INCHI_IOSTREAM *out_file, INCHI_IOS_STRING *strbuf, INCHI_IOSTREAM *log_file, INPUT_PARMS *ip, ORIG_ATOM_DATA *orig_inp_data, ORIG_ATOM_DATA *prep_inp_data, COMP_ATOM_DATA composite_norm_data[INCHI_NUM][TAUT_NUM+1], ORIG_STRUCT *pOrigStruct, int num_components[INCHI_NUM], int num_non_taut[INCHI_NUM], int num_taut[INCHI_NUM], INCHI_MODE bTautFlags[INCHI_NUM], INCHI_MODE bTautFlagsDone[INCHI_NUM], NORM_CANON_FLAGS *pncFlags, long num_inp, PINChI2 *pINChI[INCHI_NUM], PINChI_Aux2 *pINChI_Aux[INCHI_NUM], int *pSortPrintINChIFlags, unsigned char save_opt_bits)
 
void FreeAllINChIArrays (PINChI2 *pINChI[INCHI_NUM], PINChI_Aux2 *pINChI_Aux[INCHI_NUM], int num_components[2])
 
void FreeINChIArrays (PINChI2 *pINChI, PINChI_Aux2 *pINChI_Aux, int num_components)
 
int ReadTheStructure (struct tagINCHI_CLOCK *ic, STRUCT_DATA *sd, INPUT_PARMS *ip, INCHI_IOSTREAM *inp_file, ORIG_ATOM_DATA *orig_inp_data, int inp_index, int *out_index)
 
int TreatErrorsInReadTheStructure (STRUCT_DATA *sd, INPUT_PARMS *ip, int nLogMask, INCHI_IOSTREAM *inp_file, INCHI_IOSTREAM *log_file, INCHI_IOSTREAM *out_file, INCHI_IOSTREAM *prb_file, ORIG_ATOM_DATA *orig_inp_data, long *num_inp)
 
int GetOneComponent (struct tagINCHI_CLOCK *ic, STRUCT_DATA *sd, INPUT_PARMS *ip, INCHI_IOSTREAM *log_file, INCHI_IOSTREAM *out_file, INP_ATOM_DATA *inp_cur_data, ORIG_ATOM_DATA *orig_inp_data, int i, long num_inp)
 
int CreateOneComponentINChI (struct tagCANON_GLOBALS *pCG, struct tagINCHI_CLOCK *ic, STRUCT_DATA *sd, INPUT_PARMS *ip, INP_ATOM_DATA *inp_cur_data, ORIG_ATOM_DATA *orig_inp_data, PINChI2 *pINChI, PINChI_Aux2 *pINChI_Aux, int iINChI, int i, long num_inp, INP_ATOM_DATA **inp_norm_data, NORM_CANON_FLAGS *pncFlags, INCHI_IOSTREAM *log_file)
 
int TreatErrorsInCreateOneComponentINChI (STRUCT_DATA *sd, INPUT_PARMS *ip, ORIG_ATOM_DATA *orig_inp_data, int i, long num_inp, INCHI_IOSTREAM *inp_file, INCHI_IOSTREAM *log_file, INCHI_IOSTREAM *out_file, INCHI_IOSTREAM *prb_file)
 
int TreatCreateINChIWarning (STRUCT_DATA *sd, INPUT_PARMS *ip, ORIG_ATOM_DATA *orig_inp_data, long num_inp, INCHI_IOSTREAM *inp_file, INCHI_IOSTREAM *log_file, INCHI_IOSTREAM *out_file, INCHI_IOSTREAM *prb_file)
 
int GetProcessingWarningsOneComponentInChI (INChI *cur_INChI[], INP_ATOM_DATA **inp_norm_data, STRUCT_DATA *sd, int bNoWarnings)
 
int GetTheNextRecordOfInputFile (struct tagINCHI_CLOCK *ic, STRUCT_DATA *sd, INPUT_PARMS *ip, char *szTitle, INCHI_IOSTREAM *inp_file, INCHI_IOSTREAM *plog, INCHI_IOSTREAM *pout, INCHI_IOSTREAM *pprb, ORIG_ATOM_DATA *orig_inp_data, long *num_inp, STRUCT_FPTRS *pStructPtrs, int *nRet, int *have_err_in_GetOneStructure, long *num_err, int output_error_inchi)
 
int CalcAndPrintINCHIAndINCHIKEY (struct tagINCHI_CLOCK *ic, CANON_GLOBALS *CG, STRUCT_DATA *sd, INPUT_PARMS *ip, char *szTitle, PINChI2 *pINChI[INCHI_NUM], PINChI_Aux2 *pINChI_Aux[INCHI_NUM], INCHI_IOSTREAM *inp_file, INCHI_IOSTREAM *plog, INCHI_IOSTREAM *pout, INCHI_IOSTREAM *pprb, ORIG_ATOM_DATA *orig_inp_data, ORIG_ATOM_DATA *prep_inp_data, long *num_inp, STRUCT_FPTRS *pStructPtrs, int *nRet, int have_err_in_GetOneStructure, long *num_err, int output_error_inchi, INCHI_IOS_STRING *strbuf, unsigned long *pulTotalProcessingTime, char *pLF, char *pTAB, char *ikey, int silent)
 
int GetOneStructure (struct tagINCHI_CLOCK *ic, STRUCT_DATA *sd, INPUT_PARMS *ip, char *szTitle, INCHI_IOSTREAM *inp_file, INCHI_IOSTREAM *log_file, INCHI_IOSTREAM *out_file, INCHI_IOSTREAM *prb_file, ORIG_ATOM_DATA *orig_inp_data, long *num_inp, STRUCT_FPTRS *struct_fptrs)
 
int ProcessOneStructure (struct tagINCHI_CLOCK *ic, struct tagCANON_GLOBALS *pCG, STRUCT_DATA *sd, INPUT_PARMS *ip, char *szTitle, PINChI2 *pINChI2[INCHI_NUM], PINChI_Aux2 *pINChI_Aux2[INCHI_NUM], INCHI_IOSTREAM *inp_file, INCHI_IOSTREAM *log_file, INCHI_IOSTREAM *out_file, INCHI_IOSTREAM *prb_file, ORIG_ATOM_DATA *orig_inp_data, ORIG_ATOM_DATA *prep_inp_data, long num_inp, INCHI_IOS_STRING *strbuf, unsigned char save_opt_bits)
 
int ProcessOneStructureEx (struct tagINCHI_CLOCK *ic, struct tagCANON_GLOBALS *pCG, STRUCT_DATA *sd, INPUT_PARMS *ip, char *szTitle, PINChI2 *pINChI2[INCHI_NUM], PINChI_Aux2 *pINChI_Aux2[INCHI_NUM], INCHI_IOSTREAM *inp_file, INCHI_IOSTREAM *log_file, INCHI_IOSTREAM *out_file, INCHI_IOSTREAM *prb_file, ORIG_ATOM_DATA *orig_inp_data, ORIG_ATOM_DATA *prep_inp_data, long num_inp, INCHI_IOS_STRING *strbuf, unsigned char save_opt_bits)
 
int PreprocessPolymerCRUData (struct tagINCHI_CLOCK *ic, struct tagCANON_GLOBALS *CG, STRUCT_DATA *sd, INPUT_PARMS *ip, char *szTitle, PINChI2 *pINChI2[INCHI_NUM], PINChI_Aux2 *pINChI_Aux2[INCHI_NUM], INCHI_IOSTREAM *inp_file, INCHI_IOSTREAM *log_file, INCHI_IOSTREAM *out_file, INCHI_IOSTREAM *prb_file, ORIG_ATOM_DATA *orig_inp_data, ORIG_ATOM_DATA *prep_inp_data, long num_inp, INCHI_IOS_STRING *strbuf, unsigned char save_opt_bits, char **sinchi, char **saux)
 
int OAD_ProcessOneStructureNoEdits (struct tagINCHI_CLOCK *ic, struct tagCANON_GLOBALS *CG, STRUCT_DATA *sd, INPUT_PARMS *ip, char *szTitle, PINChI2 *pINChI2[INCHI_NUM], PINChI_Aux2 *pINChI_Aux2[INCHI_NUM], INCHI_IOSTREAM *inp_file, INCHI_IOSTREAM *log_file, INCHI_IOSTREAM *out_file, INCHI_IOSTREAM *prb_file, ORIG_ATOM_DATA *orig_inp_data, ORIG_ATOM_DATA *prep_inp_data, long num_inp, INCHI_IOS_STRING *strbuf, unsigned char save_opt_bits, int *n_pzz, char **sinchi, char **saux)
 
int OAD_ProcessOneStructure105Plus (struct tagINCHI_CLOCK *ic, struct tagCANON_GLOBALS *CG, STRUCT_DATA *sd, INPUT_PARMS *ip, char *szTitle, PINChI2 *pINChI2[INCHI_NUM], PINChI_Aux2 *pINChI_Aux2[INCHI_NUM], INCHI_IOSTREAM *inp_file, INCHI_IOSTREAM *log_file, INCHI_IOSTREAM *out_file, INCHI_IOSTREAM *prb_file, ORIG_ATOM_DATA *orig_inp_data, ORIG_ATOM_DATA *prep_inp_data, long num_inp, INCHI_IOS_STRING *strbuf, unsigned char save_opt_bits, char **sinchi, char **saux)
 
int ValidateAndPreparePolymerAndPseudoatoms (struct tagINCHI_CLOCK *ic, struct tagCANON_GLOBALS *CG, STRUCT_DATA *sd, INPUT_PARMS *ip, char *szTitle, PINChI2 *pINChI2[INCHI_NUM], PINChI_Aux2 *pINChI_Aux2[INCHI_NUM], INCHI_IOSTREAM *inp_file, INCHI_IOSTREAM *log_file, INCHI_IOSTREAM *out_file, INCHI_IOSTREAM *prb_file, ORIG_ATOM_DATA *orig_inp_data, ORIG_ATOM_DATA *prep_inp_data, long num_inp, INCHI_IOS_STRING *strbuf, unsigned char save_opt_bits, int *mind_polymers)
 
int CreateOneStructureINChI (struct tagCANON_GLOBALS *pCG, struct tagINCHI_CLOCK *ic, STRUCT_DATA *sd, INPUT_PARMS *ip, char *szTitle, PINChI2 *pINChI2[INCHI_NUM], PINChI_Aux2 *pINChI_Aux2[INCHI_NUM], int iINChI, INCHI_IOSTREAM *inp_file, INCHI_IOSTREAM *log_file, INCHI_IOSTREAM *out_file, INCHI_IOSTREAM *prb_file, ORIG_ATOM_DATA *orig_inp_data, ORIG_ATOM_DATA *prep_inp_data, COMP_ATOM_DATA composite_norm_data2[][TAUT_NUM+1], long num_inp, INCHI_IOS_STRING *strbuf, NORM_CANON_FLAGS *pncFlags)
 
int PreprocessOneStructure (struct tagINCHI_CLOCK *ic, STRUCT_DATA *sd, INPUT_PARMS *ip, ORIG_ATOM_DATA *orig_inp_data, ORIG_ATOM_DATA *prep_inp_data)
 
int RepeatedlyRenumberAtomsAndRecalcINCHI (struct tagINCHI_CLOCK *ic, CANON_GLOBALS *CG, STRUCT_DATA *sd, INPUT_PARMS *ip, char *szTitle, PINChI2 *pINChI[INCHI_NUM], PINChI_Aux2 *pINChI_Aux[INCHI_NUM], INCHI_IOSTREAM *inp_file, INCHI_IOSTREAM *plog, INCHI_IOSTREAM *pout, INCHI_IOSTREAM *pprb, ORIG_ATOM_DATA *orig_inp_data, ORIG_ATOM_DATA *prep_inp_data, long *num_inp, STRUCT_FPTRS *pStructPtrs, int *nRet, int have_err_in_GetOneStructure, long *num_err, int output_error_inchi, INCHI_IOS_STRING *strbuf, unsigned long *pulTotalProcessingTime, char *pLF, char *pTAB, long int nrepeat)
 
int bIsStructChiral (PINChI2 *pINChI2[INCHI_NUM], int num_components[])
 
int OrigAtData_Duplicate (ORIG_ATOM_DATA *new_orig_atom, ORIG_ATOM_DATA *orig_atom)
 
void OrigAtData_Permute (ORIG_ATOM_DATA *permuted, ORIG_ATOM_DATA *saved, int *numbers)
 
int OrigAtData_RemoveAtom (ORIG_ATOM_DATA *orig_at_data, int iatom)
 
int OrigAtData_AddSingleStereolessBond (int this_atom, int other_atom, inp_ATOM *at, int *num_inp_bonds)
 
int OrigAtData_AddBond (int this_atom, int other_atom, inp_ATOM *at, int bond_type, int bond_stereo, int *num_bonds)
 
int OrigAtData_RemoveBond (int this_atom, int other_atom, inp_ATOM *at, int *bond_type, int *bond_stereo, int *num_inp_bonds)
 
int OrigAtData_RemoveHalfBond (int this_atom, int other_atom, inp_ATOM *at, int *bond_type, int *bond_stereo)
 
int OrigAtData_IncreaseBondOrder (int this_atom, int other_atom, inp_ATOM *at)
 
int OrigAtData_DecreaseBondOrder (int this_atom, int other_atom, inp_ATOM *at)
 
int OrigAtData_SaveMolfile (ORIG_ATOM_DATA *orig_inp_data, STRUCT_DATA *sd, INPUT_PARMS *ip, long num_inp, INCHI_IOSTREAM *out_file)
 
void OrigAtData_DebugTrace (ORIG_ATOM_DATA *at_data)
 
int OAD_StructureEdits_Apply (STRUCT_DATA *sd, INPUT_PARMS *ip, ORIG_ATOM_DATA *orig_at_data, OAD_StructureEdits *ed, int *ret)
 
void OAD_CollectFragmentBondsAndAtoms (ORIG_ATOM_DATA *at_data, int nforbidden, int *forbidden_orig, int *n_fragbonds, int **fragbonds, int *n_fragatoms, int *fragatoms, int *err, char *pStrErr)
 
void winchi_calc_inchikey (int ret, int *ikflag, INPUT_PARMS *ip, INCHI_IOSTREAM *out_file, INCHI_IOSTREAM *log_file)
 
int Inp_Atom_GetBondType (inp_ATOM *at, int iatom1, int iatom2)
 
int OrigStruct_FillOut (struct tagCANON_GLOBALS *pCG, ORIG_ATOM_DATA *orig_inp_data, ORIG_STRUCT *pOrigStruct, STRUCT_DATA *sd)
 
void OrigStruct_Free (ORIG_STRUCT *pOrigStruct)
 
int ReadWriteInChI (struct tagINCHI_CLOCK *ic, struct tagCANON_GLOBALS *pCG, INCHI_IOSTREAM *pInp, INCHI_IOSTREAM *pOut, INCHI_IOSTREAM *pLog, INPUT_PARMS *ip_inp, STRUCT_DATA *sd_inp, inp_ATOM **at, int *num_at, int *num_bonds, OAD_Polymer **polymer, OAD_V3000 **v3000, char *szMsg, int nMsgLen, unsigned long WarningFlags[2][2])
 
int CompareHillFormulasNoH (const char *f1, const char *f2, int *num_H1, int *num_H2)
 
int CreateCompositeNormAtom (COMP_ATOM_DATA *composite_norm_data, INP_ATOM_DATA2 *all_inp_norm_data, int num_components)
 
void EditINCHI_HidePolymerZz (INCHI_IOSTREAM *out, int n_pzz, int n_zy)
 
void SplitTime (unsigned long ulTotalTime, int *hours, int *minutes, int *seconds, int *mseconds)
 
void set_line_separators (int bINChIOutputOptions, char **pLF, char **pTAB)
 
void save_command_line (int argc, char *argv[], INCHI_IOSTREAM *plog)
 
void emit_empty_inchi (INPUT_PARMS *ip, long num_inp, char *pLF, char *pTAB, INCHI_IOSTREAM *pout)
 

Macro Definition Documentation

◆ BYTE

#define BYTE (   X)    ((unsigned char *)(X))

◆ COMP_ORIG_0_MAIN

#define COMP_ORIG_0_MAIN   0x0001

◆ COMP_ORIG_0_RECN

#define COMP_ORIG_0_RECN   0x0002

◆ COMP_ORIG_1_MAIN

#define COMP_ORIG_1_MAIN   0x0010

◆ COMP_ORIG_1_RECN

#define COMP_ORIG_1_RECN   0x0020

◆ COMP_PREP_0_MAIN

#define COMP_PREP_0_MAIN   0x0004

◆ COMP_PREP_0_RECN

#define COMP_PREP_0_RECN   0x0008

◆ ESC_KEY

#define ESC_KEY   27

◆ INCHI_SEGM_BUFLEN

#define INCHI_SEGM_BUFLEN   524288

◆ PERMAXATOMS

#define PERMAXATOMS   32767

◆ PRINT_INCHI_MAX_TAG_LEN

#define PRINT_INCHI_MAX_TAG_LEN   64

Typedef Documentation

◆ INCHI_OUT_CTL

◆ MAIN_LOOP_ACTION

◆ POSEContext

typedef struct tagPOSEContext POSEContext

◆ SEGM_LINE

typedef struct tagLine SEGM_LINE

◆ STRUCT_DATA

typedef struct tagStructData STRUCT_DATA

Enumeration Type Documentation

◆ MAIN_LOOP_ACTION

Enumerator
DO_NEXT_STEP 
DO_BREAK_MAIN_LOOP 
DO_EXIT_FUNCTION 
DO_CONTINUE_MAIN_LOOP 

Function Documentation

◆ bIsStructChiral()

int bIsStructChiral ( PINChI2 pINChI2[INCHI_NUM],
int  num_components[] 
)
+ Here is the caller graph for this function:

◆ CalcAndPrintINCHIAndINCHIKEY()

int CalcAndPrintINCHIAndINCHIKEY ( struct tagINCHI_CLOCK ic,
CANON_GLOBALS CG,
STRUCT_DATA sd,
INPUT_PARMS ip,
char *  szTitle,
PINChI2 pINChI[INCHI_NUM],
PINChI_Aux2 pINChI_Aux[INCHI_NUM],
INCHI_IOSTREAM inp_file,
INCHI_IOSTREAM plog,
INCHI_IOSTREAM pout,
INCHI_IOSTREAM pprb,
ORIG_ATOM_DATA orig_inp_data,
ORIG_ATOM_DATA prep_inp_data,
long *  num_inp,
STRUCT_FPTRS pStructPtrs,
int *  nRet,
int  have_err_in_GetOneStructure,
long *  num_err,
int  output_error_inchi,
INCHI_IOS_STRING strbuf,
unsigned long *  pulTotalProcessingTime,
char *  pLF,
char *  pTAB,
char *  ikey,
int  silent 
)
+ Here is the call graph for this function:

◆ CompareHillFormulasNoH()

int CompareHillFormulasNoH ( const char *  f1,
const char *  f2,
int *  num_H1,
int *  num_H2 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CreateCompositeNormAtom()

int CreateCompositeNormAtom ( COMP_ATOM_DATA composite_norm_data,
INP_ATOM_DATA2 all_inp_norm_data,
int  num_components 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CreateOneComponentINChI()

int CreateOneComponentINChI ( struct tagCANON_GLOBALS pCG,
struct tagINCHI_CLOCK ic,
STRUCT_DATA sd,
INPUT_PARMS ip,
INP_ATOM_DATA inp_cur_data,
ORIG_ATOM_DATA orig_inp_data,
PINChI2 pINChI,
PINChI_Aux2 pINChI_Aux,
int  iINChI,
int  i,
long  num_inp,
INP_ATOM_DATA **  inp_norm_data,
NORM_CANON_FLAGS pncFlags,
INCHI_IOSTREAM log_file 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CreateOneStructureINChI()

int CreateOneStructureINChI ( struct tagCANON_GLOBALS pCG,
struct tagINCHI_CLOCK ic,
STRUCT_DATA sd,
INPUT_PARMS ip,
char *  szTitle,
PINChI2 pINChI2[INCHI_NUM],
PINChI_Aux2 pINChI_Aux2[INCHI_NUM],
int  iINChI,
INCHI_IOSTREAM inp_file,
INCHI_IOSTREAM log_file,
INCHI_IOSTREAM out_file,
INCHI_IOSTREAM prb_file,
ORIG_ATOM_DATA orig_inp_data,
ORIG_ATOM_DATA prep_inp_data,
COMP_ATOM_DATA  composite_norm_data2[][TAUT_NUM+1],
long  num_inp,
INCHI_IOS_STRING strbuf,
NORM_CANON_FLAGS pncFlags 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ EditINCHI_HidePolymerZz()

void EditINCHI_HidePolymerZz ( INCHI_IOSTREAM out,
int  n_pzz,
int  n_zy 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ emit_empty_inchi()

void emit_empty_inchi ( INPUT_PARMS ip,
long  num_inp,
char *  pLF,
char *  pTAB,
INCHI_IOSTREAM pout 
)
+ Here is the call graph for this function:

◆ FreeAllINChIArrays()

void FreeAllINChIArrays ( PINChI2 pINChI[INCHI_NUM],
PINChI_Aux2 pINChI_Aux[INCHI_NUM],
int  num_components[2] 
)
+ Here is the caller graph for this function:

◆ FreeINChIArrays()

void FreeINChIArrays ( PINChI2 pINChI,
PINChI_Aux2 pINChI_Aux,
int  num_components 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetOneComponent()

int GetOneComponent ( struct tagINCHI_CLOCK ic,
STRUCT_DATA sd,
INPUT_PARMS ip,
INCHI_IOSTREAM log_file,
INCHI_IOSTREAM out_file,
INP_ATOM_DATA inp_cur_data,
ORIG_ATOM_DATA orig_inp_data,
int  i,
long  num_inp 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetOneStructure()

int GetOneStructure ( struct tagINCHI_CLOCK ic,
STRUCT_DATA sd,
INPUT_PARMS ip,
char *  szTitle,
INCHI_IOSTREAM inp_file,
INCHI_IOSTREAM log_file,
INCHI_IOSTREAM out_file,
INCHI_IOSTREAM prb_file,
ORIG_ATOM_DATA orig_inp_data,
long *  num_inp,
STRUCT_FPTRS struct_fptrs 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetProcessingWarningsOneComponentInChI()

int GetProcessingWarningsOneComponentInChI ( INChI cur_INChI[],
INP_ATOM_DATA **  inp_norm_data,
STRUCT_DATA sd,
int  bNoWarnings 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetTheNextRecordOfInputFile()

int GetTheNextRecordOfInputFile ( struct tagINCHI_CLOCK ic,
STRUCT_DATA sd,
INPUT_PARMS ip,
char *  szTitle,
INCHI_IOSTREAM inp_file,
INCHI_IOSTREAM plog,
INCHI_IOSTREAM pout,
INCHI_IOSTREAM pprb,
ORIG_ATOM_DATA orig_inp_data,
long *  num_inp,
STRUCT_FPTRS pStructPtrs,
int *  nRet,
int *  have_err_in_GetOneStructure,
long *  num_err,
int  output_error_inchi 
)
+ Here is the call graph for this function:

◆ HelpCommandLineParms()

void HelpCommandLineParms ( INCHI_IOSTREAM f)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Inp_Atom_GetBondType()

int Inp_Atom_GetBondType ( inp_ATOM at,
int  iatom1,
int  iatom2 
)
+ Here is the caller graph for this function:

◆ OAD_CollectFragmentBondsAndAtoms()

void OAD_CollectFragmentBondsAndAtoms ( ORIG_ATOM_DATA at_data,
int  nforbidden,
int *  forbidden_orig,
int *  n_fragbonds,
int **  fragbonds,
int *  n_fragatoms,
int *  fragatoms,
int *  err,
char *  pStrErr 
)
+ Here is the call graph for this function:

◆ OAD_ProcessOneStructure105Plus()

int OAD_ProcessOneStructure105Plus ( struct tagINCHI_CLOCK ic,
struct tagCANON_GLOBALS CG,
STRUCT_DATA sd,
INPUT_PARMS ip,
char *  szTitle,
PINChI2 pINChI2[INCHI_NUM],
PINChI_Aux2 pINChI_Aux2[INCHI_NUM],
INCHI_IOSTREAM inp_file,
INCHI_IOSTREAM log_file,
INCHI_IOSTREAM out_file,
INCHI_IOSTREAM prb_file,
ORIG_ATOM_DATA orig_inp_data,
ORIG_ATOM_DATA prep_inp_data,
long  num_inp,
INCHI_IOS_STRING strbuf,
unsigned char  save_opt_bits,
char **  sinchi,
char **  saux 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ OAD_ProcessOneStructureNoEdits()

int OAD_ProcessOneStructureNoEdits ( struct tagINCHI_CLOCK ic,
struct tagCANON_GLOBALS CG,
STRUCT_DATA sd,
INPUT_PARMS ip,
char *  szTitle,
PINChI2 pINChI2[INCHI_NUM],
PINChI_Aux2 pINChI_Aux2[INCHI_NUM],
INCHI_IOSTREAM inp_file,
INCHI_IOSTREAM log_file,
INCHI_IOSTREAM out_file,
INCHI_IOSTREAM prb_file,
ORIG_ATOM_DATA orig_inp_data,
ORIG_ATOM_DATA prep_inp_data,
long  num_inp,
INCHI_IOS_STRING strbuf,
unsigned char  save_opt_bits,
int *  n_pzz,
char **  sinchi,
char **  saux 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ OAD_StructureEdits_Apply()

int OAD_StructureEdits_Apply ( STRUCT_DATA sd,
INPUT_PARMS ip,
ORIG_ATOM_DATA orig_at_data,
OAD_StructureEdits ed,
int *  ret 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ OpenFiles()

int OpenFiles ( FILE **  inp_file,
FILE **  out_file,
FILE **  log_file,
FILE **  prb_file,
INPUT_PARMS ip 
)
+ Here is the call graph for this function:

◆ OrigAtData_AddBond()

int OrigAtData_AddBond ( int  this_atom,
int  other_atom,
inp_ATOM at,
int  bond_type,
int  bond_stereo,
int *  num_bonds 
)
+ Here is the caller graph for this function:

◆ OrigAtData_AddSingleStereolessBond()

int OrigAtData_AddSingleStereolessBond ( int  this_atom,
int  other_atom,
inp_ATOM at,
int *  num_inp_bonds 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ OrigAtData_DebugTrace()

void OrigAtData_DebugTrace ( ORIG_ATOM_DATA at_data)
+ Here is the caller graph for this function:

◆ OrigAtData_DecreaseBondOrder()

int OrigAtData_DecreaseBondOrder ( int  this_atom,
int  other_atom,
inp_ATOM at 
)
+ Here is the caller graph for this function:

◆ OrigAtData_Duplicate()

int OrigAtData_Duplicate ( ORIG_ATOM_DATA new_orig_atom,
ORIG_ATOM_DATA orig_atom 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ OrigAtData_IncreaseBondOrder()

int OrigAtData_IncreaseBondOrder ( int  this_atom,
int  other_atom,
inp_ATOM at 
)
+ Here is the caller graph for this function:

◆ OrigAtData_Permute()

void OrigAtData_Permute ( ORIG_ATOM_DATA permuted,
ORIG_ATOM_DATA saved,
int *  numbers 
)

◆ OrigAtData_RemoveAtom()

int OrigAtData_RemoveAtom ( ORIG_ATOM_DATA orig_at_data,
int  iatom 
)

◆ OrigAtData_RemoveBond()

int OrigAtData_RemoveBond ( int  this_atom,
int  other_atom,
inp_ATOM at,
int *  bond_type,
int *  bond_stereo,
int *  num_inp_bonds 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ OrigAtData_RemoveHalfBond()

int OrigAtData_RemoveHalfBond ( int  this_atom,
int  other_atom,
inp_ATOM at,
int *  bond_type,
int *  bond_stereo 
)
+ Here is the caller graph for this function:

◆ OrigAtData_SaveMolfile()

int OrigAtData_SaveMolfile ( ORIG_ATOM_DATA orig_inp_data,
STRUCT_DATA sd,
INPUT_PARMS ip,
long  num_inp,
INCHI_IOSTREAM out_file 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ OrigStruct_FillOut()

int OrigStruct_FillOut ( struct tagCANON_GLOBALS pCG,
ORIG_ATOM_DATA orig_inp_data,
ORIG_STRUCT pOrigStruct,
STRUCT_DATA sd 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ OrigStruct_Free()

void OrigStruct_Free ( ORIG_STRUCT pOrigStruct)
+ Here is the caller graph for this function:

◆ POSEContext_DebugPrint()

void POSEContext_DebugPrint ( POSEContext context)

◆ POSEContext_Free()

void POSEContext_Free ( POSEContext context)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ POSEContext_Init()

int POSEContext_Init ( POSEContext context,
STRUCT_DATA sd,
INPUT_PARMS ip,
char *  szTitle,
PINChI2 pINChI2[INCHI_NUM],
PINChI_Aux2 pINChI_Aux2[INCHI_NUM],
INCHI_IOSTREAM inp_file,
INCHI_IOSTREAM log_file,
INCHI_IOSTREAM out_file,
INCHI_IOSTREAM prb_file,
ORIG_ATOM_DATA orig_inp_data,
ORIG_ATOM_DATA prep_inp_data,
long  num_inp,
INCHI_IOS_STRING strbuf,
unsigned char  save_opt_bits 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ PreprocessOneStructure()

int PreprocessOneStructure ( struct tagINCHI_CLOCK ic,
STRUCT_DATA sd,
INPUT_PARMS ip,
ORIG_ATOM_DATA orig_inp_data,
ORIG_ATOM_DATA prep_inp_data 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ PreprocessPolymerCRUData()

int PreprocessPolymerCRUData ( struct tagINCHI_CLOCK ic,
struct tagCANON_GLOBALS CG,
STRUCT_DATA sd,
INPUT_PARMS ip,
char *  szTitle,
PINChI2 pINChI2[INCHI_NUM],
PINChI_Aux2 pINChI_Aux2[INCHI_NUM],
INCHI_IOSTREAM inp_file,
INCHI_IOSTREAM log_file,
INCHI_IOSTREAM out_file,
INCHI_IOSTREAM prb_file,
ORIG_ATOM_DATA orig_inp_data,
ORIG_ATOM_DATA prep_inp_data,
long  num_inp,
INCHI_IOS_STRING strbuf,
unsigned char  save_opt_bits,
char **  sinchi,
char **  saux 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ PrintInputParms()

int PrintInputParms ( INCHI_IOSTREAM log_file,
INPUT_PARMS ip 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessMultipleInputFiles()

int ProcessMultipleInputFiles ( int  argc,
char *  argv[] 
)
+ Here is the caller graph for this function:

◆ ProcessOneStructure()

int ProcessOneStructure ( struct tagINCHI_CLOCK ic,
struct tagCANON_GLOBALS pCG,
STRUCT_DATA sd,
INPUT_PARMS ip,
char *  szTitle,
PINChI2 pINChI2[INCHI_NUM],
PINChI_Aux2 pINChI_Aux2[INCHI_NUM],
INCHI_IOSTREAM inp_file,
INCHI_IOSTREAM log_file,
INCHI_IOSTREAM out_file,
INCHI_IOSTREAM prb_file,
ORIG_ATOM_DATA orig_inp_data,
ORIG_ATOM_DATA prep_inp_data,
long  num_inp,
INCHI_IOS_STRING strbuf,
unsigned char  save_opt_bits 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessOneStructureEx()

int ProcessOneStructureEx ( struct tagINCHI_CLOCK ic,
struct tagCANON_GLOBALS pCG,
STRUCT_DATA sd,
INPUT_PARMS ip,
char *  szTitle,
PINChI2 pINChI2[INCHI_NUM],
PINChI_Aux2 pINChI_Aux2[INCHI_NUM],
INCHI_IOSTREAM inp_file,
INCHI_IOSTREAM log_file,
INCHI_IOSTREAM out_file,
INCHI_IOSTREAM prb_file,
ORIG_ATOM_DATA orig_inp_data,
ORIG_ATOM_DATA prep_inp_data,
long  num_inp,
INCHI_IOS_STRING strbuf,
unsigned char  save_opt_bits 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessSingleInputFile()

int ProcessSingleInputFile ( int  argc,
char *  argv[] 
)
+ Here is the caller graph for this function:

◆ ReadCommandLineParms()

int ReadCommandLineParms ( int  argc,
const char *  argv[],
INPUT_PARMS ip,
char *  szSdfDataValue,
unsigned long *  ulDisplTime,
int  bReleaseVersion,
INCHI_IOSTREAM log_file 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ReadTheStructure()

int ReadTheStructure ( struct tagINCHI_CLOCK ic,
STRUCT_DATA sd,
INPUT_PARMS ip,
INCHI_IOSTREAM inp_file,
ORIG_ATOM_DATA orig_inp_data,
int  inp_index,
int *  out_index 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ReadWriteInChI()

int ReadWriteInChI ( struct tagINCHI_CLOCK ic,
struct tagCANON_GLOBALS pCG,
INCHI_IOSTREAM pInp,
INCHI_IOSTREAM pOut,
INCHI_IOSTREAM pLog,
INPUT_PARMS ip_inp,
STRUCT_DATA sd_inp,
inp_ATOM **  at,
int *  num_at,
int *  num_bonds,
OAD_Polymer **  polymer,
OAD_V3000 **  v3000,
char *  szMsg,
int  nMsgLen,
unsigned long  WarningFlags[2][2] 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ RepeatedlyRenumberAtomsAndRecalcINCHI()

int RepeatedlyRenumberAtomsAndRecalcINCHI ( struct tagINCHI_CLOCK ic,
CANON_GLOBALS CG,
STRUCT_DATA sd,
INPUT_PARMS ip,
char *  szTitle,
PINChI2 pINChI[INCHI_NUM],
PINChI_Aux2 pINChI_Aux[INCHI_NUM],
INCHI_IOSTREAM inp_file,
INCHI_IOSTREAM plog,
INCHI_IOSTREAM pout,
INCHI_IOSTREAM pprb,
ORIG_ATOM_DATA orig_inp_data,
ORIG_ATOM_DATA prep_inp_data,
long *  num_inp,
STRUCT_FPTRS pStructPtrs,
int *  nRet,
int  have_err_in_GetOneStructure,
long *  num_err,
int  output_error_inchi,
INCHI_IOS_STRING strbuf,
unsigned long *  pulTotalProcessingTime,
char *  pLF,
char *  pTAB,
long int  nrepeat 
)

◆ rrand()

int rrand ( int  m)

◆ save_command_line()

void save_command_line ( int  argc,
char *  argv[],
INCHI_IOSTREAM plog 
)
+ Here is the call graph for this function:

◆ set_line_separators()

void set_line_separators ( int  bINChIOutputOptions,
char **  pLF,
char **  pTAB 
)
+ Here is the caller graph for this function:

◆ shuffle()

void shuffle ( void *  obj,
size_t  nmemb,
size_t  size 
)

◆ SortAndPrintINChI()

int SortAndPrintINChI ( struct tagCANON_GLOBALS pCG,
INCHI_IOSTREAM out_file,
INCHI_IOS_STRING strbuf,
INCHI_IOSTREAM log_file,
INPUT_PARMS ip,
ORIG_ATOM_DATA orig_inp_data,
ORIG_ATOM_DATA prep_inp_data,
COMP_ATOM_DATA  composite_norm_data[INCHI_NUM][TAUT_NUM+1],
ORIG_STRUCT pOrigStruct,
int  num_components[INCHI_NUM],
int  num_non_taut[INCHI_NUM],
int  num_taut[INCHI_NUM],
INCHI_MODE  bTautFlags[INCHI_NUM],
INCHI_MODE  bTautFlagsDone[INCHI_NUM],
NORM_CANON_FLAGS pncFlags,
long  num_inp,
PINChI2 pINChI[INCHI_NUM],
PINChI_Aux2 pINChI_Aux[INCHI_NUM],
int *  pSortPrintINChIFlags,
unsigned char  save_opt_bits 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SplitTime()

void SplitTime ( unsigned long  ulTotalTime,
int *  hours,
int *  minutes,
int *  seconds,
int *  mseconds 
)

◆ TreatCreateINChIWarning()

int TreatCreateINChIWarning ( STRUCT_DATA sd,
INPUT_PARMS ip,
ORIG_ATOM_DATA orig_inp_data,
long  num_inp,
INCHI_IOSTREAM inp_file,
INCHI_IOSTREAM log_file,
INCHI_IOSTREAM out_file,
INCHI_IOSTREAM prb_file 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ TreatErrorsInCreateOneComponentINChI()

int TreatErrorsInCreateOneComponentINChI ( STRUCT_DATA sd,
INPUT_PARMS ip,
ORIG_ATOM_DATA orig_inp_data,
int  i,
long  num_inp,
INCHI_IOSTREAM inp_file,
INCHI_IOSTREAM log_file,
INCHI_IOSTREAM out_file,
INCHI_IOSTREAM prb_file 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ TreatErrorsInReadTheStructure()

int TreatErrorsInReadTheStructure ( STRUCT_DATA sd,
INPUT_PARMS ip,
int  nLogMask,
INCHI_IOSTREAM inp_file,
INCHI_IOSTREAM log_file,
INCHI_IOSTREAM out_file,
INCHI_IOSTREAM prb_file,
ORIG_ATOM_DATA orig_inp_data,
long *  num_inp 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ValidateAndPreparePolymerAndPseudoatoms()

int ValidateAndPreparePolymerAndPseudoatoms ( struct tagINCHI_CLOCK ic,
struct tagCANON_GLOBALS CG,
STRUCT_DATA sd,
INPUT_PARMS ip,
char *  szTitle,
PINChI2 pINChI2[INCHI_NUM],
PINChI_Aux2 pINChI_Aux2[INCHI_NUM],
INCHI_IOSTREAM inp_file,
INCHI_IOSTREAM log_file,
INCHI_IOSTREAM out_file,
INCHI_IOSTREAM prb_file,
ORIG_ATOM_DATA orig_inp_data,
ORIG_ATOM_DATA prep_inp_data,
long  num_inp,
INCHI_IOS_STRING strbuf,
unsigned char  save_opt_bits,
int *  mind_polymers 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ winchi_calc_inchikey()

void winchi_calc_inchikey ( int  ret,
int *  ikflag,
INPUT_PARMS ip,
INCHI_IOSTREAM out_file,
INCHI_IOSTREAM log_file 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function: