InChI
 
Loading...
Searching...
No Matches
ixa.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 __IXA_H__
8#define __IXA_H__
9
10
11/****************************************************************************/
12/* InChI Extensible API Object Handles */
13/*
14 * These are the "handles" which can be used to refer to "Objects"
15 * used in the InChI Extensible API.
16 *
17 * To ensure that each handle has a different formal type, each is declared
18 * as a pointer to a C struct containing a dummy integer field (which is in
19 * fact not used). In practice, the values are simply cast from int, but
20 * this approach provides greater type security, and prevents handles for
21 * different objects getting mixed up.
22*/
23
24typedef struct { int dummy; } IXA_STATUS_HANDLE_STRUCT;
26
27typedef struct { int dummy; } IXA_MOL_HANDLE_STRUCT;
29
30typedef struct { int dummy; } IXA_INCHIBUILDER_HANDLE_STRUCT;
32
35
36/****************************************************************************/
37/* Types for Atom, Bond and Stereo Descriptor Identifiers */
38/*
39 * These types are for the identifiers for individual atoms, bonds and
40 * stereodescriptors in an IXA Molecule Object.
41 *
42 * To ensure that each identifier has a different formal type, each is
43 * declared as a pointer to a C struct containing a dummy integer field
44 * (which is in fact not used). In practice, the values are simply cast
45 * from int, but this approach provides greater type security, and
46 * prevents different sorts of identifier from getting mixed up.
47*/
48
49typedef struct { int dummy; } IXA_ATOMID_STRUCT;
51
52typedef struct { int dummy; } IXA_BONDID_STRUCT;
54
55typedef struct { int dummy; } IXA_STEREOID_STRUCT;
57
58/* Extended mol data */
59
60typedef struct { int dummy; } IXA_POLYMERUNITID_STRUCT;
61typedef IXA_POLYMERUNITID_STRUCT *IXA_POLYMERUNITID; /* polymer unit */
62
63/****************************************************************************/
64/* Constants and enumerated types */
65
66#define IXA_ATOMID_INVALID ((IXA_ATOMID)0)
67
68#define IXA_ATOMID_IMPLICIT_H ((IXA_ATOMID)-1)
69
70#define IXA_BONDID_INVALID ((IXA_BONDID)0)
71
72#define IXA_STEREOID_INVALID ((IXA_STEREOID)0)
73
74#define IXA_ATOM_NATURAL_MASS 0
75
76#define IXA_POLYMERUNITID_INVALID ((IXA_POLYMERUNITID)0)
77#define IXA_EXT_MOLDATA_INVALID (-1)
78#define IXA_EXT_POLYMER_INVALID (-1)
79#define IXA_EXT_V3000_INVALID (-1)
80
87
88typedef enum
89{
91 IXA_TRUE = 1
93
101
109
117
123
131
139
140typedef enum
141{
167/*#if BUILD_WITH_ENG_OPTIONS==1*/
175/*#endif*/
183
192
193
194
195/* Uncomment the next line if old-API coverage is intended - instead of GetINCHIEx(), GetStructFromINCHIEx() */
196/*#define IXA_USES_NON_EX_CORE_API 1*/
197
198/* Comment the next line to disable improved storage mechanism (pre-allocated growing arrays) for IXA_MOL */
199/* data structs (added after report by Daniel Lowe on performance deterioraion due to numerous alloc calls) */
200#define IXA_USES_SMART_ALLOCS 1
201
202
203/****************************************************************************/
204
205#ifdef __cplusplus
206extern "C" {
207#endif
208
209/****************************************************************************/
210/* Functions handling IXA Status Objects */
211
213
215
217
219
221
223
225 int vIndex );
226
228 int vIndex );
229
230
231
232
233 /****************************************************************************/
234 /* Functions to Create, Clear and Destroy Molecule Objects */
235
237
239 IXA_MOL_HANDLE hMolecule );
240
242 IXA_MOL_HANDLE hMolecule );
243
244
245 /****************************************************************************/
246 /* Functions Operating on Complete Molecules */
247
249 IXA_MOL_HANDLE hMolecule,
250 const char* pBytes );
251
252
254 IXA_MOL_HANDLE hMolecule,
255 const char* pInChI );
256
258 IXA_MOL_HANDLE hMolecule,
259 char* pAuxInfo,
260 int bDoNotAddH,
261 int bDiffUnkUndfStereo);
262
264 IXA_MOL_HANDLE hMolecule,
265 IXA_BOOL vChiral );
266
268 IXA_MOL_HANDLE hMolecule );
269
270
271 /****************************************************************************/
272 /* Functions to Add and Define Atoms */
273
275 IXA_MOL_HANDLE hMolecule );
276
278 IXA_MOL_HANDLE hMolecule,
279 IXA_ATOMID vAtom,
280 const char* pElement );
281
283 IXA_MOL_HANDLE hMolecule,
284 IXA_ATOMID vAtom,
285 int vAtomicNumber );
286
288 IXA_MOL_HANDLE hMolecule,
289 IXA_ATOMID vAtom,
290 int vMassNumber );
291
293 IXA_MOL_HANDLE hMolecule,
294 IXA_ATOMID vAtom,
295 int vCharge );
296
298 IXA_MOL_HANDLE hMolecule,
299 IXA_ATOMID vAtom,
300 IXA_ATOM_RADICAL vRadical );
301
303 IXA_MOL_HANDLE hMolecule,
304 IXA_ATOMID vAtom,
305 int vHydrogenMassNumber,
306 int vHydrogenCount );
307
309 IXA_MOL_HANDLE hMolecule,
310 IXA_ATOMID vAtom,
311 double vX );
312
314 IXA_MOL_HANDLE hMolecule,
315 IXA_ATOMID vAtom,
316 double vY );
317
319 IXA_MOL_HANDLE hMolecule,
320 IXA_ATOMID vAtom,
321 double vZ );
322
323
324 /****************************************************************************/
325 /* Functions to Add and Define Bonds */
326
328 IXA_MOL_HANDLE hMolecule,
329 IXA_ATOMID vAtom1,
330 IXA_ATOMID vAtom2 );
331
333 IXA_MOL_HANDLE hMolecule,
334 IXA_BONDID vBond,
335 IXA_BOND_TYPE vType );
336
338 IXA_MOL_HANDLE hMolecule,
339 IXA_BONDID vBond,
340 IXA_ATOMID vRefAtom,
341 IXA_BOND_WEDGE vDirection );
342
344 IXA_MOL_HANDLE hMolecule,
345 IXA_BONDID vBond,
346 IXA_DBLBOND_CONFIG vConfig );
347
348
349 /*****************************************************************************/
350 /* Functions to Add and Define Stereodescriptors */
351
353 IXA_MOL_HANDLE hMolecule,
354 IXA_ATOMID vCentralAtom,
355 IXA_ATOMID vVertex1,
356 IXA_ATOMID vVertex2,
357 IXA_ATOMID vVertex3,
358 IXA_ATOMID vVertex4 );
359
361 IXA_MOL_HANDLE hMolecule,
362 IXA_BONDID vCentralBond,
363 IXA_ATOMID vVertex1,
364 IXA_ATOMID vVertex2,
365 IXA_ATOMID vVertex3,
366 IXA_ATOMID vVertex4 );
367
369 IXA_MOL_HANDLE hMolecule,
370 IXA_ATOMID vCentralAtom,
371 IXA_ATOMID vVertex1,
372 IXA_ATOMID vVertex2,
373 IXA_ATOMID vVertex3,
374 IXA_ATOMID vVertex4 );
375
377 IXA_MOL_HANDLE hMolecule,
378 IXA_STEREOID vStereo,
379 IXA_STEREO_PARITY vParity );
380
381
383 IXA_MOL_HANDLE hMolecule,
384 int num_atoms,
385 int num_bonds,
386 int num_stereos );
387
388
389 /****************************************************************************/
390 /* Functions to to Treat Extended molecular data */
391
393 IXA_MOL_HANDLE hMolecule );
394
396 IXA_MOL_HANDLE hMolecule,
397 IXA_POLYMERUNITID vPunit,
398 int vid,
399 int vtype,
400 int vsubtype,
401 int vconn,
402 int vlabel,
403 int vna,
404 int vnb,
405 double vxbr1[4],
406 double vxbr2[4],
407 char vsmt[80],
408 int *valist,
409 int *vblist );
410
411
412
413 /****************************************************************************/
414 /* Functions to Navigate Within a Molecule */
415
417 IXA_MOL_HANDLE hMolecule );
418
420 IXA_MOL_HANDLE hMolecule );
421
423 IXA_MOL_HANDLE hMolecule,
424 int vAtomIndex );
425
427 IXA_MOL_HANDLE hMolecule,
428 int vBondIndex );
429
431 IXA_MOL_HANDLE hMolecule,
432 IXA_ATOMID vAtom );
433
435 IXA_MOL_HANDLE hMolecule,
436 IXA_BONDID vBond );
437
439 IXA_MOL_HANDLE hMolecule,
440 IXA_ATOMID vAtom );
441
443 IXA_MOL_HANDLE hMolecule,
444 int vPolymerUnitIndex );
446 IXA_MOL_HANDLE hMolecule,
447 IXA_POLYMERUNITID vPolymerUnit );
448
449
451 IXA_MOL_HANDLE hMolecule,
452 IXA_ATOMID vAtom,
453 int vBondIndex );
454
456 IXA_MOL_HANDLE hMolecule,
457 IXA_ATOMID vAtom1,
458 IXA_ATOMID vAtom2 );
459
461 IXA_MOL_HANDLE hMolecule,
462 IXA_BONDID vBond );
463
465 IXA_MOL_HANDLE hMolecule,
466 IXA_BONDID vBond );
467
469 IXA_MOL_HANDLE hMolecule,
470 IXA_BONDID vBond,
471 IXA_ATOMID vAtom );
472
473 /*****************************************************************************/
474 /* Functions to Return Information About Atoms */
475
477 IXA_MOL_HANDLE hMolecule,
478 IXA_ATOMID vAtom );
479
481 IXA_MOL_HANDLE hMolecule,
482 IXA_ATOMID vAtom );
483
485 IXA_MOL_HANDLE hMolecule,
486 IXA_ATOMID vAtom );
487
489 IXA_MOL_HANDLE hMolecule,
490 IXA_ATOMID vAtom );
491
493 IXA_MOL_HANDLE hMolecule,
494 IXA_ATOMID vAtom );
495
497 IXA_MOL_HANDLE hMolecule,
498 IXA_ATOMID vAtom,
499 int vHydrogenMassNumber );
500
502 IXA_MOL_HANDLE hMolecule,
503 IXA_ATOMID vAtom );
504
506 IXA_MOL_HANDLE hMolecule,
507 IXA_ATOMID vAtom );
508
510 IXA_MOL_HANDLE hMolecule,
511 IXA_ATOMID vAtom );
512
513
514 /*****************************************************************************/
515 /* Functions to Return Information About Bonds */
516
518 IXA_MOL_HANDLE hMolecule,
519 IXA_BONDID vBond );
520
522 IXA_MOL_HANDLE hMolecule,
523 IXA_BONDID vBond,
524 IXA_ATOMID vRefAtom );
525
527 IXA_MOL_HANDLE hMolecule,
528 IXA_BONDID vBond );
529
530 /*****************************************************************************/
531 /* Functions to return Information About Stereodescriptors */
532
533
535 IXA_MOL_HANDLE hMolecule );
536
538 IXA_MOL_HANDLE hMolecule,
539 int vStereoIndex );
540
542 IXA_MOL_HANDLE hMolecule,
543 IXA_STEREOID vStereo );
544
546 IXA_MOL_HANDLE hMolecule,
547 IXA_STEREOID vStereo );
548
550 IXA_MOL_HANDLE hMolecule,
551 IXA_STEREOID vStereo );
552
554 IXA_MOL_HANDLE hMolecule,
555 IXA_STEREOID vStereo );
556
558 IXA_MOL_HANDLE hMolecule,
559 IXA_STEREOID vStereo );
560
562 IXA_MOL_HANDLE hMolecule,
563 IXA_STEREOID vStereo,
564 int vVertexIndex );
565
567 IXA_MOL_HANDLE hMolecule,
568 IXA_STEREOID vStereo );
569
570 /****************************************************************************/
571 /* Functions for Generating InChIs */
572
574
576 IXA_INCHIBUILDER_HANDLE hInChIBuilder,
577 IXA_MOL_HANDLE hMolecule );
578
580
582 IXA_INCHIBUILDER_HANDLE hInChIBuilder );
583
585 IXA_INCHIBUILDER_HANDLE hBuilder );
586
588 IXA_INCHIBUILDER_HANDLE hInChIBuilder );
589
591 IXA_INCHIBUILDER_HANDLE hInChIBuilder );
592
594 IXA_INCHIBUILDER_HANDLE hInChIBuilder );
595
596
597 /****************************************************************************/
598 /* Functions for Specifying/checking InChI Generation Options */
599
600
602 IXA_INCHIBUILDER_HANDLE hInChIBuilder,
604 IXA_BOOL vValue );
605
607 IXA_INCHIBUILDER_HANDLE hInChIBuilder,
609
611 IXA_INCHIBUILDER_HANDLE hInChIBuilder,
612 int vValue );
614 IXA_INCHIBUILDER_HANDLE hInChIBuilder,
615 long vValue );
616
618 IXA_INCHIBUILDER_HANDLE hInChIBuilder,
620
622 IXA_INCHIBUILDER_HANDLE hInChIBuilder,
624
626 IXA_INCHIBUILDER_HANDLE hInChIBuilder);
627
628
629
630 /****************************************************************************/
631 /* Functions for Generating InChI Keys */
632
633
635
637 IXA_INCHIKEYBUILDER_HANDLE hInChIKeyBuilder,
638 const char* pInChI );
639
641 IXA_INCHIKEYBUILDER_HANDLE hInChIKeyBuilder );
642
644 IXA_INCHIKEYBUILDER_HANDLE hInChIKeyBuilder );
645
646
647#ifdef __cplusplus
648}
649#endif
650
651#endif
#define INCHI_API
Definition inchi_api.h:671
#define INCHI_DECL
Definition inchi_api.h:673
#define EXPIMP_TEMPLATE
Definition inchi_api.h:672
EXPIMP_TEMPLATE INCHI_API IXA_STEREO_PARITY INCHI_DECL IXA_MOL_GetStereoParity(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule, IXA_STEREOID vStereo)
Definition ixa_mol.c:2296
EXPIMP_TEMPLATE INCHI_API void INCHI_DECL IXA_MOL_ReadAuxInfo(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule, char *pAuxInfo, int bDoNotAddH, int bDiffUnkUndfStereo)
Definition ixa_read_inchi.c:651
EXPIMP_TEMPLATE INCHI_API double INCHI_DECL IXA_MOL_GetAtomX(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule, IXA_ATOMID vAtom)
Definition ixa_mol.c:918
EXPIMP_TEMPLATE INCHI_API IXA_POLYMERUNITID INCHI_DECL IXA_MOL_GetPolymerUnitId(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule, int vPolymerUnitIndex)
Definition ixa_mol.c:2661
EXPIMP_TEMPLATE INCHI_API IXA_BOOL INCHI_DECL IXA_INCHIBUILDER_CheckOption(IXA_STATUS_HANDLE hStatus, IXA_INCHIBUILDER_HANDLE hInChIBuilder, IXA_INCHIBUILDER_OPTION vOption)
Definition ixa_builder.c:1741
EXPIMP_TEMPLATE INCHI_API IXA_STATUS_HANDLE INCHI_DECL IXA_STATUS_Create(void)
Definition ixa_status.c:198
EXPIMP_TEMPLATE INCHI_API int INCHI_DECL IXA_MOL_GetAtomIndex(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule, IXA_ATOMID vAtom)
Definition ixa_mol.c:822
EXPIMP_TEMPLATE INCHI_API int INCHI_DECL IXA_MOL_GetBondIndex(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule, IXA_BONDID vBond)
Definition ixa_mol.c:1649
EXPIMP_TEMPLATE INCHI_API void INCHI_DECL IXA_MOL_SetStereoParity(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule, IXA_STEREOID vStereo, IXA_STEREO_PARITY vParity)
Definition ixa_mol.c:2275
EXPIMP_TEMPLATE INCHI_API void INCHI_DECL IXA_MOL_SetAtomZ(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule, IXA_ATOMID vAtom, double vZ)
Definition ixa_mol.c:988
EXPIMP_TEMPLATE INCHI_API IXA_BOOL INCHI_DECL IXA_STATUS_HasError(IXA_STATUS_HANDLE hStatus)
Definition ixa_status.c:236
EXPIMP_TEMPLATE INCHI_API void INCHI_DECL IXA_MOL_Destroy(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule)
Definition ixa_mol.c:709
EXPIMP_TEMPLATE INCHI_API int INCHI_DECL IXA_MOL_GetStereoNumVertices(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule, IXA_STEREOID vStereo)
Definition ixa_mol.c:2217
IXA_BOOL
Definition ixa.h:89
@ IXA_FALSE
Definition ixa.h:90
@ IXA_TRUE
Definition ixa.h:91
EXPIMP_TEMPLATE INCHI_API double INCHI_DECL IXA_MOL_GetAtomY(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule, IXA_ATOMID vAtom)
Definition ixa_mol.c:965
IXA_BOND_TYPE
Definition ixa.h:103
@ IXA_BOND_TYPE_AROMATIC
Definition ixa.h:107
@ IXA_BOND_TYPE_SINGLE
Definition ixa.h:104
@ IXA_BOND_TYPE_TRIPLE
Definition ixa.h:106
@ IXA_BOND_TYPE_DOUBLE
Definition ixa.h:105
IXA_INCHIBUILDER_HANDLE_STRUCT * IXA_INCHIBUILDER_HANDLE
Definition ixa.h:31
IXA_STEREO_TOPOLOGY
Definition ixa.h:125
@ IXA_STEREO_TOPOLOGY_INVALID
Definition ixa.h:126
@ IXA_STEREO_TOPOLOGY_ANTIRECTANGLE
Definition ixa.h:129
@ IXA_STEREO_TOPOLOGY_TETRAHEDRON
Definition ixa.h:127
@ IXA_STEREO_TOPOLOGY_RECTANGLE
Definition ixa.h:128
IXA_BONDID_STRUCT * IXA_BONDID
Definition ixa.h:53
EXPIMP_TEMPLATE INCHI_API void INCHI_DECL IXA_INCHIBUILDER_SetMolecule(IXA_STATUS_HANDLE hStatus, IXA_INCHIBUILDER_HANDLE hInChIBuilder, IXA_MOL_HANDLE hMolecule)
Definition ixa_builder.c:806
EXPIMP_TEMPLATE INCHI_API void INCHI_DECL IXA_INCHIKEYBUILDER_SetInChI(IXA_STATUS_HANDLE hStatus, IXA_INCHIKEYBUILDER_HANDLE hInChIKeyBuilder, const char *pInChI)
Definition ixa_inchikey_builder.c:72
EXPIMP_TEMPLATE INCHI_API IXA_INCHIBUILDER_HANDLE INCHI_DECL IXA_INCHIBUILDER_Create(IXA_STATUS_HANDLE hStatus)
Definition ixa_builder.c:767
EXPIMP_TEMPLATE INCHI_API const char *INCHI_DECL IXA_INCHIBUILDER_GetAuxInfo(IXA_STATUS_HANDLE hStatus, IXA_INCHIBUILDER_HANDLE hInChIBuilder)
Definition ixa_builder.c:2017
EXPIMP_TEMPLATE INCHI_API int INCHI_DECL IXA_MOL_GetPolymerUnitIndex(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule, IXA_POLYMERUNITID vPolymerUnit)
Definition ixa_mol.c:2682
EXPIMP_TEMPLATE INCHI_API int INCHI_DECL IXA_MOL_GetNumAtoms(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule)
Definition ixa_mol.c:781
EXPIMP_TEMPLATE INCHI_API IXA_STEREOID INCHI_DECL IXA_MOL_CreateStereoTetrahedron(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule, IXA_ATOMID vCentralAtom, IXA_ATOMID vVertex1, IXA_ATOMID vVertex2, IXA_ATOMID vVertex3, IXA_ATOMID vVertex4)
Definition ixa_mol.c:1975
EXPIMP_TEMPLATE INCHI_API IXA_BOND_TYPE INCHI_DECL IXA_MOL_GetBondType(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule, IXA_BONDID vBond)
Definition ixa_mol.c:1787
EXPIMP_TEMPLATE INCHI_API int INCHI_DECL IXA_MOL_ReserveSpace(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule, int num_atoms, int num_bonds, int num_stereos)
Definition ixa_mol.c:1397
EXPIMP_TEMPLATE INCHI_API long INCHI_DECL IXA_INCHIBUILDER_GetOption_Timeout_MilliSeconds(IXA_STATUS_HANDLE hStatus, IXA_INCHIBUILDER_HANDLE hInChIBuilder)
Definition ixa_builder.c:1958
EXPIMP_TEMPLATE INCHI_API void INCHI_DECL IXA_MOL_SetAtomX(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule, IXA_ATOMID vAtom, double vX)
Definition ixa_mol.c:894
EXPIMP_TEMPLATE INCHI_API void INCHI_DECL IXA_MOL_SetBondType(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule, IXA_BONDID vBond, IXA_BOND_TYPE vType)
Definition ixa_mol.c:1761
EXPIMP_TEMPLATE INCHI_API IXA_ATOMID INCHI_DECL IXA_MOL_GetAtomId(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule, int vAtomIndex)
Definition ixa_mol.c:795
EXPIMP_TEMPLATE INCHI_API void INCHI_DECL IXA_INCHIKEYBUILDER_Destroy(IXA_STATUS_HANDLE hStatus, IXA_INCHIKEYBUILDER_HANDLE hInChIKeyBuilder)
Definition ixa_inchikey_builder.c:60
EXPIMP_TEMPLATE INCHI_API IXA_ATOM_RADICAL INCHI_DECL IXA_MOL_GetAtomRadical(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule, IXA_ATOMID vAtom)
Definition ixa_mol.c:1327
EXPIMP_TEMPLATE INCHI_API IXA_INCHIKEYBUILDER_HANDLE INCHI_DECL IXA_INCHIKEYBUILDER_Create(IXA_STATUS_HANDLE hStatus)
Definition ixa_inchikey_builder.c:45
EXPIMP_TEMPLATE INCHI_API int INCHI_DECL IXA_MOL_GetNumStereos(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule)
Definition ixa_mol.c:2078
EXPIMP_TEMPLATE INCHI_API IXA_STEREOID INCHI_DECL IXA_MOL_GetStereoId(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule, int vStereoIndex)
Definition ixa_mol.c:2092
IXA_INCHIKEYBUILDER_HANDLE_STRUCT * IXA_INCHIKEYBUILDER_HANDLE
Definition ixa.h:34
EXPIMP_TEMPLATE INCHI_API void INCHI_DECL IXA_MOL_SetPolymerUnit(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule, IXA_POLYMERUNITID vPunit, int vid, int vtype, int vsubtype, int vconn, int vlabel, int vna, int vnb, double vxbr1[4], double vxbr2[4], char vsmt[80], int *valist, int *vblist)
Definition ixa_mol.c:2318
EXPIMP_TEMPLATE INCHI_API IXA_BOOL INCHI_DECL IXA_INCHIBUILDER_CheckOption_Stereo(IXA_STATUS_HANDLE hStatus, IXA_INCHIBUILDER_HANDLE hInChIBuilder, IXA_INCHIBUILDER_STEREOOPTION vValue)
Definition ixa_builder.c:1936
EXPIMP_TEMPLATE INCHI_API IXA_BOND_WEDGE INCHI_DECL IXA_MOL_GetBondWedge(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule, IXA_BONDID vBond, IXA_ATOMID vRefAtom)
Definition ixa_mol.c:1846
EXPIMP_TEMPLATE INCHI_API void INCHI_DECL IXA_MOL_SetAtomRadical(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule, IXA_ATOMID vAtom, IXA_ATOM_RADICAL vRadical)
Definition ixa_mol.c:1303
EXPIMP_TEMPLATE INCHI_API int INCHI_DECL IXA_STATUS_GetCount(IXA_STATUS_HANDLE hStatus)
Definition ixa_status.c:250
EXPIMP_TEMPLATE INCHI_API const char *INCHI_DECL IXA_STATUS_GetMessage(IXA_STATUS_HANDLE hStatus, int vIndex)
Definition ixa_status.c:263
EXPIMP_TEMPLATE INCHI_API const char *INCHI_DECL IXA_INCHIBUILDER_GetInChIVersion(IXA_BOOL vFullDescription)
Definition ixa_builder.c:1973
EXPIMP_TEMPLATE INCHI_API IXA_BONDID INCHI_DECL IXA_MOL_GetAtomBond(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule, IXA_ATOMID vAtom, int vBondIndex)
Definition ixa_mol.c:867
EXPIMP_TEMPLATE INCHI_API void INCHI_DECL IXA_MOL_SetBondWedge(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule, IXA_BONDID vBond, IXA_ATOMID vRefAtom, IXA_BOND_WEDGE vDirection)
Definition ixa_mol.c:1809
EXPIMP_TEMPLATE INCHI_API int INCHI_DECL IXA_MOL_GetAtomHydrogens(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule, IXA_ATOMID vAtom, int vHydrogenMassNumber)
Definition ixa_mol.c:1201
EXPIMP_TEMPLATE INCHI_API void INCHI_DECL IXA_INCHIBUILDER_SetOption(IXA_STATUS_HANDLE hStatus, IXA_INCHIBUILDER_HANDLE hInChIBuilder, IXA_INCHIBUILDER_OPTION vOption, IXA_BOOL vValue)
Definition ixa_builder.c:1591
IXA_STEREOID_STRUCT * IXA_STEREOID
Definition ixa.h:56
EXPIMP_TEMPLATE INCHI_API void INCHI_DECL IXA_MOL_SetAtomMass(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule, IXA_ATOMID vAtom, int vMassNumber)
Definition ixa_mol.c:1236
EXPIMP_TEMPLATE INCHI_API void INCHI_DECL IXA_STATUS_Destroy(IXA_STATUS_HANDLE hStatus)
Definition ixa_status.c:211
EXPIMP_TEMPLATE INCHI_API void INCHI_DECL IXA_MOL_ReadMolfile(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule, const char *pBytes)
Definition ixa_read_mol.c:43
EXPIMP_TEMPLATE INCHI_API void INCHI_DECL IXA_INCHIBUILDER_SetOption_Timeout_MilliSeconds(IXA_STATUS_HANDLE hStatus, IXA_INCHIBUILDER_HANDLE hInChIBuilder, long vValue)
Definition ixa_builder.c:1577
EXPIMP_TEMPLATE INCHI_API void INCHI_DECL IXA_INCHIBUILDER_SetOption_Stereo(IXA_STATUS_HANDLE hStatus, IXA_INCHIBUILDER_HANDLE hInChIBuilder, IXA_INCHIBUILDER_STEREOOPTION vValue)
Definition ixa_builder.c:1548
EXPIMP_TEMPLATE INCHI_API void INCHI_DECL IXA_MOL_SetAtomAtomicNumber(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule, IXA_ATOMID vAtom, int vAtomicNumber)
Definition ixa_mol.c:1098
EXPIMP_TEMPLATE INCHI_API void INCHI_DECL IXA_MOL_SetAtomY(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule, IXA_ATOMID vAtom, double vY)
Definition ixa_mol.c:941
EXPIMP_TEMPLATE INCHI_API IXA_ATOMID INCHI_DECL IXA_MOL_GetBondAtom2(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule, IXA_BONDID vBond)
Definition ixa_mol.c:1697
EXPIMP_TEMPLATE INCHI_API const char *INCHI_DECL IXA_MOL_GetAtomElement(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule, IXA_ATOMID vAtom)
Definition ixa_mol.c:1075
EXPIMP_TEMPLATE INCHI_API IXA_ATOMID INCHI_DECL IXA_MOL_GetBondOtherAtom(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule, IXA_BONDID vBond, IXA_ATOMID vAtom)
Definition ixa_mol.c:1721
EXPIMP_TEMPLATE INCHI_API IXA_ATOMID INCHI_DECL IXA_MOL_CreateAtom(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule)
Definition ixa_mol.c:766
EXPIMP_TEMPLATE INCHI_API IXA_MOL_HANDLE INCHI_DECL IXA_MOL_Create(IXA_STATUS_HANDLE hStatus)
Definition ixa_mol.c:694
IXA_STATUS
Definition ixa.h:82
@ IXA_STATUS_SUCCESS
Definition ixa.h:83
@ IXA_STATUS_WARNING
Definition ixa.h:84
@ IXA_STATUS_ERROR
Definition ixa.h:85
EXPIMP_TEMPLATE INCHI_API void INCHI_DECL IXA_MOL_SetDblBondConfig(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule, IXA_BONDID vBond, IXA_DBLBOND_CONFIG vConfig)
Definition ixa_mol.c:1882
EXPIMP_TEMPLATE INCHI_API IXA_BOOL INCHI_DECL IXA_STATUS_HasWarning(IXA_STATUS_HANDLE hStatus)
Definition ixa_status.c:243
IXA_MOL_HANDLE_STRUCT * IXA_MOL_HANDLE
Definition ixa.h:28
EXPIMP_TEMPLATE INCHI_API void INCHI_DECL IXA_INCHIBUILDER_SetOption_Timeout(IXA_STATUS_HANDLE hStatus, IXA_INCHIBUILDER_HANDLE hInChIBuilder, int vValue)
Definition ixa_builder.c:1562
EXPIMP_TEMPLATE INCHI_API IXA_STEREOID INCHI_DECL IXA_MOL_CreateStereoRectangle(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule, IXA_BONDID vCentralBond, IXA_ATOMID vVertex1, IXA_ATOMID vVertex2, IXA_ATOMID vVertex3, IXA_ATOMID vVertex4)
Definition ixa_mol.c:2010
EXPIMP_TEMPLATE INCHI_API IXA_ATOMID INCHI_DECL IXA_MOL_GetBondAtom1(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule, IXA_BONDID vBond)
Definition ixa_mol.c:1672
EXPIMP_TEMPLATE INCHI_API void INCHI_DECL IXA_MOL_SetAtomHydrogens(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule, IXA_ATOMID vAtom, int vHydrogenMassNumber, int vHydrogenCount)
Definition ixa_mol.c:1151
IXA_ATOM_RADICAL
Definition ixa.h:95
@ IXA_ATOM_RADICAL_SINGLET
Definition ixa.h:97
@ IXA_ATOM_RADICAL_TRIPLET
Definition ixa.h:99
@ IXA_ATOM_RADICAL_DOUBLET
Definition ixa.h:98
@ IXA_ATOM_RADICAL_NONE
Definition ixa.h:96
EXPIMP_TEMPLATE INCHI_API IXA_STEREOID INCHI_DECL IXA_MOL_CreateStereoAntiRectangle(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule, IXA_ATOMID vCentralAtom, IXA_ATOMID vVertex1, IXA_ATOMID vVertex2, IXA_ATOMID vVertex3, IXA_ATOMID vVertex4)
Definition ixa_mol.c:2044
EXPIMP_TEMPLATE INCHI_API int INCHI_DECL IXA_MOL_GetAtomNumBonds(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule, IXA_ATOMID vAtom)
Definition ixa_mol.c:844
IXA_INCHIBUILDER_STEREOOPTION
Definition ixa.h:185
@ IXA_INCHIBUILDER_STEREOOPTION_SRel
Definition ixa.h:188
@ IXA_INCHIBUILDER_STEREOOPTION_SUCF
Definition ixa.h:190
@ IXA_INCHIBUILDER_STEREOOPTION_SRac
Definition ixa.h:189
@ IXA_INCHIBUILDER_STEREOOPTION_SAbs
Definition ixa.h:186
@ IXA_INCHIBUILDER_STEREOOPTION_SNon
Definition ixa.h:187
IXA_DBLBOND_CONFIG
Definition ixa.h:119
@ IXA_DBLBOND_CONFIG_EITHER
Definition ixa.h:121
@ IXA_DBLBOND_CONFIG_PERCEIVE
Definition ixa.h:120
EXPIMP_TEMPLATE INCHI_API IXA_BOOL INCHI_DECL IXA_MOL_GetChiral(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule)
Definition ixa_mol.c:753
EXPIMP_TEMPLATE INCHI_API void INCHI_DECL IXA_MOL_SetAtomCharge(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule, IXA_ATOMID vAtom, int vCharge)
Definition ixa_mol.c:1350
EXPIMP_TEMPLATE INCHI_API double INCHI_DECL IXA_MOL_GetAtomZ(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule, IXA_ATOMID vAtom)
Definition ixa_mol.c:1012
EXPIMP_TEMPLATE INCHI_API const char *INCHI_DECL IXA_INCHIBUILDER_GetInChI(IXA_STATUS_HANDLE hStatus, IXA_INCHIBUILDER_HANDLE hInChIBuilder)
Definition ixa_builder.c:1987
EXPIMP_TEMPLATE INCHI_API IXA_DBLBOND_CONFIG INCHI_DECL IXA_MOL_GetDblBondConfig(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule, IXA_BONDID vBond)
Definition ixa_mol.c:1906
EXPIMP_TEMPLATE INCHI_API IXA_BONDID INCHI_DECL IXA_MOL_GetStereoCentralBond(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule, IXA_STEREOID vStereo)
Definition ixa_mol.c:2184
IXA_STATUS_HANDLE_STRUCT * IXA_STATUS_HANDLE
Definition ixa.h:25
EXPIMP_TEMPLATE INCHI_API IXA_ATOMID INCHI_DECL IXA_MOL_GetStereoVertex(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule, IXA_STEREOID vStereo, int vVertexIndex)
Definition ixa_mol.c:2239
EXPIMP_TEMPLATE INCHI_API void INCHI_DECL IXA_MOL_SetAtomElement(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule, IXA_ATOMID vAtom, const char *pElement)
Definition ixa_mol.c:1035
EXPIMP_TEMPLATE INCHI_API void INCHI_DECL IXA_MOL_SetChiral(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule, IXA_BOOL vChiral)
Definition ixa_mol.c:738
EXPIMP_TEMPLATE INCHI_API IXA_BONDID INCHI_DECL IXA_MOL_GetBondId(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule, int vBondIndex)
Definition ixa_mol.c:1622
EXPIMP_TEMPLATE INCHI_API void INCHI_DECL IXA_MOL_ReadInChI(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule, const char *pInChI)
Definition ixa_read_inchi.c:154
EXPIMP_TEMPLATE INCHI_API IXA_BONDID INCHI_DECL IXA_MOL_CreateBond(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule, IXA_ATOMID vAtom1, IXA_ATOMID vAtom2)
Definition ixa_mol.c:1462
EXPIMP_TEMPLATE INCHI_API const char *INCHI_DECL IXA_INCHIBUILDER_GetInChIEx(IXA_STATUS_HANDLE hStatus, IXA_INCHIBUILDER_HANDLE hBuilder)
Definition ixa_builder.c:2002
EXPIMP_TEMPLATE INCHI_API IXA_ATOMID INCHI_DECL IXA_MOL_GetStereoCentralAtom(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule, IXA_STEREOID vStereo)
Definition ixa_mol.c:2151
EXPIMP_TEMPLATE INCHI_API const char *INCHI_DECL IXA_INCHIKEYBUILDER_GetInChIKey(IXA_STATUS_HANDLE hStatus, IXA_INCHIKEYBUILDER_HANDLE hInChIKeyBuilder)
Definition ixa_inchikey_builder.c:96
IXA_ATOMID_STRUCT * IXA_ATOMID
Definition ixa.h:50
EXPIMP_TEMPLATE INCHI_API IXA_STATUS INCHI_DECL IXA_STATUS_GetSeverity(IXA_STATUS_HANDLE hStatus, int vIndex)
Definition ixa_status.c:281
EXPIMP_TEMPLATE INCHI_API int INCHI_DECL IXA_MOL_GetNumBonds(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule)
Definition ixa_mol.c:1608
IXA_INCHIBUILDER_OPTION
Definition ixa.h:141
@ IXA_INCHIBUILDER_OPTION_OnlyRecSalt
Definition ixa.h:172
@ IXA_INCHIBUILDER_OPTION_AuxNone
Definition ixa.h:151
@ IXA_INCHIBUILDER_OPTION_PT_13_00
Definition ixa.h:180
@ IXA_INCHIBUILDER_OPTION_Polymers105
Definition ixa.h:155
@ IXA_INCHIBUILDER_OPTION_SUU
Definition ixa.h:144
@ IXA_INCHIBUILDER_OPTION_OutErrInChI
Definition ixa.h:165
@ IXA_INCHIBUILDER_OPTION_DoDrv
Definition ixa.h:168
@ IXA_INCHIBUILDER_OPTION_InvFilterSS
Definition ixa.h:158
@ IXA_INCHIBUILDER_OPTION_LargeMolecules
Definition ixa.h:153
@ IXA_INCHIBUILDER_OPTION_FixedH
Definition ixa.h:146
@ IXA_INCHIBUILDER_OPTION_DoNotAddH
Definition ixa.h:143
@ IXA_INCHIBUILDER_OPTION_NPZZ
Definition ixa.h:159
@ IXA_INCHIBUILDER_OPTION_Polymers105Plus
Definition ixa.h:156
@ IXA_INCHIBUILDER_OPTION_Polymers
Definition ixa.h:154
@ IXA_INCHIBUILDER_OPTION_FoldCRU
Definition ixa.h:162
@ IXA_INCHIBUILDER_OPTION_LooseTSACheck
Definition ixa.h:164
@ IXA_INCHIBUILDER_OPTION_NewPsOff
Definition ixa.h:142
@ IXA_INCHIBUILDER_OPTION_FilterSS
Definition ixa.h:157
@ IXA_INCHIBUILDER_OPTION_RecMet
Definition ixa.h:147
@ IXA_INCHIBUILDER_OPTION_PT_16_00
Definition ixa.h:177
@ IXA_INCHIBUILDER_OPTION_OnlyRecMet
Definition ixa.h:174
@ IXA_INCHIBUILDER_OPTION_KET
Definition ixa.h:148
@ IXA_INCHIBUILDER_OPTION_OnlyExact
Definition ixa.h:173
@ IXA_INCHIBUILDER_OPTION_PT_22_00
Definition ixa.h:176
@ IXA_INCHIBUILDER_OPTION_NoFrameShift
Definition ixa.h:161
@ IXA_INCHIBUILDER_OPTION_15T
Definition ixa.h:149
@ IXA_INCHIBUILDER_OPTION_DoDrvReport
Definition ixa.h:169
@ IXA_INCHIBUILDER_OPTION_PT_18_00
Definition ixa.h:181
@ IXA_INCHIBUILDER_OPTION_SLUUD
Definition ixa.h:145
@ IXA_INCHIBUILDER_OPTION_DoneOnly
Definition ixa.h:171
@ IXA_INCHIBUILDER_OPTION_SATZZ
Definition ixa.h:160
@ IXA_INCHIBUILDER_OPTION_PT_39_00
Definition ixa.h:179
@ IXA_INCHIBUILDER_OPTION_DoR2C
Definition ixa.h:170
@ IXA_INCHIBUILDER_OPTION_WarnOnEmptyStructure
Definition ixa.h:152
@ IXA_INCHIBUILDER_OPTION_NoWarnings
Definition ixa.h:166
@ IXA_INCHIBUILDER_OPTION_NoEdits
Definition ixa.h:163
@ IXA_INCHIBUILDER_OPTION_PT_06_00
Definition ixa.h:178
@ IXA_INCHIBUILDER_OPTION_SaveOpt
Definition ixa.h:150
EXPIMP_TEMPLATE INCHI_API IXA_STEREO_TOPOLOGY INCHI_DECL IXA_MOL_GetStereoTopology(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule, IXA_STEREOID vStereo)
Definition ixa_mol.c:2129
EXPIMP_TEMPLATE INCHI_API int INCHI_DECL IXA_MOL_GetStereoIndex(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule, IXA_STEREOID vStereo)
Definition ixa_mol.c:2113
EXPIMP_TEMPLATE INCHI_API int INCHI_DECL IXA_MOL_GetAtomAtomicNumber(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule, IXA_ATOMID vAtom)
Definition ixa_mol.c:1128
IXA_STEREO_PARITY
Definition ixa.h:133
@ IXA_STEREO_PARITY_ODD
Definition ixa.h:135
@ IXA_STEREO_PARITY_NONE
Definition ixa.h:134
@ IXA_STEREO_PARITY_EVEN
Definition ixa.h:136
@ IXA_STEREO_PARITY_UNKNOWN
Definition ixa.h:137
IXA_POLYMERUNITID_STRUCT * IXA_POLYMERUNITID
Definition ixa.h:61
EXPIMP_TEMPLATE INCHI_API const char *INCHI_DECL IXA_INCHIBUILDER_GetLog(IXA_STATUS_HANDLE hStatus, IXA_INCHIBUILDER_HANDLE hInChIBuilder)
Definition ixa_builder.c:2032
EXPIMP_TEMPLATE INCHI_API int INCHI_DECL IXA_MOL_GetAtomCharge(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule, IXA_ATOMID vAtom)
Definition ixa_mol.c:1374
EXPIMP_TEMPLATE INCHI_API IXA_BONDID INCHI_DECL IXA_MOL_GetCommonBond(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule, IXA_ATOMID vAtom1, IXA_ATOMID vAtom2)
Definition ixa_mol.c:1929
EXPIMP_TEMPLATE INCHI_API void INCHI_DECL IXA_STATUS_Clear(IXA_STATUS_HANDLE hStatus)
Definition ixa_status.c:224
IXA_BOND_WEDGE
Definition ixa.h:111
@ IXA_BOND_WEDGE_DOWN
Definition ixa.h:114
@ IXA_BOND_WEDGE_EITHER
Definition ixa.h:115
@ IXA_BOND_WEDGE_NONE
Definition ixa.h:112
@ IXA_BOND_WEDGE_UP
Definition ixa.h:113
EXPIMP_TEMPLATE INCHI_API void INCHI_DECL IXA_INCHIBUILDER_Destroy(IXA_STATUS_HANDLE hStatus, IXA_INCHIBUILDER_HANDLE hInChIBuilder)
Definition ixa_builder.c:788
EXPIMP_TEMPLATE INCHI_API void INCHI_DECL IXA_MOL_Clear(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule)
Definition ixa_mol.c:724
EXPIMP_TEMPLATE INCHI_API IXA_POLYMERUNITID INCHI_DECL IXA_MOL_CreatePolymerUnit(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule)
Definition ixa_mol.c:2646
EXPIMP_TEMPLATE INCHI_API int INCHI_DECL IXA_MOL_GetAtomMass(IXA_STATUS_HANDLE hStatus, IXA_MOL_HANDLE hMolecule, IXA_ATOMID vAtom)
Definition ixa_mol.c:1280
Definition ixa.h:49
int dummy
Definition ixa.h:49
Definition ixa.h:52
int dummy
Definition ixa.h:52
int dummy
Definition ixa.h:30
int dummy
Definition ixa.h:33
Definition ixa.h:27
int dummy
Definition ixa.h:27
Definition ixa.h:60
int dummy
Definition ixa.h:60
Definition ixa.h:24
int dummy
Definition ixa.h:24
Definition ixa.h:55
int dummy
Definition ixa.h:55