1C****************************************************************************
2C* NCSA HDF                                                                 *
3C* Software Development Group                                               *
4C* National Center for Supercomputing Applications                          *
5C* University of Illinois at Urbana-Champaign                               *
6C* 605 E. Springfield, Champaign IL 61820                                   *
7C*                                                                          *
8C* For conditions of distribution and use, see the accompanying             *
9C* hdf/COPYING file.                                                        *
10C*                                                                          *
11C****************************************************************************
12C
13C $Id$
14C
15C *-----------------------------------------------------------------------------
16C * File: 	hdf.inc
17C * Purpose:	Fortran header file for HDF routines
18C * Contents:
19C *     Tag definitions
20C *     Error return codes
21C *    	Logical constants
22C * Remarks: This file can be included with Fortran user programs.  As a
23C *          general rule, don't use DFNT constants that don't include a
24C *          number in their name.  E.g., don't use DFNT_FLOAT, use
25C *          DFNT_FLOAT32 or DFNT_FLOAT64.  The DFNT constants that don't
26C *          include numbers are for backward compatibility only.  Also,
27C *          there are no current plans to support 128-bit number types.
28C *          For more information about constants in this file, see the
29C *          equivalent constant declarations in the C include file 'hdf.h'
30C *------------------------------------------------------------------------
31
32
33C	Error Return Codes
34
35      integer   DFE_NOERROR,   DFE_NONE,        DFE_FNF
36      integer   DFE_DENIED,    DFE_ALROPEN,     DFE_TOOMANY
37      integer   DFE_BADNAME,   DFE_BADACC,      DFE_BADOPEN
38      integer   DFE_NOTOPEN,   DFE_CANTCLOSE,   DFE_DFNULL
39      integer   DFE_ILLTYPE,   DFE_UNSUPPORTED, DFE_BADDDLIST
40      integer   DFE_NOTDFFILE, DFE_SEEDTWICE,   DFE_NOSPACE
41      integer   DFE_NOSUCHTAG, DFE_READERROR
42
43      parameter(DFE_NOERROR      =   0)
44      parameter(DFE_NONE         =   0)
45      parameter(DFE_FNF          =  -1)
46      parameter(DFE_DENIED       =  -2)
47      parameter(DFE_ALROPEN      =  -3)
48      parameter(DFE_TOOMANY      =  -4)
49      parameter(DFE_BADNAME      =  -5)
50      parameter(DFE_BADACC       =  -6)
51      parameter(DFE_BADOPEN      =  -7)
52      parameter(DFE_NOTOPEN      =  -8)
53      parameter(DFE_CANTCLOSE    =  -9)
54      parameter(DFE_DFNULL       = -10)
55      parameter(DFE_ILLTYPE      = -11)
56      parameter(DFE_UNSUPPORTED  = -12)
57      parameter(DFE_BADDDLIST    = -13)
58      parameter(DFE_NOTDFFILE    = -14)
59      parameter(DFE_SEEDTWICE    = -15)
60      parameter(DFE_NOSPACE      = -16)
61      parameter(DFE_NOSUCHTAG    = -17)
62      parameter(DFE_READERROR    = -18)
63
64      integer DFE_WRITEERROR,  DFE_SEEKERROR,   DFE_NOFREEDD
65      integer   DFE_BADTAG,      DFE_BADREF,      DFE_RDONLY
66      integer   DFE_BADCALL,     DFE_BADPTR,      DFE_BADLEN
67      integer   DFE_BADSEEK,     DFE_NOMATCH,     DFE_NOTINSET
68      integer   DFE_BADDIM,      DFE_BADOFFSET,   DFE_BADSCHEME
69      integer   DFE_NODIM,       DFE_NOTENOUGH,   DFE_NOVALS
70      integer   DFE_CORRUPT,     DFE_BADFP
71
72      parameter(DFE_WRITEERROR           = -19)
73      parameter(DFE_SEEKERROR            = -20)
74      parameter(DFE_NOFREEDD             = -21)
75      parameter(DFE_BADTAG               = -22)
76      parameter(DFE_BADREF               = -23)
77      parameter(DFE_RDONLY               = -24)
78      parameter(DFE_BADCALL              = -25)
79      parameter(DFE_BADPTR               = -26)
80      parameter(DFE_BADLEN               = -27)
81      parameter(DFE_BADSEEK              = -28)
82      parameter(DFE_NOMATCH              = -29)
83      parameter(DFE_NOTINSET             = -30)
84      parameter(DFE_BADDIM               = -31)
85      parameter(DFE_BADOFFSET            = -32)
86      parameter(DFE_BADSCHEME            = -33)
87      parameter(DFE_NODIM                = -34)
88      parameter(DFE_NOTENOUGH            = -35)
89      parameter(DFE_NOVALS               = -36)
90      parameter(DFE_CORRUPT              = -37)
91      parameter(DFE_BADFP                = -38)
92
93      integer DFE_NOREF,       DFE_BADDATATYPE, DFE_BADMCTYPE
94      integer   DFE_BADNUMTYPE,  DFE_BADORDER,    DFE_ARGS
95      integer   DFE_INTERNAL,    DFE_DUPDD,       DFE_CANTMOD
96      integer   DFE_RANGE,       DFE_BADTABLE,    DFE_BADSDG
97      integer   DFE_BADNDG,      DFE_BADFIELDS,   DFE_NORESET
98      integer   DFE_NOVS,        DFE_VGSIZE,      DFE_DIFFFILES
99      integer   DFE_VTAB,        DFE_BADAID
100
101      parameter(DFE_NOREF                = -39)
102      parameter(DFE_BADDATATYPE          = -40)
103      parameter(DFE_BADMCTYPE            = -41)
104      parameter(DFE_BADNUMTYPE           = -42)
105      parameter(DFE_BADORDER             = -43)
106      parameter(DFE_ARGS                 = -44)
107      parameter(DFE_INTERNAL             = -45)
108      parameter(DFE_DUPDD                = -46)
109      parameter(DFE_CANTMOD              = -47)
110      parameter(DFE_RANGE                = -48)
111      parameter(DFE_BADTABLE             = -49)
112      parameter(DFE_BADSDG               = -50)
113      parameter(DFE_BADNDG               = -51)
114      parameter(DFE_BADFIELDS            = -52)
115      parameter(DFE_NORESET              = -53)
116      parameter(DFE_NOVS                 = -54)
117      parameter(DFE_VGSIZE               = -55)
118      parameter(DFE_DIFFFILES            = -56)
119      parameter(DFE_VTAB                 = -57)
120      parameter(DFE_BADAID               = -58)
121
122      integer   DFE_OPENAID, DFE_BADCONV, DFE_GENAPP, DFE_CANTFLUSH
123      integer   DFE_BADTYPE, DFE_SYMSIZE, DFE_BADATTACH
124      integer   DFE_CANTDETACH
125
126      parameter(DFE_OPENAID              = -59)
127      parameter(DFE_BADCONV              = -60)
128      parameter(DFE_GENAPP               = -61)
129      parameter(DFE_CANTFLUSH            = -62)
130      parameter(DFE_BADTYPE              = -63)
131      parameter(DFE_SYMSIZE              = -64)
132      parameter(DFE_BADATTACH            = -65)
133      parameter(DFE_CANTDETACH           = -66)
134
135C internal file access codes
136
137      integer DFACC_READ, DFACC_WRITE, DFACC_CREATE, DFACC_ALL
138      integer DFACC_RDONLY, DFACC_RDWR, DFACC_CLOBBER
139
140      parameter(DFACC_READ               = 1)
141      parameter(DFACC_WRITE              = 2)
142      parameter(DFACC_CREATE             = 4)
143      parameter(DFACC_ALL                = 7)
144      parameter(DFACC_RDONLY             = 1)
145      parameter(DFACC_RDWR               = 3)
146      parameter(DFACC_CLOBBER            = 4)
147
148C Access types for SDsetaccesstype
149
150      integer DFACC_DEFAULT, DFACC_SERIAL, DFACC_PARALLEL
151      parameter(DFACC_DEFAULT           = 0)
152      parameter(DFACC_SERIAL            = 1)
153      parameter(DFACC_PARALLEL          = 9)
154
155C Constants for DFSDsetorder
156
157      integer DFO_FORTRAN, DFO_C
158
159      parameter(DFO_FORTRAN            = 1)
160      parameter(DFO_C                  = 2)
161
162C Definitions of storage convention
163
164      integer DFNTF_IEEE, DFNTF_VAX, DFNTF_CRAY, DFNTF_PC
165      integer   DFNTF_CONVEX, DFNTF_VP
166
167      parameter(DFNTF_IEEE             = 1)
168      parameter(DFNTF_VAX              = 2)
169      parameter(DFNTF_CRAY             = 3)
170      parameter(DFNTF_PC               = 4)
171      parameter(DFNTF_CONVEX           = 5)
172      parameter(DFNTF_VP               = 6)
173
174C       Masks for types
175
176      integer   DFNT_HDF, DFNT_NATIVE, DFNT_CUSTOM, DFNT_LITEND
177
178      parameter(DFNT_HDF                 = 0)
179      parameter(DFNT_NATIVE              = 4096)
180      parameter(DFNT_CUSTOM              = 8192)
181      parameter(DFNT_LITEND              = 16384)
182
183C Number type info codes
184
185      integer DFNT_NONE, DFNT_QUERY, DFNT_VERSION
186
187      parameter(DFNT_NONE       = 0)
188      parameter(DFNT_QUERY      = 0)
189      parameter(DFNT_VERSION    = 1)
190
191      integer   DFNT_FLOAT32, DFNT_FLOAT, DFNT_FLOAT64
192      integer   DFNT_DOUBLE,  DFNT_FLOAT128
193
194      parameter(DFNT_FLOAT32    = 5)
195      parameter(DFNT_FLOAT      = 5)
196      parameter(DFNT_FLOAT64    = 6)
197      parameter(DFNT_DOUBLE     = 6)
198      parameter(DFNT_FLOAT128   = 7)
199
200      integer   DFNT_INT8,  DFNT_UINT8
201      integer   DFNT_INT16, DFNT_UINT16
202      integer   DFNT_INT32, DFNT_UINT32
203      integer   DFNT_INT64, DFNT_UINT64
204      integer   DFNT_INT128,DFNT_UINT128
205
206      parameter(DFNT_INT8       = 20)
207      parameter(DFNT_UINT8      = 21)
208      parameter(DFNT_INT16      = 22)
209      parameter(DFNT_UINT16     = 23)
210      parameter(DFNT_INT32      = 24)
211      parameter(DFNT_UINT32     = 25)
212      parameter(DFNT_INT64      = 26)
213      parameter(DFNT_UINT64     = 27)
214      parameter(DFNT_INT128     = 28)
215      parameter(DFNT_UINT128    = 29)
216
217      integer  DFNT_UCHAR8, DFNT_UCHAR, DFNT_CHAR8
218      integer  DFNT_CHAR,   DFNT_CHAR16, DFNT_UCHAR16
219
220      parameter(DFNT_UCHAR8     = 3)
221      parameter(DFNT_UCHAR      = 3)
222      parameter(DFNT_CHAR8      = 4)
223      parameter(DFNT_CHAR       = 4)
224      parameter(DFNT_CHAR16     = 42)
225      parameter(DFNT_UCHAR16    = 43)
226
227      integer DFNT_NFLOAT32, DFNT_NFLOAT, DFNT_NFLOAT64
228      integer DFNT_NDOUBLE,  DFNT_NFLOAT128
229
230      parameter(DFNT_NFLOAT32   = 4101)
231      parameter(DFNT_NFLOAT     = 4101)
232      parameter(DFNT_NFLOAT64   = 4102)
233      parameter(DFNT_NDOUBLE    = 4102)
234      parameter(DFNT_NFLOAT128  = 4103)
235
236      integer    DFNT_NINT8,  DFNT_NUINT8
237      integer    DFNT_NINT16, DFNT_NUINT16
238      integer    DFNT_NINT32, DFNT_NUINT32
239      integer    DFNT_NINT64, DFNT_NUINT64
240      integer    DFNT_NINT128,DFNT_NUINT128
241
242      parameter(DFNT_NINT8       = 4116)
243      parameter(DFNT_NUINT8      = 4117)
244      parameter(DFNT_NINT16      = 4118)
245      parameter(DFNT_NUINT16     = 4119)
246      parameter(DFNT_NINT32      = 4120)
247      parameter(DFNT_NUINT32     = 4121)
248      parameter(DFNT_NINT64      = 4122)
249      parameter(DFNT_NUINT64     = 4123)
250      parameter(DFNT_NINT128     = 4124)
251      parameter(DFNT_NUINT128    = 4125)
252
253      integer DFNT_NUCHAR8, DFNT_NUCHAR, DFNT_NCHAR8
254      integer DFNT_NCHAR,   DFNT_NCHAR16, DFNT_NUCHAR16
255
256      parameter(DFNT_NUCHAR8  = 4099)
257      parameter(DFNT_NUCHAR   = 4099)
258      parameter(DFNT_NCHAR8   = 4100)
259      parameter(DFNT_NCHAR    = 4100)
260      parameter(DFNT_NCHAR16  = 4138)
261      parameter(DFNT_NUCHAR16 = 4139)
262
263      integer DFNT_LFLOAT32, DFNT_LFLOAT, DFNT_LFLOAT64
264      integer DFNT_LDOUBLE,  DFNT_LFLOAT128
265
266      parameter(DFNT_LFLOAT32  = 16389)
267      parameter(DFNT_LFLOAT    = 16389)
268      parameter(DFNT_LFLOAT64  = 16390)
269      parameter(DFNT_LDOUBLE   = 16390)
270      parameter(DFNT_LFLOAT128 = 16391)
271
272      integer   DFNT_LINT8,DFNT_LUINT8,DFNT_LINT16,DFNT_LUINT16
273      integer   DFNT_LINT32,DFNT_LUINT32,DFNT_LINT64,DFNT_LUINT64
274      integer   DFNT_LINT128,DFNT_LUINT128
275
276      parameter(DFNT_LINT8      = 16404)
277      parameter(DFNT_LUINT8     = 16405)
278      parameter(DFNT_LINT16     = 16406)
279      parameter(DFNT_LUINT16    = 16407)
280      parameter(DFNT_LINT32     = 16408)
281      parameter(DFNT_LUINT32    = 16409)
282      parameter(DFNT_LINT64     = 16410)
283      parameter(DFNT_LUINT64    = 16411)
284      parameter(DFNT_LINT128    = 16412)
285      parameter(DFNT_LUINT128   = 16413)
286
287      integer DFNT_LUCHAR8, DFNT_LUCHAR, DFNT_LCHAR8
288      integer DFNT_LCHAR,   DFNT_LCHAR16, DFNT_LUCHAR16
289
290      parameter(DFNT_LUCHAR8    = 16387)
291      parameter(DFNT_LUCHAR     = 16387)
292      parameter(DFNT_LCHAR8     = 16388)
293      parameter(DFNT_LCHAR      = 16388)
294      parameter(DFNT_LCHAR16    = 16426)
295      parameter(DFNT_LUCHAR16   = 16427)
296
297C tags and refs
298
299      integer DFREF_WILDCARD, DFTAG_WILDCARD, DFTAG_NULL
300      integer DFTAG_LINKED, DFTAG_VERSION, DFTAG_COMPRESSED
301
302      parameter(DFREF_WILDCARD  = 0, DFTAG_WILDCARD  = 0)
303      parameter(DFTAG_NULL      = 1, DFTAG_LINKED    = 20)
304      parameter(DFTAG_VERSION   = 30,DFTAG_COMPRESSED = 40)
305
306
307C utility set
308
309      integer DFTAG_FID, DFTAG_FD,  DFTAG_TID, DFTAG_TD
310      integer DFTAG_DIL, DFTAG_DIA, DFTAG_NT,  DFTAG_MT
311
312      parameter(DFTAG_FID       = 100, DFTAG_FD        = 101)
313      parameter(DFTAG_TID       = 102, DFTAG_TD        = 103)
314      parameter(DFTAG_DIL       = 104, DFTAG_DIA       = 105)
315      parameter(DFTAG_NT        = 106, DFTAG_MT        = 107)
316
317C  raster-8 set
318
319      integer DFTAG_ID8, DFTAG_IP8, DFTAG_RI8
320      integer DFTAG_CI8, DFTAG_II8
321
322      parameter(DFTAG_ID8       = 200, DFTAG_IP8       = 201)
323      parameter(DFTAG_RI8       = 202, DFTAG_CI8       = 203)
324      parameter(DFTAG_II8       = 204)
325
326C Raster Image set
327
328      integer DFTAG_ID, DFTAG_LUT, DFTAG_RI, DFTAG_CI
329
330      parameter(DFTAG_ID        = 300, DFTAG_LUT       = 301)
331      parameter(DFTAG_RI        = 302, DFTAG_CI        = 303)
332
333      integer DFTAG_RIG, DFTAG_LD,  DFTAG_MD, DFTAG_MA
334      integer DFTAG_CCN, DFTAG_CFM, DFTAG_AR
335
336      parameter(DFTAG_RIG       = 306, DFTAG_LD        = 307)
337      parameter(DFTAG_MD        = 308, DFTAG_MA        = 309)
338      parameter(DFTAG_CCN       = 310, DFTAG_CFM       = 311)
339      parameter(DFTAG_AR        = 312)
340
341      integer DFTAG_DRAW, DFTAG_RUN, DFTAG_XYP, DFTAG_MTO
342
343      parameter(DFTAG_DRAW      = 400, DFTAG_RUN       = 401)
344      parameter(DFTAG_XYP       = 500, DFTAG_MTO       = 501)
345
346C Tektronix
347
348      integer DFTAG_T14, DFTAG_T105
349
350      parameter(DFTAG_T14       = 602, DFTAG_T105      = 603)
351
352C Scientific Data set
353
354      integer   DFTAG_SDG, DFTAG_SDD, DFTAG_SD, DFTAG_SDS, DFTAG_SDL
355      integer   DFTAG_SDU, DFTAG_SDF, DFTAG_SDM, DFTAG_SDC
356      integer   DFTAG_SDT,DFTAG_SDLNK,DFTAG_NDG
357      integer   DFTAG_BREQ,DFTAG_EREQ,DFTAG_CAL, DFTAG_FV
358
359      parameter(DFTAG_SDG       = 700, DFTAG_SDD       = 701)
360      parameter(DFTAG_SD        = 702, DFTAG_SDS       = 703)
361      parameter(DFTAG_SDL       = 704, DFTAG_SDU       = 705)
362      parameter(DFTAG_SDF       = 706, DFTAG_SDM       = 707)
363      parameter(DFTAG_SDC       = 708, DFTAG_SDT       = 709)
364      parameter(DFTAG_SDLNK     = 710, DFTAG_NDG       = 720)
365      parameter(DFTAG_CAL       = 731, DFTAG_FV        = 732)
366      parameter(DFTAG_BREQ      = 799, DFTAG_EREQ      = 780)
367
368C VSets
369
370      integer DFTAG_VG, DFTAG_VH, DFTAG_VS
371
372      parameter(DFTAG_VG        = 1965, DFTAG_VH        = 1962)
373      parameter(DFTAG_VS        = 1963)
374
375C compression schemes
376
377      integer DFTAG_RLE, DFTAG_IMC, DFTAG_IMCOMP, DFTAG_JPEG
378      integer   DFTAG_GREYJPEG
379
380      parameter(DFTAG_RLE       =11, DFTAG_IMC       =12)
381      parameter(DFTAG_IMCOMP   =12, DFTAG_JPEG      =13)
382      parameter(DFTAG_GREYJPEG =14)
383
384C SPECIAL CODES
385
386      integer SPECIAL_LINKED, SPECIAL_EXT
387
388      parameter(SPECIAL_LINKED = 1, SPECIAL_EXT = 2)
389
390C PARAMETERS
391
392      integer DF_MAXFNLEN
393      integer   SD_UNLIMITED
394      integer   SD_DIMVAL_BW_COMP
395      integer   SD_DIMVAL_BW_INCOMP
396      integer   SD_FILL
397      integer   SD_NOFILL
398
399      parameter(DF_MAXFNLEN     = 256, SD_UNLIMITED    = 0)
400      parameter(SD_DIMVAL_BW_COMP = 1, SD_DIMVAL_BW_INCOMP = 0)
401      parameter(SD_FILL           = 0, SD_NOFILL = 256)
402
403      integer   HDF_VDATA
404
405      parameter(HDF_VDATA = -1)
406
407C       Standard return codes
408      integer SUCCEED, FAIL
409
410      parameter(SUCCEED         = 0, FAIL     = -1)
411
412
413C Compression Types
414
415      integer COMP_NONE, COMP_RLE, COMP_IMCOMP, COMP_JPEG
416
417      parameter(COMP_NONE       = 0, COMP_RLE        = 11)
418      parameter(COMP_IMCOMP     = 12, COMP_JPEG       = 2)
419C
420C       Fortran chunking (SD and GR interfaces) and compression routines use
421C       the following compression types:
422C
423      integer COMP_CODE_NONE, COMP_CODE_RLE, COMP_CODE_NBIT
424      integer COMP_CODE_SKPHUFF, COMP_CODE_DEFLATE
425      integer COMP_CODE_JPEG
426      integer COMP_CODE_SZIP
427      integer SZ_EC_OPTION_MASK, SZ_NN_OPTION_MASK
428      integer COMP_DECODER_ENABLED, COMP_ENCODER_ENABLED
429      parameter (COMP_CODE_NONE = 0)
430      parameter (COMP_CODE_RLE  = 1)
431      parameter (COMP_CODE_NBIT = 2)
432      parameter (COMP_CODE_SKPHUFF = 3)
433      parameter (COMP_CODE_DEFLATE = 4)
434      parameter (COMP_CODE_SZIP = 5)
435      parameter (COMP_CODE_JPEG = 6)
436C
437C     SZIP parameters
438C
439      parameter (SZ_EC_OPTION_MASK = 4)
440      parameter (SZ_NN_OPTION_MASK = 32)
441      parameter (COMP_DECODER_ENABLED = 1)
442      parameter (COMP_ENCODER_ENABLED = 2)
443C
444C Interlace Types
445
446      integer MFGR_INTERLACE_PIXEL, MFGR_INTERLACE_LINE
447      integer   MFGR_INTERLACE_COMPONENT
448
449      parameter(MFGR_INTERLACE_PIXEL    = 0)
450      parameter(MFGR_INTERLACE_LINE     = 1)
451      parameter(MFGR_INTERLACE_COMPONENT= 2)
452
453      integer FULL_INTERLACE, NO_INTERLACE
454
455      parameter(FULL_INTERLACE = 0, NO_INTERLACE = 1)
456
457C       Vdata fields packing types
458      integer   HDF_VSPACK, HDF_VSUNPACK
459      parameter (HDF_VSPACK   = 0, HDF_VSUNPACK = 1)
460
461C    Multi-file Annotation types
462      integer AN_DATA_LABEL, AN_DATA_DESC, AN_FILE_LABEL, AN_FILE_DESC
463
464      parameter(AN_DATA_LABEL = 0, AN_DATA_DESC  = 1)
465      parameter(AN_FILE_LABEL = 2, AN_FILE_DESC  = 3)
466
467c******************End of hdf.inc***************************
468