NeXus  1
 All Files Functions Pages
napif.inc
Go to the documentation of this file.
1 C------------------------------------------------------------------------------
2 C NeXus - Neutron & X-ray Common Data Format
3 C
4 C Application Program Interface (Fortran 77) Header File
5 C
6 C Copyright (C) 1997-2004 Freddie Akeroyd, Mark Koennecke
7 C
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.
12 C
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.
17 C
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
21 C
22 C For further information, see <http://www.nexusformat.org>
23 C
24 C $Id: napif.inc 1636 2011-10-13 21:09:07Z Pete Jemian $
25 C------------------------------------------------------------------------------
26 
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
37  INTEGER NXHANDLESIZE
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
42  INTEGER NXLINKSIZE
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,
69  + NX_COMP_HUF=400)
70 C**** NeXus Unlimited Dimension
71  INTEGER NX_UNLIMITED
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
83  LOGICAL NXSAMEID
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