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 PARAMETER(NXHANDLESIZE=9124)
39 C *** NXLINKSIZE is (at least) the size of an INTEGER*4 array that can hold
40 C *** an NXlink structure: we'll assume 64bit alignment of structure members for safety
42 PARAMETER(NXLINKSIZE=1040)
43 C *** Possible NXstatus values - these are returned by all NX routines
44 INTEGER NX_OK,NX_ERROR,NX_EOD
45 PARAMETER(NX_OK=1,NX_ERROR=0,NX_EOD=-1)
46 C *** Maximum values defined in HDF standard
47 INTEGER NX_MAXRANK,NX_MAXNAMELEN
48 PARAMETER(NX_MAXRANK=32,NX_MAXNAMELEN=64)
49 C *** HDF datatypes used by Nexus - see hntdefs.h in HDF distribution
50 INTEGER DFNT_FLOAT32,DFNT_FLOAT64,DFNT_INT8,DFNT_UINT8,DFNT_INT16,
51 + DFNT_UINT16,DFNT_INT32,DFNT_UINT32,DFNT_UCHAR8,DFNT_CHAR8,
52 + DFNT_INT64, DFNT_UINT64
53 PARAMETER(DFNT_FLOAT32=5,DFNT_FLOAT64=6,DFNT_INT8=20,
54 + DFNT_UINT8=21,DFNT_INT16=22,DFNT_UINT16=23,
55 + DFNT_INT32=24,DFNT_UINT32=25,DFNT_UCHAR8=3,
56 + DFNT_CHAR8=4, DFNT_INT64=26, DFNT_UINT64=27)
57 C *** NeXus names for HDF parameters
58 INTEGER NX_FLOAT32,NX_FLOAT64,NX_INT8,NX_UINT8,NX_INT16,
59 + NX_UINT16,NX_INT32,NX_UINT32,NX_CHAR,NX_BINARY,
60 + NX_BOOLEAN, NX_INT64, NX_UINT64
61 PARAMETER(NX_FLOAT32=5,NX_FLOAT64=6,NX_INT8=20,
62 + NX_UINT8=21,NX_INT16=22,NX_UINT16=23,
63 + NX_INT32=24,NX_UINT32=25,NX_CHAR=4,NX_BOOLEAN=21,
64 + NX_BINARY=21, NX_INT64=26,NX_UINT64=27)
65 C**** NeXus compression schemes
66 INTEGER NX_COMP_NONE, NX_COMP_LZW, NX_COMP_HUF, NX_COMP_RLE
67 PARAMETER(NX_COMP_NONE=100,NX_COMP_LZW=200,NX_COMP_RLE=300,
69 C**** NeXus Unlimited Dimension
71 PARAMETER (NX_UNLIMITED=-1)
83 EXTERNAL NXOPEN, NXCLOSE, NXMAKEGROUP, NXOPENGROUP, NXCLOSEGROUP,
84 + NXMAKEDATA, NXOPENDATA, NXCLOSEDATA, NXGETDATA,
85 + NXGETCHARDATA, NXGETSLAB, NXGETATTR, NXGETCHARATTR,
86 + NXPUTDATA, NXPUTCHARDATA, NXPUTSLAB,
87 + NXPUTATTR, NXPUTCHARATTR, NXGETINFO,
88 + NXGETNEXTENTRY, NXGETNEXTATTR, NXGETGROUPID, NXMAKELINK,
89 + NXGETGROUPINFO, NXINITGROUPDIR, NXGETATTRINFO,
90 + NXINITATTRDIR, NXFLUSH, NXCOMPMAKEDATA,
NXSAMEID,
91 + NXOPENPATH,NXSETNUMBERFORMAT, NXOPENGROUPPATH,
logical function NXSAMEID(FILEID, LINK1, LINK2)
integer function NXGETATTRINFO(FILEID, NUM)
integer function NXMAKEDATA(FILEID, LABEL, DATATYPE, RANK, DIM)
integer function NXINITGROUPDIR(FILEID)
integer function NXGETCHARDATA(FILEID, DATA)
integer function NXFLUSH(FILEID)
integer function NXMAKEGROUP(FILEID, VGROUP, NXCLASS)
integer function NXINQUIREFILE(FILEID, NXFILE)
integer function NXSETNUMBERFORMAT(FILEID, ITYPE, FORMAT)
integer function NXPUTCHARDATA(FILEID, DATA)
integer function NXMAKELINK(FILEID, LINK)
integer function NXOPEN(FILENAME, ACCESS_METHOD, FILEID)
Wrapper routines for NXAPI interface.
integer function NXGETINFO(FILEID, RANK, DIM, DATATYPE)
integer function NXGETATTR(FILEID, NAME, DATA, DATALEN, TYPE)
integer function NXGETSLAB(FILEID, DATA, START, SIZE)
integer function NXOPENSOURCEGROUP(FILEID)
integer function NXPUTCHARATTR(FILEID, NAME, DATA, DATALEN, TYPE)
integer function NXGETGROUPID(FILEID, LINK)
integer function NXPUTSLAB(FILEID, DATA, START, SIZE)
integer function NXCLOSEGROUP(FILEID)
integer function NXGETNEXTENTRY(FILEID, NAME, CLASS, DATATYPE)
integer function NXGETNEXTATTR(FILEID, PNAME, ILENGTH, ITYPE)
integer function NXINITATTRDIR(FILEID)
integer function NXGETCHARATTR(FILEID, NAME, DATA, DATALEN, TYPE)
integer function NXOPENPATH(FILEID, PATH)
integer function NXCLOSEDATA(FILEID)
integer function NXGETDATA(FILEID, DATA)
integer function NXOPENGROUPPATH(FILEID, PATH)
integer function NXISEXTERNALGROUP(FILEID, VGROUP, NXCLASS, NXURL)
integer function NXMAKENAMEDLINK(FILEID, PNAME, LINK)
integer function NXLINKEXTERNAL(FILEID, VGROUP, NXCLASS, NXURL)
integer function NXCOMPMAKEDATA(FILEID, LABEL, DATATYPE, RANK, DIM, COMPRESSION_TYPE, CHUNK)
integer function NXPUTATTR(FILEID, NAME, DATA, DATALEN, TYPE)
integer function NXCLOSE(FILEID)
integer function NXGETGROUPINFO(FILEID, NUM, NAME, CLASS)
integer function NXOPENGROUP(FILEID, VGROUP, NXCLASS)
integer function NXOPENDATA(FILEID, LABEL)
integer function NXPUTDATA(FILEID, DATA)
integer function NXGETPATH(FILEID, PATH)