1 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 2 * Copyright by The HDF Group. * 3 * Copyright by the Board of Trustees of the University of Illinois. * 4 * All rights reserved. * 5 * * 6 * This file is part of HDF. The full HDF copyright notice, including * 7 * terms governing use, modification, and redistribution, is contained in * 8 * the COPYING file, which can be found at the root of the source code * 9 * distribution tree, or in https://support.hdfgroup.org/ftp/HDF/releases/. * 10 * If you do not have access to either file, you may request a copy from * 11 * help@hdfgroup.org. * 12 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 13 14 /* $Id$ */ 15 16 /*------------------------------------------------------------------------------ 17 * File: dfan.h 18 * Purpose: header file for the Annotations set 19 * Invokes: df.h 20 * Contents: 21 * Structure definitions: DFANdirentry, DFANdirhead 22 * Constant definitions: DFAN_LABEL, DFAN_DESC 23 * Remarks: none 24 *----------------------------------------------------------------------------*/ 25 26 #ifndef DFAN_H /* avoid re-inclusion */ 27 #define DFAN_H 28 29 #include "hdf.h" 30 31 #define DFAN_LABEL 0 32 #define DFAN_DESC 1 33 34 #define DFAN_LAB_BLKSIZE 64 /* default blksize to use for labels */ 35 #define DFAN_DESC_BLKSIZE 512 /* default blksize to use for descriptions */ 36 37 #define DFAN_DEFENTRIES 16 /* no of dir entries to add at a time */ 38 39 /* 40 * This structure stores an entry in the label/desc directory 41 * for a label/desc in the file, it gives the ref of the label/desc, 42 * and the tag/ref of the data item to which the label/desc relates 43 */ 44 typedef struct 45 { 46 uint16 annref; /* ref of annotation */ 47 uint16 datatag; /* tag of data */ 48 uint16 dataref; /* ref of data */ 49 } 50 DFANdirentry; 51 52 /* 53 * This structure is a head node for the directory, which is organized as 54 * as a linked list of arrays. DFANdirentry is the structure of an 55 * array element, while DFANdirhead is the list element 56 */ 57 typedef struct DFANdirhead 58 { 59 struct DFANdirhead *next; /* list element */ 60 int32 nentries; /* Numer of entries */ 61 DFANdirentry *entries; /* actually an arbitrary size array */ 62 } 63 DFANdirhead; 64 65 #endif /* DFAN_H */ 66