source: trunk/bindings/swig/nxinter.i @ 1822

Revision 1375, 3.1 KB checked in by Mark Koennecke, 3 years ago (diff)
  • Implemented NXgetpath for C, C++, Java, SWIG and F77, refs #199
  • Python still needs to be done but I think python has an own implementation.
  • I added to the test code: now as they are based on text comparison all of them fail :-(
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1/*
2   Interface file for SWIG and the NeXus-API.
3
4   copyright: GPL
5 
6   The criminal act of writing this code was initially commited by:
7       
8   Mark Koennecke in October 2002
9
10   Updated: April 2006, Mark Koennecke
11*/
12%module nxinter
13%{
14#include "nxinterhelper.h"
15
16%}
17%title "NeXus-API Interface Fucntions"
18
19/*-------------------------------- Constants ------------------------*/
20%section "Constants"
21
22/* Access Codes */
23#define NXACC_READ    1
24#define NXACC_RDWR    2
25#define NXACC_CREATE  3
26#define NXACC_CREATE4 4
27#define NXACC_CREATE5 5
28#define NXACC_CREATEXML 6
29
30/* data types */
31#define NX_FLOAT32   5
32#define NX_FLOAT64   6
33#define NX_INT8     20 
34#define NX_UINT8    21
35#define NX_BOOLEAN  21
36#define NX_INT16    22 
37#define NX_UINT16   23
38#define NX_INT32    24
39#define NX_UINT32   25
40#define NX_INT64    26
41#define NX_UINT64   27
42#define NX_CHAR      4
43/*--------------------------------------------------------------------*/
44%include "nxdataset.i"
45/*-------------------- error handling --------------------------------*/
46extern char *nx_getlasterror(void);
47/*------------------------ opening and closing --------------------------*/
48%section "Opening and Closing NeXus Files"
49extern void *nx_open(char *filename, int accessCode);
50extern void *nx_flush(void *handle);
51extern void  nx_close(void *handle);
52
53
54%section "Navigating Groups"
55extern int nx_makegroup(void *handle, char *name, char *nxclass);
56extern int nx_opengroup(void *handle, char *name, char *nxclass);
57extern int nx_openpath(void *handle, char *path);
58extern int nx_opengrouppath(void *handle, char *path);
59extern char *nx_getpath(void *handle);
60extern int nx_closegroup(void *handle);
61extern char *nx_getnextentry(void *handle, char separator);
62extern void *nx_getgroupID(void *handle);
63extern int nx_initgroupdir(void *handle);
64
65%section "Dataset Handling"
66extern int nx_makedata(void *handle, char *name, int rank, int type,
67                        void *dimPtr);
68extern int nx_compmakedata(void *handle, char *name, int rank, int type,
69                        void *dimPtr, void *bufPtr);
70extern int nx_opendata(void *handle, char *name);
71extern int nx_closedata(void *handle);
72extern int nx_putslab(void *handle, void *dataset, void *startDim);
73extern void *nx_getslab(void *handle, void *startdim, void *size);
74extern void *nx_getds(void *handle, char *name);
75extern int   nx_putds(void *handle, char *name, void *dataset);
76extern void *nx_getdata(void *handle);
77extern int   nx_putdata(void *handle,void *dataset);
78extern void *nx_getinfo(void *handle);
79extern void *nx_getdataID(void *handle);
80
81
82%section "Attributes"
83extern char *nx_getnextattr(void *handle, char separator);
84extern int   nx_putattr(void *handle, char *name, void *ds);
85extern void *nx_getattr(void *handle, char *name, int type, int length);
86
87%section "Making Links"
88extern int nx_makelink(void *handle, void *link);
89extern int nx_makenamedlink(void *handle, char *name, void *link);
90extern int nx_opensourcegroup(void *handle);
91
92%section "External Linking"
93extern char *nx_inquirefile(void *handle);
94extern void *nx_isexternalgroup(void *handle, char *name, char* nxclass);
95extern int nx_linkexternal(void *handle, char *name, char *nxclass, char *nxurl);
Note: See TracBrowser for help on using the repository browser.