InChI
 
Loading...
Searching...
No Matches
inchi_dll_a.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
7#ifndef __INCHI_DLL_A_H__
8#define __INCHI_DLL_A_H__
9
10#include "../../../INCHI_BASE/src/ichicant.h"
11
43
44typedef struct tagINCHIGEN_CONTROL
45{
46
50
52
53 unsigned long ulTotalProcessingTime;
55 /* Expandable string buffer */
57 /*char *pStr;*/
58 long num_err;
59 long num_inp;
60
61
64
65 /* For the whole structure: */
67
68 /* For each member of pair disconnected/reconnected structures: */
69 ORIG_ATOM_DATA PrepInpData[INCHI_NUM]; /* INCHI_NUM=2; 0 disconnected/original
70 1 reconnected */
72
75
77 /* TAUT_NUM=2; 0 non-tautomeric
78 1 tautomeric
79 2 intermediate tautomeric */
80
83
84/* For each connected component of structures: */
87
88 /* For each connected component of structures: */
91
92/* Placed at the end intentionally */
95
96
97
98/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
99Exported functions
100^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
101
102
103#if (defined( _WIN32 ) && defined( _MSC_VER ) && defined(BUILD_LINK_AS_DLL) )
104 /* Win32 & MS VC ++, compile and link as a DLL */
105#ifdef _USRDLL
106 /* InChI library dll */
107#define INCHI_API __declspec(dllexport)
108#define EXPIMP_TEMPLATE
109#define INCHI_DECL
110#else
111 /* calling the InChI dll program */
112#define INCHI_API __declspec(dllimport)
113#define EXPIMP_TEMPLATE extern
114#define INCHI_DECL
115#endif
116#else
117 /* create a statically linked InChI library or link to an executable */
118#define INCHI_API
119#define EXPIMP_TEMPLATE
120#define INCHI_DECL
121#endif
122
123
124
125/* to compile all InChI code as a C++ code #define COMPILE_ALL_CPP */
126#ifndef COMPILE_ALL_CPP
127#ifdef __cplusplus
128extern "C" {
129#endif
130#endif
131
132
133
134
135/* Local functions */
137
138#ifndef COMPILE_ALL_CPP
139#ifdef __cplusplus
140}
141#endif
142#endif
143
144#define PSTR_BUFFER_SIZE 524288
145
146
147#endif /* __INCHI_DLL_A_H__ */
INChI * PINChI2[TAUT_NUM]
Definition ichi.h:224
INChI_Aux * PINChI_Aux2[TAUT_NUM]
Definition ichi.h:267
unsigned long INCHI_MODE
Definition ichisize.h:25
#define INCHI_NUM
Definition inchi_api.h:1144
struct tagINCHIGEN_CONTROL INCHIGEN_CONTROL
void make_norm_atoms_from_inp_atoms(INCHIGEN_DATA *gendata, INCHIGEN_CONTROL *genctl)
Definition inchi_dll_a2.c:2904
struct tagCOMPONENT_TREAT_INFO COMPONENT_TREAT_INFO
#define MAX_SDF_VALUE
Definition incomdef.h:18
#define MAX_SDF_HEADER
Definition incomdef.h:17
#define TAUT_NUM
Definition mode.h:560
Definition ichitaut.h:296
Definition extr_ct.h:75
Definition ichicant.h:154
Definition inchi_dll_a.h:13
T_GROUP_INFO vt_group_info_orig
Definition inchi_dll_a.h:22
sp_ATOM * at[TAUT_NUM]
Definition inchi_dll_a.h:38
int n2
Definition inchi_dll_a.h:15
int num_taut_at
Definition inchi_dll_a.h:27
int num_atoms
Definition inchi_dll_a.h:16
int bMayHaveStereo
Definition inchi_dll_a.h:26
int bPointedEdgeStereo
Definition inchi_dll_a.h:29
int num_at_tg
Definition inchi_dll_a.h:17
INCHI_MODE nUserMode
Definition inchi_dll_a.h:36
int n1
Definition inchi_dll_a.h:14
ATOM_SIZES s[TAUT_NUM]
Definition inchi_dll_a.h:23
int bLooseTSACheck
Definition inchi_dll_a.h:31
int bStereoAtZz
Definition inchi_dll_a.h:32
int num_deleted_H_taut
Definition inchi_dll_a.h:19
inp_ATOM * out_at
Definition inchi_dll_a.h:39
INCHI_MODE bTautFlagsDone
Definition inchi_dll_a.h:35
int vABParityUnknown
Definition inchi_dll_a.h:30
int fix_termhchrg
Definition inchi_dll_a.h:41
int fix_isofixedh
Definition inchi_dll_a.h:40
int bHasIsotopicAtoms
Definition inchi_dll_a.h:25
INCHI_MODE bTautFlags
Definition inchi_dll_a.h:34
BCN Bcn
Definition inchi_dll_a.h:24
int num_deleted_H
Definition inchi_dll_a.h:18
T_GROUP_INFO vt_group_info
Definition inchi_dll_a.h:21
INCHI_MODE nMode
Definition inchi_dll_a.h:20
Structure describing composite atom data for InChI generation.
Definition inpdef.h:614
Definition inchi_dll_a.h:45
INP_ATOM_DATA * InpCurAtData[INCHI_NUM]
Definition inchi_dll_a.h:71
ORIG_STRUCT OrigStruct
Definition inchi_dll_a.h:62
long num_err
Definition inchi_dll_a.h:58
unsigned long ulTotalProcessingTime
Definition inchi_dll_a.h:53
COMPONENT_TREAT_INFO * cti[INCHI_NUM]
Definition inchi_dll_a.h:90
ORIG_ATOM_DATA PrepInpData[INCHI_NUM]
Definition inchi_dll_a.h:69
ORIG_ATOM_DATA OrigInpData
Definition inchi_dll_a.h:63
INP_ATOM_DATA * InpNormAtData[INCHI_NUM]
Definition inchi_dll_a.h:73
int canon_passed
Definition inchi_dll_a.h:49
NORM_CANON_FLAGS ncFlags
Definition inchi_dll_a.h:82
INPUT_PARMS InpParms
Definition inchi_dll_a.h:51
INCHI_IOSTREAM inchi_file[3]
Definition inchi_dll_a.h:93
STRUCT_DATA StructData
Definition inchi_dll_a.h:66
int norm_passed
Definition inchi_dll_a.h:48
char szTitle[MAX_SDF_HEADER+MAX_SDF_VALUE+256]
Definition inchi_dll_a.h:54
INP_ATOM_DATA * InpNormTautData[INCHI_NUM]
Definition inchi_dll_a.h:74
PINChI_Aux2 * pINChI_Aux[INCHI_NUM]
Definition inchi_dll_a.h:86
INCHI_IOS_STRING strbuf_container
Definition inchi_dll_a.h:56
COMP_ATOM_DATA composite_norm_data[INCHI_NUM][TAUT_NUM+1]
Definition inchi_dll_a.h:76
PINChI2 * pINChI[INCHI_NUM]
Definition inchi_dll_a.h:85
long num_inp
Definition inchi_dll_a.h:59
int init_passed
Definition inchi_dll_a.h:47
Definition inchi_api.h:1236
Structure describing input atom data for InChI generation.
Definition inpdef.h:554
Structure describing an input atom.
Definition inpdef.h:107
Definition ichidrp.h:85
Structure describing normalization and canonicalization flags.
Definition inpdef.h:588
Structure describing original atom data.
Definition inpdef.h:398
Structure describing the original structure.
Definition inpdef.h:443
Definition mode.h:999
Definition mode.h:985
Definition ichimain.h:37
Definition ichitaut.h:187