InChI
 
Loading...
Searching...
No Matches
readinch.h
Go to the documentation of this file.
1/*
2 * SPDX-License-Identifier: MIT
3 * Copyright (c) 2024 IUPAC and InChI Trust
4 */
5
6#include "mode.h" /* djb-rwth: necessary header file */
7#include "inchi_api.h" /* djb-rwth: necessary header file */
8#include "inpdef.h" /* djb-rwth: necessary header file */
9
10#ifndef _READINCH_H_
11#define _READINCH_H_
12
13#define INPUT_FILE INCHI_IOSTREAM
14
15#define MIN_BOND_LENGTH (1.0e-6)
16#define INCHI_LINE_LEN 262144 /*32767*/ /*512*/ /*1024*/ /*256*/
17#define INCHI_LINE_ADD 32767 /*384*/ /*128*/ /*64*/
18
19
20/* Convenience storage for InChI read control data */
21typedef struct ReadINCHI_CtlData
22{
23 unsigned long ulongID;
28}
30
31
32/*
33Note:
34(INCHI_LINE_LEN - INCHI_LINE_ADD) > (length of the longest item: szCoord) = 33
35*/
36
37char *FindToken( INCHI_IOSTREAM *inp_molfile,
38 int *bTooLongLine,
39 const char *sToken,
40 int lToken,
41 char *szLine,
42 int nLenLine,
43 char *p,
44 int *res );
45char *LoadLine( INPUT_FILE *inp_molfile,
46 int *bTooLongLine,
47 int *bItemIsOver,
48 char **s,
49 char *szLine,
50 int nLenLine,
51 int nMinLen2Load,
52 char *p,
53 int *res );
54inchi_Stereo0D *CreateInchi_Stereo0D( int num_stereo0D );
55void FreeInchi_Stereo0D( inchi_Stereo0D **stereo0D );
57 int nNumAtoms,
58 inchi_Stereo0D *stereo0D,
59 int num_stereo0D,
60 char *pStrErr,
61 int *err,
62 int vABParityUnknown );
63int InchiToInpAtom( INCHI_IOSTREAM *inp_molfile,
64 MOL_COORD **szCoord,
65 int bDoNotAddH,
66 int vABParityUnknown,
67 INPUT_TYPE nInputType,
68 inp_ATOM **at,
69 int max_num_at,
70 int *num_dimensions,
71 int *num_bonds,
72 char *pSdfLabel,
73 char *pSdfValue,
74 unsigned long *Id,
75 INCHI_MODE *pInpAtomFlags,
76 int *err,
77 char *pStrErr );
78
79
80#endif /* _READINCH_H_ */
enum tagInputType INPUT_TYPE
unsigned long INCHI_MODE
Definition ichisize.h:25
char MOL_COORD[LEN_COORD *NUM_COORD+NUM_COORD - 1]
Definition ichisize.h:29
#define INPUT_FILE
Definition readinch.h:13
int Extract0DParities(inp_ATOM *at, int nNumAtoms, inchi_Stereo0D *stereo0D, int num_stereo0D, char *pStrErr, int *err, int vABParityUnknown)
Definition readinch.c:101
inchi_Stereo0D * CreateInchi_Stereo0D(int num_stereo0D)
Definition readinch.c:83
char * LoadLine(INPUT_FILE *inp_molfile, int *bTooLongLine, int *bItemIsOver, char **s, char *szLine, int nLenLine, int nMinLen2Load, char *p, int *res)
char * FindToken(INCHI_IOSTREAM *inp_molfile, int *bTooLongLine, const char *sToken, int lToken, char *szLine, int nLenLine, char *p, int *res)
Definition readinch.c:410
int InchiToInpAtom(INCHI_IOSTREAM *inp_molfile, MOL_COORD **szCoord, int bDoNotAddH, int vABParityUnknown, INPUT_TYPE nInputType, inp_ATOM **at, int max_num_at, int *num_dimensions, int *num_bonds, char *pSdfLabel, char *pSdfValue, unsigned long *Id, INCHI_MODE *pInpAtomFlags, int *err, char *pStrErr)
Definition readinch.c:514
void FreeInchi_Stereo0D(inchi_Stereo0D **stereo0D)
Definition readinch.c:90
Definition readinch.h:22
int bRestoreInfo
Definition readinch.h:27
int bTooLongLine
Definition readinch.h:24
unsigned long ulongID
Definition readinch.h:23
int bErrorMsg
Definition readinch.h:26
int bHeaderRead
Definition readinch.h:25
Definition inchi_api.h:399
Structure describing an input atom.
Definition inpdef.h:107
Definition mode.h:999