1 C------------------------------------------------------------------------------
2 C NeXus - Neutron & X-ray Common Data Format
4 C Application Program Interface (Fortran 77) Header File
6 C Copyright (C) 1997-2004 Freddie Akeroyd, Mark Koennecke
8 C This library is free software; you can redistribute it and/or
9 C modify it under the terms of the GNU Lesser General Public
10 C License as published by the Free Software Foundation; either
11 C version 2 of the License, or (at your option) any later version.
13 C This library is distributed in the hope that it will be useful,
14 C but WITHOUT ANY WARRANTY; without even the implied warranty of
15 C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 C Lesser General Public License for more details.
18 C You should have received a copy of the GNU Lesser General Public
19 C License along with this library; if not, write to the Free Software
20 C Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22 C For further information, see <http:
24 C $Id: napif.inc 1636 2011-10-13 21:09:07Z Pete Jemian $
25 C------------------------------------------------------------------------------
27 C *** Version of NeXus interface - should be consistent with napi.h!
28 CHARACTER*5 NEXUS_VERSION
29 PARAMETER(NEXUS_VERSION='3.9.0')
30 C *** NXaccess enum - access modes for NXopen
31 INTEGER NXACC_READ,NXACC_RDWR,NXACC_CREATE, NXACC_CREATE5,
32 + NXACC_CREATE4, NXACC_CREATEXML
33 PARAMETER(NXACC_READ=1,NXACC_RDWR=2,NXACC_CREATE=3,
34 + NXACC_CREATE4=4,NXACC_CREATE5=5,NXACC_CREATEXML=6)
35 C *** NXHANDLESIZE should be the size of an INTEGER*4 array that is (at least)
36 C *** large enough to hold an NXhandle structure
38 C PARAMETER(NXHANDLESIZE=5120)
39 PARAMETER(NXHANDLESIZE=9058)
40 C *** NXLINKSIZE is (at least) the size of an INTEGER*4 array that can hold
41 C *** an NXlink structure: we'll assume 64bit alignment of structure members for safety
43 PARAMETER(NXLINKSIZE=1040)
44 C *** Possible NXstatus values - these are returned by all NX routines
45 INTEGER NX_OK,NX_ERROR,NX_EOD
46 PARAMETER(NX_OK=1,NX_ERROR=0,NX_EOD=-1)
47 C *** Maximum values defined in HDF standard
48 INTEGER NX_MAXRANK,NX_MAXNAMELEN
49 PARAMETER(NX_MAXRANK=32,NX_MAXNAMELEN=64)
50 C *** HDF datatypes used by Nexus - see hntdefs.h in HDF distribution
51 INTEGER DFNT_FLOAT32,DFNT_FLOAT64,DFNT_INT8,DFNT_UINT8,DFNT_INT16,
52 + DFNT_UINT16,DFNT_INT32,DFNT_UINT32,DFNT_UCHAR8,DFNT_CHAR8,
53 + DFNT_INT64, DFNT_UINT64
54 PARAMETER(DFNT_FLOAT32=5,DFNT_FLOAT64=6,DFNT_INT8=20,
55 + DFNT_UINT8=21,DFNT_INT16=22,DFNT_UINT16=23,
56 + DFNT_INT32=24,DFNT_UINT32=25,DFNT_UCHAR8=3,
57 + DFNT_CHAR8=4, DFNT_INT64=26, DFNT_UINT64=27)
58 C *** NeXus names for HDF parameters
59 INTEGER NX_FLOAT32,NX_FLOAT64,NX_INT8,NX_UINT8,NX_INT16,
60 + NX_UINT16,NX_INT32,NX_UINT32,NX_CHAR,NX_BINARY,
61 + NX_BOOLEAN, NX_INT64, NX_UINT64
62 PARAMETER(NX_FLOAT32=5,NX_FLOAT64=6,NX_INT8=20,
63 + NX_UINT8=21,NX_INT16=22,NX_UINT16=23,
64 + NX_INT32=24,NX_UINT32=25,NX_CHAR=4,NX_BOOLEAN=21,
65 + NX_BINARY=21, NX_INT64=26,NX_UINT64=27)
66 C**** NeXus compression schemes
67 INTEGER NX_COMP_NONE, NX_COMP_LZW, NX_COMP_HUF, NX_COMP_RLE
68 PARAMETER(NX_COMP_NONE=100,NX_COMP_LZW=200,NX_COMP_RLE=300,
70 C**** NeXus Unlimited Dimension
72 PARAMETER (NX_UNLIMITED=-1)
73 INTEGER NXOPEN, NXCLOSE, NXMAKEGROUP, NXOPENGROUP, NXCLOSEGROUP,
74 + NXMAKEDATA, NXOPENDATA, NXCLOSEDATA, NXGETDATA,
75 + NXGETCHARDATA, NXGETSLAB, NXGETATTR, NXGETCHARATTR,
76 + NXPUTDATA, NXPUTCHARDATA, NXPUTSLAB,
77 + NXPUTATTR, NXPUTCHARATTR, NXGETINFO,
78 + NXGETNEXTENTRY, NXGETNEXTATTR, NXGETGROUPID, NXMAKELINK,
79 + NXGETGROUPINFO, NXINITGROUPDIR, NXGETATTRINFO,
80 + NXINITATTRDIR, NXFLUSH, NXCOMPMAKEDATA, NXOPENPATH,
81 + NXSETNUMBERFORMAT, NXOPENGROUPPATH, NXOPENSOURCEGROUP,
82 + NXMAKENAMEDLINK, NXGETPATH
84 EXTERNAL NXOPEN, NXCLOSE, NXMAKEGROUP, NXOPENGROUP, NXCLOSEGROUP,
85 + NXMAKEDATA, NXOPENDATA, NXCLOSEDATA, NXGETDATA,
86 + NXGETCHARDATA, NXGETSLAB, NXGETATTR, NXGETCHARATTR,
87 + NXPUTDATA, NXPUTCHARDATA, NXPUTSLAB,
88 + NXPUTATTR, NXPUTCHARATTR, NXGETINFO,
89 + NXGETNEXTENTRY, NXGETNEXTATTR, NXGETGROUPID, NXMAKELINK,
90 + NXGETGROUPINFO, NXINITGROUPDIR, NXGETATTRINFO,
91 + NXINITATTRDIR, NXFLUSH, NXCOMPMAKEDATA, NXSAMEID,
92 + NXOPENPATH,NXSETNUMBERFORMAT, NXOPENGROUPPATH,
93 + NXOPENSOURCEGROUP, NXINQUIREFILE, NXISEXTERNALGROUP,
94 + NXLINKEXTERNAL, NXMAKENAMEDLINK, NXGETPATH