/usr/include/hdf-eos5/HE5_HdfEosDef.h is in libhe5-hdfeos-dev 5.1.16.dfsg.1-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 | /*----------------------------------------------------------------------------|
| |
| Copyright (C) 1999 Emergent IT Inc. and Raytheon Systems Company |
| |
|Permission to use, modify, and distribute this software and its documentation|
|for any purpose without fee is hereby granted, provided that the above |
|copyright notice appear in all copies and that both that copyright notice and|
|this permission notice appear in supporting documentation. |
| |
|-----------------------------------------------------------------------------|
| |
| This is the main header file to be distributed with the HDF-EOS library. |
| |
| Last date updated: June 5, 2001 |
| Aug 23, 2001 A.M. Added thread-safe related blocks. |
| May 29, 2002 S.Z Added ZA interface |
| August, 2003 S.Z Added szip compression methods. |
| April, 2004 S.Z Added a data type flag HE5T_CHARSTRING|
| August, 2004 S.Z Added field number type in |
| HE5_CmpDTSinfo |
-----------------------------------------------------------------------------*/
#ifndef HE5_HDFEOSDEF_H_
#define HE5_HDFEOSDEF_H_
#define H5_USE_16_API 1
#include <hdf5.h>
#ifdef H5_USE_16_API
#include <H5DSpublic.h>
#endif
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#ifndef __cplusplus
#include <cfortHdf.h>
#endif
#ifdef _HDFEOS5_THREADSAFE
#include <pthread.h>
#endif
#define HE5_HDFEOSVERSION "1.16"
#define H5_USE_16_API 1
#ifndef FALSE
# define FALSE 0
#endif
#ifndef TRUE
# define TRUE (!FALSE)
#endif
#ifndef SUCCEED
# define SUCCEED 0
#endif
#ifndef FAIL
# define FAIL (-1)
#endif
#ifndef HDstrcmp
# define HDstrcmp(X,Y) strcmp(X,Y)
#endif
#ifndef MAX
# define MAX(X,Y) ((X)>(Y)?(X):(Y))
#endif
#ifndef MIN
# define MIN(X,Y) ((X)<(Y)?(X):(Y))
#endif
#define CHECKPOINTER(p) { \
status = HE5_EHchkptr((void *)p,#p); \
if (status == FAIL) goto COMPLETION; \
}
#define CHECKNAME(p) { \
status = HE5_EHchkname((char *)p,#p); \
if (status == FAIL) goto COMPLETION; \
}
#ifndef HDFI_H
typedef unsigned uintn;
#endif
#ifdef WIN32
#define LONGLONG __int64
#else
#define LONGLONG long long
#endif
/*
----------------------------------------------
| HDF-EOS Defined Sizes |
----------------------------------------------
*/
#define HE5_DTSETRANKMAX 8
#define HE5_FLDNUMBERMAX 500
#define HE5_OBJNAMELENMAX 256
#define HE5_BLKSIZE 640000
#define HE5_CHUNKSIZE 1000
#define HE5_DIMNUMBERMAX 500
#define HE5_ATTRNUMBERMAX 100 /* max number of attr for each dim scale */
#define HE5_HDFE_TYPESTRSIZE 80
#define HE5_HDFE_DIMBUFSIZE 256
#define HE5_HDFE_NAMBUFSIZE 256
#define HE5_HDFE_ERRBUFSIZE 256
#define HE5_HDFE_UTLBUFSIZE 1024
/*
----------------------------------------------
| HDF-EOS Global Data Structures |
----------------------------------------------
*/
typedef struct
{
hid_t ID; /* Field-associated dataset ID */
char *name; /* HDF-EOS field name */
}HE5_DTSinfo; /* Field-associated dataset Info */
typedef struct
{
char *attrname[HE5_ATTRNUMBERMAX]; /* attribute name */
hid_t numtype[HE5_ATTRNUMBERMAX];
hsize_t count[HE5_ATTRNUMBERMAX][8];
uint8_t *datbuf[HE5_ATTRNUMBERMAX];
int dsnumberOfAttrs; /* total number of attributes for one dim scale */
}HE5_dimscaleAttr;
/*
----------------------------------------------
| Compound Dataset Information Data |
| Structure |
----------------------------------------------
*/
typedef struct
{
int nfields; /* Number of data fields */
int rank[HE5_FLDNUMBERMAX]; /* Fields rank array */
int array[HE5_FLDNUMBERMAX]; /* Flag if field is an array*/
char *fieldname[HE5_FLDNUMBERMAX];/* Array of field names */
/* Array of dimension sizes */
size_t dims[HE5_FLDNUMBERMAX][HE5_DTSETRANKMAX];
size_t datasize; /* Size of data (bytes) */
size_t offset[HE5_FLDNUMBERMAX]; /* Array of field offsets */
hid_t dtype[HE5_FLDNUMBERMAX]; /* Array of field type IDs */
hid_t numtype[HE5_FLDNUMBERMAX];/* Array of field number type IDs */
H5T_class_t dclass[HE5_FLDNUMBERMAX]; /* Array of field class IDs */
}HE5_CmpDTSinfo;
typedef struct
{
long count; /* Object counter */
long strsize; /* Operator data */
char *name; /* Object name */
}HE5_OBJINFO;
/* File access flags for TOOLKIT */
/* ----------------------------- */
#ifndef HDF4_ACC_RDONLY
# define HDF4_ACC_RDONLY 1
#endif
#ifndef HDF5_ACC_RDONLY
# define HDF5_ACC_RDONLY 11
#endif
#ifndef HDF4_ACC_RDWR
# define HDF4_ACC_RDWR 3
#endif
#ifndef HDF5_ACC_RDWR
# define HDF5_ACC_RDWR 13
#endif
#ifndef HDF4_ACC_CREATE
# define HDF4_ACC_CREATE 4
#endif
#ifndef HDF5_ACC_CREATE
# define HDF5_ACC_CREATE 14
#endif
/* Data type flags for FORTRAN wrappers */
/* ------------------------------------ */
#ifndef HE5F_ACC_RDWR
#define HE5F_ACC_RDWR 100
#endif
#ifndef HE5F_ACC_RDONLY
#define HE5F_ACC_RDONLY 101
#endif
#ifndef HE5F_ACC_TRUNC
#define HE5F_ACC_TRUNC 102
#endif
#define HE5T_NATIVE_INT 0
#define HE5T_NATIVE_UINT 1
#define HE5T_NATIVE_SHORT 2
#define HE5T_NATIVE_USHORT 3
#define HE5T_NATIVE_SCHAR 4
#define HE5T_NATIVE_UCHAR 5
#define HE5T_NATIVE_LONG 6
#define HE5T_NATIVE_ULONG 7
#define HE5T_NATIVE_LLONG 8
#define HE5T_NATIVE_ULLONG 9
#define HE5T_NATIVE_FLOAT 10
#define HE5T_NATIVE_REAL 10
#define HE5T_NATIVE_DOUBLE 11
#define HE5T_NATIVE_LDOUBLE 12
#define HE5T_NATIVE_INT8 13
#define HE5T_NATIVE_UINT8 14
#define HE5T_NATIVE_INT16 15
#define HE5T_NATIVE_UINT16 16
#define HE5T_NATIVE_INT32 17
#define HE5T_NATIVE_UINT32 18
#define HE5T_NATIVE_INT64 19
#define HE5T_NATIVE_UINT64 20
#define HE5T_NATIVE_B8 21
#define HE5T_NATIVE_B16 22
#define HE5T_NATIVE_B32 23
#define HE5T_NATIVE_B64 24
#define HE5T_NATIVE_HSIZE 25
#define HE5T_NATIVE_HERR 26
#define HE5T_NATIVE_HBOOL 27
#define HE5T_STD_I8BE 28
#define HE5T_STD_I8LE 29
#define HE5T_STD_I16BE 30
#define HE5T_STD_I16LE 31
#define HE5T_STD_I32BE 32
#define HE5T_STD_I32LE 33
#define HE5T_STD_I64BE 34
#define HE5T_STD_I64LE 35
#define HE5T_STD_U8BE 36
#define HE5T_STD_U8LE 37
#define HE5T_STD_U16BE 38
#define HE5T_STD_U16LE 39
#define HE5T_STD_U32BE 40
#define HE5T_STD_U32LE 41
#define HE5T_STD_U64BE 42
#define HE5T_STD_U64LE 43
#define HE5T_STD_B8BE 44
#define HE5T_STD_B8LE 45
#define HE5T_STD_B16BE 46
#define HE5T_STD_B16LE 47
#define HE5T_STD_B32BE 48
#define HE5T_STD_B32LE 49
#define HE5T_STD_B64BE 50
#define HE5T_STD_B64LE 51
#define HE5T_IEEE_F32BE 52
#define HE5T_IEEE_F32LE 53
#define HE5T_IEEE_F64BE 54
#define HE5T_IEEE_F64LE 55
#define HE5T_NATIVE_CHAR 56
#define HE5T_CHARSTRING 57
#define HE5S_UNLIMITED_F -1
#define HE5S_UNLIMITED_F_64 -1
/* Field Merge Flags */
/* ------------------- */
#define HE5_HDFE_NOMERGE 0
#define HE5_HDFE_AUTOMERGE 1
/* XXentries Codes */
/* ------------------- */
#define HE5_HDFE_NENTDIM 0
#define HE5_HDFE_NENTMAP 1
#define HE5_HDFE_NENTIMAP 2
#define HE5_HDFE_NENTGFLD 3
#define HE5_HDFE_NENTDFLD 4
/* Angle Conversion Codes */
/* ---------------------- */
#define HE5_HDFE_RAD_DEG 0
#define HE5_HDFE_DEG_RAD 1
#define HE5_HDFE_DMS_DEG 2
#define HE5_HDFE_DEG_DMS 3
#define HE5_HDFE_RAD_DMS 4
#define HE5_HDFE_DMS_RAD 5
/* Swath Subset Modes */
/* ------------------------ */
#define HE5_HDFE_MIDPOINT 0
#define HE5_HDFE_ENDPOINT 1
#define HE5_HDFE_ANYPOINT 2
#define HE5_HDFE_INTERNAL 0
#define HE5_HDFE_EXTERNAL 1
#define HE5_HDFE_NOPREVSUB -1
/* Grid Origin Codes */
/* ----------------------- */
#define HE5_HDFE_GD_UL 0
#define HE5_HDFE_GD_UR 1
#define HE5_HDFE_GD_LL 2
#define HE5_HDFE_GD_LR 3
/* Pixel Registration Codes */
/* ------------------------ */
#define HE5_HDFE_CENTER 0
#define HE5_HDFE_CORNER 1
/* GCTP Projection Codes */
/* --------------------- */
#define HE5_GCTP_GEO 0
#define HE5_GCTP_UTM 1
#define HE5_GCTP_SPCS 2
#define HE5_GCTP_ALBERS 3
#define HE5_GCTP_LAMCC 4
#define HE5_GCTP_MERCAT 5
#define HE5_GCTP_PS 6
#define HE5_GCTP_POLYC 7
#define HE5_GCTP_EQUIDC 8
#define HE5_GCTP_TM 9
#define HE5_GCTP_STEREO 10
#define HE5_GCTP_LAMAZ 11
#define HE5_GCTP_AZMEQD 12
#define HE5_GCTP_GNOMON 13
#define HE5_GCTP_ORTHO 14
#define HE5_GCTP_GVNSP 15
#define HE5_GCTP_SNSOID 16
#define HE5_GCTP_EQRECT 17
#define HE5_GCTP_MILLER 18
#define HE5_GCTP_VGRINT 19
#define HE5_GCTP_HOM 20
#define HE5_GCTP_ROBIN 21
#define HE5_GCTP_SOM 22
#define HE5_GCTP_ALASKA 23
#define HE5_GCTP_GOOD 24
#define HE5_GCTP_MOLL 25
#define HE5_GCTP_IMOLL 26
#define HE5_GCTP_HAMMER 27
#define HE5_GCTP_WAGIV 28
#define HE5_GCTP_WAGVII 29
#define HE5_GCTP_OBLEQA 30
#define HE5_GCTP_CEA 97
#define HE5_GCTP_BCEA 98
#define HE5_GCTP_ISINUS 99
/* Tiling Codes */
/* ----------------------- */
#define HE5_HDFE_NOTILE 0
#define HE5_HDFE_TILE 1
/* Compression Methods */
/* ------------------------- */
#define HE5_HDFE_COMP_NONE 0
#define HE5_HDFE_COMP_RLE 1
#define HE5_HDFE_COMP_NBIT 2
#define HE5_HDFE_COMP_SKPHUFF 3
#define HE5_HDFE_COMP_DEFLATE 4
#define HE5_HDFE_COMP_SZIP_CHIP 5
#define HE5_HDFE_COMP_SZIP_K13 6
#define HE5_HDFE_COMP_SZIP_EC 7
#define HE5_HDFE_COMP_SZIP_NN 8
#define HE5_HDFE_COMP_SZIP_K13orEC 9
#define HE5_HDFE_COMP_SZIP_K13orNN 10
#define HE5_HDFE_COMP_SHUF_DEFLATE 11
#define HE5_HDFE_COMP_SHUF_SZIP_CHIP 12
#define HE5_HDFE_COMP_SHUF_SZIP_K13 13
#define HE5_HDFE_COMP_SHUF_SZIP_EC 14
#define HE5_HDFE_COMP_SHUF_SZIP_NN 15
#define HE5_HDFE_COMP_SHUF_SZIP_K13orEC 16
#define HE5_HDFE_COMP_SHUF_SZIP_K13orNN 17
/* HDFEOS Group Codes */
/* ------------------------------- */
#define HE5_HDFE_GEOGROUP 0
#define HE5_HDFE_DATAGROUP 1
#define HE5_HDFE_ATTRGROUP 2
#define HE5_HDFE_GRPATTRGROUP 3
#define HE5_HDFE_LOCATTRGROUP 4
#define HE5_HDFE_PROFGROUP 5
#define HE5_HDFE_PROFGRPATTRGROUP 6
#define HE5_HDFE_GEOGRPATTRGROUP 7
/*
----------------------------------------------
| For HDF-EOS5 Thread Safe Library |
----------------------------------------------
*/
#ifdef _HDFEOS5_THREADSAFE
typedef struct
{
pthread_mutex_t Lock;
pthread_t *MasterThread;
pthread_cond_t CondVar;
unsigned int LockCount;
} HE5_HDFE_MutexStruct;
HE5_HDFE_MutexStruct GlobalMutex;
/* Macro for first thread initialization */
/* ------------------------------------- */
#define HE5_FIRST_THREAD_INIT { \
status = pthread_once(&HE5_HDFE_TS_FirstInit, HE5_TSinitfirst); \
}
/* Macro for locking the mutex */
/* --------------------------- */
#define HE5_LOCK { \
status = HE5_TSmutexlock(&GlobalMutex); \
if (status != SUCCEED) goto COMPLETION; \
}
/* Macro for unlocking the mutex */
/* ----------------------------- */
#define HE5_UNLOCK { \
status = HE5_TSmutexunlock(&GlobalMutex); \
if (status != SUCCEED) goto COMPLETION; \
}
#else /* -D_HDFEOS5_THREADSAFE */
typedef struct
{
int dummyVar;
} HE5_HDFE_MutexStruct;
/* disable any first thread init mechanism */
/* --------------------------------------- */
#define HE5_FIRST_THREAD_INIT
/* disable locks */
/* ------------- */
#define HE5_LOCK
#define HE5_UNLOCK
#endif /* -D_HDFEOS5_THREADSAFE */
#ifdef __cplusplus
extern "C" {
#endif
/* Thread-safe function prototypes */
/* ------------------------------- */
void
HE5_TSinitfirst( void);
herr_t
HE5_TSmutexlock(HE5_HDFE_MutexStruct *);
herr_t
HE5_TSmutexunlock(HE5_HDFE_MutexStruct *);
/* GCTP function prototypes */
/* ------------------------ */
#include "HE5_GctpFunc.h"
/* HDF5 Error handling function (from "H5private.h") */
/* ------------------------------------------------- */
herr_t H5E_push(H5E_major_t maj_num, H5E_minor_t min_num, const char *func_name, const char *file_name, unsigned line, const char *desc);
/*
**********************************************************************
* E R R O R H A N D L I N G I N T E R F A C E *
**********************************************************************
*/
/* File access/info routines */
hid_t HE5_EHopen(const char *filename, unsigned flags, hid_t access_id);
herr_t HE5_EHclose(hid_t fid);
herr_t HE5_EHgetversion(hid_t fid, char *version);
herr_t HE5_EHchkfid(hid_t fid, const char *name, hid_t *HDFfid, hid_t *grpID, uintn *access);
herr_t HE5_EHidinfo(hid_t fid, hid_t *HDFfid, hid_t *gid);
long HE5_EHattrcat(hid_t fid, char *grpname, char *objectlist, long *strbufsize);
long HE5_EHinquire(const char *filename, char *grpname, char *objectlist, long *strbufsize);
hsize_t HE5_EHset_error_on(int flag, int err_level);
herr_t HE5_EHwritemeta(hid_t fid, const char *MetadataName, char *metabuff);
herr_t HE5_EHreadmeta(hid_t fid, const char *MetadataName, char *metabufout, long *bufferSize);
long HE5_EHinqmetadatas(hid_t fid, char *metadatanames, long *strbufsize);
/* PROTOTYPES: functions to turn HDFEOS5 error printing off */
herr_t HE5_EHprint(char *errbuf, const char *file, unsigned line);
/* Metadata access/info routines */
char *HE5_EHmetagroup(hid_t fid , char *structname, char *structcode, char *groupname, char *metaptrs[]);
herr_t HE5_EHgetmetavalue(char *metaptrs[], char *parameter, char *retstr);
herr_t HE5_EHinsertmeta(hid_t fid, const char *structname, char *structcode, long metacode, char *metastr, hsize_t metadata[]) ;
herr_t HE5_EHmetalist(char *instring, char *outstring);
herr_t HE5_EHupdatemeta(hid_t fid, const char *structname, char *structcode, long metacode, char *metastr, hsize_t metadata[]);
/* Object info routines */
long HE5_EHcntOBJECT(char *metabuf[]);
long HE5_EHcntGROUP(char *metabuf[]);
herr_t HE5_EHattr( hid_t attgrpID, const char *attrname, hid_t ntype, hsize_t count[], char *wrcode, void *datbuf);
herr_t HE5_EHattrinfo( hid_t attgrpID, const char *attrname, hid_t ntype[], hsize_t *count);
herr_t HE5_EHattrinfo2( hid_t attgrpID, const char *attrname, hid_t ntype[], hsize_t *count, hsize_t *size);
long HE5_EHdatasetcat(hid_t fid, char *grpname, char *objectlist, long *strbufsize);
int HE5_EHobj_info(hid_t loc_id, const char *name, void *opdata);
/* Utility routines */
long HE5_EHparsestr(const char *instring, char delim, char *pntr[], size_t len[]);
long HE5_EHstrwithin(char *target, char *search, char delim);
long HE5_EHstrwithin_index(char *target, char *search, char delim,int* index_found);
herr_t HE5_EHloadliststr(char *ptr[], long nentries, char *liststr, char delim);
double HE5_EHconvAng(double inAngle, int code);
herr_t HE5_EHrevflds(char *dimlist, char *revdimlist);
herr_t HE5_EHbisect(double(*func) (double[]), double funcParms[], long nParms, double limLft, double limRgt, double convCrit, double *root);
hid_t HE5_EHdtype2mtype(hid_t dtypeID);
hid_t HE5_EHdtype2numtype(hid_t dtype);
hid_t HE5_EHconvdatatype(int fortdatatype);
herr_t HE5_EHwriteglbattr(hid_t fid, const char *attrname, hid_t ntype, hsize_t count[], void *datbuf);
herr_t HE5_EHreadglbattr(hid_t fid, const char *attrname, void * datbuf);
herr_t HE5_EHglbattrinfo(hid_t fid, const char *attrname, hid_t *ntype, hsize_t *count);
herr_t HE5_EHglbattrinfo2(hid_t fid, const char *attrname, hid_t *ntype, hsize_t *count, hsize_t *size);
long HE5_EHinqglbattrs(hid_t fid, char *attrnames, long *strbufsize);
herr_t HE5_EHinqglbdatatype(hid_t fid, const char *attrname, hid_t *dtype, H5T_class_t *classid, H5T_order_t *order, size_t *size);
int HE5_szip_can_encode(void );
/* Data type conversion wrappers */
long HE5_EHhid2long(hid_t invalue);
long HE5_EHint2long(int invalue);
int HE5_EHhid2int(hid_t invalue);
hid_t HE5_EHint2hid(int invalue);
hid_t HE5_EHlong2hid(long invalue);
int HE5_EHlong2int(long invalue);
hsize_t HE5_EHhid2hsize(hid_t invalue);
hsize_t HE5_EHint2hsize(int invalue);
hsize_t HE5_EHlong2hsize(long invalue);
hid_t HE5_EHhsize2hid(hsize_t invalue);
long HE5_EHhsize2long(hsize_t invalue);
int HE5_EHhsize2int(hsize_t invalue);
hssize_t HE5_EHhsize2hssize(hsize_t invalue);
hssize_t HE5_EHhid2hssize(hid_t invalue);
hssize_t HE5_EHint2hssize(int invalue);
hssize_t HE5_EHlong2hssize(long invalue);
hid_t HE5_EHhssize2hid(hssize_t invalue);
long HE5_EHhssize2long(hssize_t invalue);
int HE5_EHhssize2int(hssize_t invalue);
hsize_t HE5_EHhssize2hsize(hssize_t invalue);
long long HE5_EHint2llong(int invalue);
long long HE5_EHlong2llong(long invalue);
long long HE5_EHhsize2llong(hsize_t invalue);
long long HE5_EHhssize2llong(hssize_t invalue);
int HE5_EHllong2int(long long invalue);
long HE5_EHllong2long(long long invalue);
hsize_t HE5_EHllong2hsize(long long invalue);
hssize_t HE5_EHllong2hssize(long long invalue);
unsigned LONGLONG HE5_EHint2ullong(int invalue);
long HE5_EHullong2long(unsigned LONGLONG invalue);
herr_t HE5_EHchkptr(void *p, char *name);
herr_t HE5_EHchkname(char *p, char *name);
/*
**********************************************************************
* S W A T H I N T E R F A C E *
**********************************************************************
*/
/* File/Swath access routines */
hid_t HE5_SWopen(const char *filename, uintn flags);
hid_t HE5_SWcreate(hid_t fid, const char *swathname);
hid_t HE5_SWattach(hid_t fid, const char *swathname);
herr_t HE5_SWdetach(hid_t swathID);
herr_t HE5_SWclose(hid_t fid);
/* Definition routines */
herr_t HE5_SWdefdim(hid_t swathID, char *dimname, hsize_t dim);
herr_t HE5_SWdefdimmap(hid_t swathID, char *geodim, char *datadim, hsize_t offset, hsize_t increment);
herr_t HE5_SWdefidxmap(hid_t swathID, char *geodim, char *datadim, long index[]);
herr_t HE5_SWdefgeofield(hid_t swathID, const char *fieldname, char *dimlist, char *maxdimlist, hid_t ntype , int merge);
herr_t HE5_SWdefdatafield(hid_t swathID, const char *fieldname, char *dimlist, char *maxdimlist, hid_t ntype, int merge);
herr_t HE5_SWdefchunk(hid_t swathID, int ndims, const hsize_t *dim);
herr_t HE5_SWdefcomp(hid_t swathID, int compcode, int *compparm);
herr_t HE5_SWdefcomchunk(hid_t swathID, int compcode, int *compparm, int ndims, const hsize_t *dim);
herr_t HE5_SWsetfillvalue(hid_t swathID, char *fieldname, hid_t ntype, void *fillval);
herr_t HE5_SWsetalias(hid_t swathID, char *fieldname, const char *aliaslist);
herr_t HE5_SWdropalias(hid_t swathID, int fldgroup, const char *aliasname);
herr_t HE5_SWfldrename(hid_t swathID, char *oldfieldname, const char *newfieldname);
herr_t HE5_SWsetdimscale(hid_t swathID, char *fieldname, char *dimname,const hsize_t dimsize, hid_t numbertype, void * databuff);
herr_t HE5_SWdefdimscale(hid_t swathID, char *dimname, const hsize_t dimsize, hid_t numbertype, void * datbuff);
/* I/O routines */
herr_t HE5_SWwritedatameta(hid_t swathID, const char *fieldname, char *dimlist, hid_t mvalue);
herr_t HE5_SWwriteattr(hid_t swathID, const char *attrname, hid_t ntype, hsize_t count[], void *datbuf);
herr_t HE5_SWwritegrpattr(hid_t swathID, const char *attrname, hid_t ntype, hsize_t count[], void *datbuf);
herr_t HE5_SWwritegeogrpattr(hid_t swathID, const char *attrname, hid_t ntype, hsize_t count[], void *datbuf);
herr_t HE5_SWwritelocattr(hid_t swathID, const char *fieldname, const char *attrname, hid_t ntype, hsize_t count[], void *datbuf);
herr_t HE5_SWreadattr(hid_t swathID, const char *attrname, void *datbuf);
herr_t HE5_SWreadgrpattr(hid_t swathID, const char *attrname, void *datbuf);
herr_t HE5_SWreadgeogrpattr(hid_t swathID, const char *attrname, void *datbuf);
herr_t HE5_SWreadlocattr(hid_t swathID, const char *fieldname, const char *attrname, void *datbuf);
herr_t HE5_SWwritefield(hid_t swathID, char *fieldname, const hssize_t start[], const hsize_t stride[], const hsize_t edge[], void *data);
herr_t HE5_SWreadfield(hid_t swathID, char *fieldname, const hssize_t start[], const hsize_t stride[], const hsize_t edge[], void *data);
herr_t HE5_SWwritegeometa(hid_t swathID, const char *fieldname, char *dimlist, hid_t mvalue);
herr_t HE5_SWwritedscaleattr(hid_t swathID, const char *fieldname, const char *attrname, hid_t numtype, hsize_t count[], void *datbuf);
/* Inquiry routines */
herr_t HE5_SWchunkinfo(hid_t swathID, char *fieldname, int *ndims, hsize_t dims[]);
hsize_t HE5_SWdiminfo(hid_t swathID, char *dimname);
herr_t HE5_SWmapinfo(hid_t swathID, char *geodim, char *datadim, long *offset, long *increment);
hsize_t HE5_SWidxmapinfo(hid_t swathID, char *geodim, char *datadim, long index[]);
int HE5_SWfldsrch(hid_t swathID, char *fieldname, hid_t *fieldID, int *rank, hsize_t dims[], hid_t *typeID);
herr_t HE5_SWfieldinfo(hid_t swathID, char *fieldname, int *rank, hsize_t dims[], hid_t ntype[], char *dimlist, char *maxdimlist);
herr_t HE5_SWcompinfo(hid_t swathID, char *fieldname, int *compcode, int compparm[]);
herr_t HE5_SWattrinfo(hid_t swathID, const char *attrname, hid_t *ntype, hsize_t *count);
herr_t HE5_SWgrpattrinfo(hid_t swathID, const char *attrname, hid_t *ntype, hsize_t *count);
herr_t HE5_SWgeogrpattrinfo(hid_t swathID, const char *attrname, hid_t *ntype, hsize_t *count);
herr_t HE5_SWlocattrinfo(hid_t swathID, const char *fieldname, const char *attrname, hid_t *ntype, hsize_t *count);
herr_t HE5_SWattrinfo2(hid_t swathID, const char *attrname, hid_t *ntype, hsize_t *count, hsize_t *size);
herr_t HE5_SWgrpattrinfo2(hid_t swathID, const char *attrname, hid_t *ntype, hsize_t *count, hsize_t *size);
herr_t HE5_SWgeogrpattrinfo2(hid_t swathID, const char *attrname, hid_t *ntype, hsize_t *count, hsize_t *size);
herr_t HE5_SWlocattrinfo2(hid_t swathID, const char *fieldname, const char *attrname, hid_t *ntype, hsize_t *count, hsize_t *size);
herr_t HE5_SWinqdatatype(hid_t swathID, const char *fieldname, const char *attrname, int group, hid_t *dtype, H5T_class_t *classid, H5T_order_t *order, size_t *size);
long HE5_SWinqdims(hid_t swathID, char *dimnames, hsize_t dims[]);
long HE5_SWinqmaps(hid_t swathID, char *dimmaps, long offset[], long increment[]);
long HE5_SWinqidxmaps(hid_t swathID, char *idxmaps, hsize_t idxsizes[]);
long HE5_SWinqgeofields(hid_t swathID, char *fieldlist, int rank[], hid_t ntype[]);
long HE5_SWinqdatafields(hid_t swathID, char *fieldlist, int rank[], hid_t ntype[]);
long HE5_SWinqattrs(hid_t swathID, char *attrnames, long *strbufsize);
long HE5_SWinqgrpattrs(hid_t swathID, char *attrnames, long *strbufsize);
long HE5_SWinqgeogrpattrs(hid_t swathID, char *attrnames, long *strbufsize);
long HE5_SWinqlocattrs(hid_t swathID, const char *fieldname, char *attrnames, long *strbufsize);
long HE5_SWnentries(hid_t swathID, int entrycode, long *strbufsize);
long HE5_SWinqswath(const char *filename, char *swathlist, long *strbufsize);
herr_t HE5_SWregioninfo(hid_t swathID, hid_t regionID, char *fieldname, hid_t *ntype, int *rank, hsize_t dims[], size_t *size);
herr_t HE5_SWperiodinfo(hid_t swathID, hid_t periodID, char *fieldname, hid_t *ntype, int *rank, hsize_t dims[], size_t *size);
herr_t HE5_SWgeomapinfo(hid_t swathID, char *geodim);
herr_t HE5_SWgetfillvalue(hid_t swathID, char *fieldname, void *fillval);
herr_t HE5_SWaliasinfo(hid_t swathID, int fldgroup, const char *aliasname, int *length, char *buffer);
long HE5_SWinqdfldalias(hid_t swathID, char *fldalias, long *strbufsize);
long HE5_SWinqgfldalias(hid_t swathID, char *fldalias, long *strbufsize);
long HE5_SWgetaliaslist(hid_t swathID, int fldgroup, char *aliaslist, long *strbufsize);
long HE5_SWgetdimscale(hid_t swathID, char *fieldname, char *dimname, hsize_t *dimsize, hid_t *numbertype, void * databuff);
herr_t HE5_SWdscaleattrinfo(hid_t swathID, const char *fieldname, const char *attrname, hid_t *ntype, hsize_t *count);
herr_t HE5_SWdscaleattrinfo2(hid_t swathID, const char *fieldname, const char *attrname, hid_t *ntype, hsize_t *count, hsize_t *size);
herr_t HE5_SWreaddscaleattr(hid_t swathID, const char *fieldname, const char *attrname, void *datbuf);
long HE5_SWinqdscaleattrs(hid_t swathID, const char *fieldname, char *attrnames, long *strbufsize);
/* Subsetting/Retrieving routines */
hid_t HE5_SWdefboxregion(hid_t swathID, double cornerlon[], double cornerlat[], int mode);
hid_t HE5_SWdefvrtregion(hid_t swathID, hid_t regionID, char *vertObj, double range[]);
hid_t HE5_SWregionindex(hid_t swathID, double cornerlon[], double cornerlat[], int mode, char *geodim, hsize_t idxrange[]);
hid_t HE5_SWdupregion(hid_t oldregionID);
hid_t HE5_SWdeftimeperiod(hid_t swathID, double starttime, double stoptime, int mode);
herr_t HE5_SWextractregion(hid_t swathID, hid_t regionID, char *fieldname, int externalflag, void *buffer);
herr_t HE5_SWextractperiod(hid_t swathID, hid_t periodID, char *fieldname, int externalflag, void *buffer);
long HE5_SWupdateidxmap(hid_t swathID, hid_t regionID, long indexin[], long indexout[], long indicies[]);
herr_t HE5_SWupdatescene(hid_t swathID, hid_t regionID);
herr_t HE5_SWindexinfo(hid_t regionID, char *object, int *rank, char *dimlist, hsize_t *indices[HE5_DTSETRANKMAX]);
/*
********************************
* PROFILE INTERFACE *
********************************
*/
herr_t HE5_PRdefine(hid_t swathID, const char *profilename, char *dimlist, char *maxdimlist, hid_t datatype_id);
herr_t HE5_PRwrite(hid_t swathID, const char *profilename, const hssize_t start[], const hsize_t stride[], const hsize_t edge[], size_t size, void *buffer);
herr_t HE5_PRread(hid_t swathID, const char *profilename, const hssize_t start[], const hsize_t stride[], const hsize_t edge[], void *buffer);
herr_t HE5_PRreclaimspace(hid_t swathID, const char *profilename, void *buffer);
long HE5_PRinquire(hid_t swathID, char *profnames, int *rank, H5T_class_t *classID);
herr_t HE5_PRinfo(hid_t swathID, const char *profname, int *rank, hsize_t dims[], hsize_t maxdims[], hid_t *ntype, char *dimlist, char *maxdimlist);
herr_t HE5_PRwritegrpattr(hid_t swathID, const char *attrname, hid_t ntype, hsize_t count[], void *datbuf);
herr_t HE5_PRreadgrpattr(hid_t swathID, const char *attrname, void *datbuf);
herr_t HE5_PRgrpattrinfo(hid_t swathID, const char *attrname, hid_t *ntype, hsize_t *count);
herr_t HE5_PRgrpattrinfo2(hid_t swathID, const char *attrname, hid_t *ntype, hsize_t *count, hsize_t *size);
long HE5_PRinqgrpattrs(hid_t swathID, char *attrnames, long *strbufsize);
/*
*******************************
* EXTERNAL DATA FILES *
*******************************
*/
herr_t HE5_SWsetextdata(hid_t swathID, const char *filelist, off_t offset[], hsize_t size[]);
int HE5_SWgetextdata(hid_t swathID, char *fieldname, size_t namelength, char *filelist, off_t offset[], hsize_t size[]);
/*
*******************************
* MOUNTING EXTERNAL FILES *
*******************************
*/
hid_t HE5_SWmountexternal(hid_t swathID, int fldgroup, const char *extfilename);
herr_t HE5_SWunmount(hid_t swathID, int fldgroup, hid_t fileID);
herr_t HE5_SWreadexternal(hid_t swathID, int fldgroup, const char *fieldname, void *buffer);
/*
**********************************************************************
* G R I D I N T E R F A C E *
**********************************************************************
*/
/* File/Grid access routines */
hid_t HE5_GDopen(const char *filename, uintn flags);
hid_t HE5_GDcreate(hid_t fid, const char *gridname, long xdimsize, long ydimsize, double upleftpt[], double lowrightpt[]);
hid_t HE5_GDattach(hid_t fid, const char *gridname);
herr_t HE5_GDdetach(hid_t gridID);
herr_t HE5_GDclose(hid_t fid);
/* Definition routines */
herr_t HE5_GDdefdim(hid_t gridID, char *dimname, hsize_t dim);
herr_t HE5_GDdefproj(hid_t gridID, int projcode, int zonecode, int spherecode, double projparm[]);
herr_t HE5_GDdefcomp(hid_t gridID, int compcode, int compparm[]);
herr_t HE5_GDdeftile(hid_t gridID, int tilecode, int tilerank, const hsize_t *tiledims);
herr_t HE5_GDdefcomtile(hid_t gridID, int compcode, int compparm[], int tilerank, const hsize_t *tiledims);
herr_t HE5_GDdeforigin(hid_t gridID, int origincode);
herr_t HE5_GDdefpixreg(hid_t gridID, int pixregcode);
herr_t HE5_GDdeffield(hid_t gridID, const char *fieldname, char *dimlist, char *maxdimlist, hid_t ntype, int merge);
herr_t HE5_GDsetfillvalue(hid_t gridID, const char *fieldname, hid_t ntype, void *fillval);
herr_t HE5_GDsetalias(hid_t gridID, char *fieldname, const char *aliaslist);
herr_t HE5_GDdropalias(hid_t gridID, int fldgroup, const char *aliasname);
herr_t HE5_GDsetdimscale(hid_t gridID, char *fieldname, char *dimname,const hsize_t dimsize, hid_t numbertype, void * databuff);
herr_t HE5_GDdefdimscale(hid_t gridID, char *dimname, const hsize_t dimsize, hid_t numbertype, void * datbuff);
/* I/O routines */
herr_t HE5_GDwritefieldmeta(hid_t gridID, const char *fieldname, char *dimlist, hid_t ntype);
herr_t HE5_GDwritefield(hid_t gridID, const char *fieldname, const hssize_t start[], const hsize_t stride[], const hsize_t edge[], void *data);
herr_t HE5_GDreadfield(hid_t gridID, const char *fieldname, const hssize_t start[], const hsize_t stride[], const hsize_t edge[], void * buffer);
herr_t HE5_GDwriteattr(hid_t gridID, const char *attrname, hid_t ntype, hsize_t count[], void *datbuf);
herr_t HE5_GDwritegrpattr(hid_t gridID, const char *attrname, hid_t ntype, hsize_t count[], void *datbuf);
herr_t HE5_GDwritelocattr(hid_t gridID, const char *fieldname, const char *attrname, hid_t ntype, hsize_t count[], void *datbuf);
herr_t HE5_GDreadattr(hid_t gridID, const char *attrname, void *datbuf);
herr_t HE5_GDreadgrpattr(hid_t gridID, const char *attrname, void *datbuf);
herr_t HE5_GDreadlocattr(hid_t gridID, const char *fieldname, const char *attrname, void *datbuf);
herr_t HE5_GDblkSOMoffset(hid_t gridID, long offset[], hsize_t count[], char *code);
/* Inquiry routines */
long HE5_GDinqgrid(const char *filename, char *gridlist, long *strbufsize);
hsize_t HE5_GDdiminfo(hid_t gridID, char *dimname);
herr_t HE5_GDgridinfo(hid_t gridID, long *xdimsize, long *ydimsize, double upleftpt[], double lowrightpt[]);
herr_t HE5_GDprojinfo(hid_t gridID, int *projcode, int *zonecode, int *spherecode, double projparm[]);
herr_t HE5_GDorigininfo(hid_t gridID, int *origincode);
herr_t HE5_GDpixreginfo(hid_t gridID, int *pixregcode);
herr_t HE5_GDcompinfo(hid_t gridID, const char *fieldname, int *compcode, int compparm[]);
herr_t HE5_GDfieldinfo(hid_t gridID, const char *fieldname, int *rank, hsize_t dims[], hid_t ntype[], char *dimlist, char *maxdimlist);
herr_t HE5_GDregioninfo(hid_t gridID, hid_t regionID, const char *fieldname, hid_t *ntype, int *rank, hsize_t dims[], long *size, double upleftpt[], double lowrightpt[]);
long HE5_GDnentries(hid_t gridID, int entrycode, long *strbufsize);
int HE5_GDinqdims(hid_t gridID, char *dimnames, hsize_t dims[]);
herr_t HE5_GDattrinfo(hid_t gridID, const char *attrname, hid_t *ntype, hsize_t *count);
herr_t HE5_GDgrpattrinfo(hid_t gridID, const char *attrname, hid_t *ntype, hsize_t *count);
herr_t HE5_GDlocattrinfo(hid_t gridID, const char *fieldname, const char *attrname, hid_t *ntype, hsize_t *count);
herr_t HE5_GDattrinfo2(hid_t gridID, const char *attrname, hid_t *ntype, hsize_t *count, hsize_t *size);
herr_t HE5_GDgrpattrinfo2(hid_t gridID, const char *attrname, hid_t *ntype, hsize_t *count, hsize_t *size);
herr_t HE5_GDlocattrinfo2(hid_t gridID, const char *fieldname, const char *attrname, hid_t *ntype, hsize_t *count, hsize_t *size);
long HE5_GDinqattrs(hid_t gridID, char *attrnames, long *strbufsize);
long HE5_GDinqgrpattrs(hid_t gridID, char *attrnames, long *strbufsize);
long HE5_GDinqlocattrs(hid_t gridID, const char *fieldname, char *attrnames, long *strbufsize);
int HE5_GDinqfields(hid_t gridID, char *fieldlist, int rank[], hid_t ntype[]);
herr_t HE5_GDinqdatatype(hid_t gridID, const char *fieldname, const char *attrname, int fieldgroup, hid_t *dtype, H5T_class_t *classid, H5T_order_t *order, size_t *size);
herr_t HE5_GDgetfillvalue(hid_t gridID, const char *fieldname, void *fillval);
herr_t HE5_GDtileinfo(hid_t gridID, char *fieldname, int *tilecode, int *tilerank, hsize_t tiledims[]);
herr_t HE5_GDaliasinfo(hid_t gridID, int fldgroup, const char *aliasname, int *length, char *buffer);
long HE5_GDinqfldalias(hid_t gridID, char *fldalias, long *strbufsize);
long HE5_GDgetaliaslist(hid_t gridID, int fldgroup, char *aliaslist, long *strbufsize);
long HE5_GDgetdimscale(hid_t gridID, char *fieldname, char *dimname, hsize_t *dimsize, hid_t *numbertype, void * databuff);
herr_t HE5_GDwritedscaleattr(hid_t gridID, const char *fieldname, const char *attrname, hid_t numtype, hsize_t count[], void *datbuf);
herr_t HE5_GDdscaleattrinfo(hid_t gridID, const char *fieldname, const char *attrname, hid_t *ntype, hsize_t *count);
herr_t HE5_GDdscaleattrinfo2(hid_t gridID, const char *fieldname, const char *attrname, hid_t *ntype, hsize_t *count, hsize_t *size);
herr_t HE5_GDreaddscaleattr(hid_t gridID, const char *fieldname, const char *attrname, void *datbuf);
long HE5_GDinqdscaleattrs(hid_t gridID, const char *fieldname, char *attrnames, long *strbufsize);
/* Subsetting/Retrieving routines */
hid_t HE5_GDdefboxregion(hid_t gridID, double cornerlon[], double cornerlat[]);
hid_t HE5_GDdefvrtregion(hid_t gridID, hid_t regionID, char *vertObj, double range[]);
hid_t HE5_GDdeftimeperiod(hid_t gridID, hid_t periodID, double starttime, double stoptime);
herr_t HE5_GDextractregion(hid_t gridID, hid_t regionID, const char *fieldname, void *buffer);
hid_t HE5_GDdupregion(hid_t oldregionID);
herr_t HE5_GDgetpixels(hid_t gridID, long nLonLat, double lonVal[], double latVal[], long pixRow[], long pixCol[]);
long HE5_GDgetpixvalues(hid_t gridID, long nPixels, long pixRow[], long pixCol[], const char *fieldname, void * buffer);
long HE5_GDinterpolate(hid_t gridID, long nValues, double lonVal[], double latVal[], const char *fieldname, double interpVal[]);
/* Utility routine */
herr_t HE5_GDij2ll(int, int, double[], int, long, long, double[], double[], long, long[], long[], double[], double[], int, int);
herr_t HE5_GDll2ij(int, int, double[], int, long, long, double[], double[], long, double[], double[], long[], long[], double[], double[]);
herr_t HE5_GDrs2ll(int projcode, double projparm[], long xdimsize, long ydimsize, double upleft[], double lowright[], int npnts, double r[], double s[], double longitude[], double latitude[], int pixcen, int pixcnr);
/*
*******************************
* EXTERNAL DATA FILES *
*******************************
*/
herr_t HE5_GDsetextdata(hid_t gridID, const char *filelist, off_t offset[], hsize_t size[]);
int HE5_GDgetextdata(hid_t gridID, char *fieldname, size_t namelength, char *filelist, off_t offset[], hsize_t size[]);
/*
**********************************************************************
* P O I N T I N T E R F A C E *
**********************************************************************
*/
/* File/Point access routine */
hid_t HE5_PTopen(const char *filename, uintn flags);
hid_t HE5_PTcreate(hid_t fid, const char *pointname);
hid_t HE5_PTattach(hid_t fid, const char *pointname);
herr_t HE5_PTdetach(hid_t pointID);
herr_t HE5_PTclose(hid_t fid);
/* Definition routines */
herr_t HE5_PTdeflevel(hid_t pointID, const char *levelname, HE5_CmpDTSinfo *levelinfo);
herr_t HE5_PTdeflinkage(hid_t pointID, char *parent, char *child, char *linkfield);
/* I/O routines */
herr_t HE5_PTwritelevel(hid_t pointID, int level, hsize_t count[], size_t *size, void *data);
herr_t HE5_PTupdatelevel(hid_t pointID, int level, char *fieldlist, hsize_t nrec, hssize_t recs[], void *data);
herr_t HE5_PTreadlevel(hid_t pointID, int level, HE5_CmpDTSinfo *inStruct, size_t *size, void *datbuf);
herr_t HE5_PTwriteattr(hid_t pointID, const char *attrname, hid_t ntype, hsize_t count[], void * datbuf);
herr_t HE5_PTwritegrpattr(hid_t pointID, const char *attrname, hid_t ntype, hsize_t count[], void * datbuf);
herr_t HE5_PTwritelocattr(hid_t pointID, const char *levelname, const char *attrname, hid_t ntype, hsize_t count[], void * datbuf);
herr_t HE5_PTreadattr(hid_t pointID, const char *attrname, void * datbuf);
herr_t HE5_PTreadgrpattr(hid_t pointID, const char *attrname, void * datbuf);
herr_t HE5_PTreadlocattr(hid_t pointID, const char *levelname, const char *attrname, void *datbuf);
/* Inquiry routines */
hsize_t HE5_PTnrecs(hid_t pointID, int level);
int HE5_PTnlevels(hid_t pointID);
int HE5_PTnfields(hid_t pointID, int level, char *fieldlist, long *strbufsize);
int HE5_PTlevelindx(hid_t pointID, const char *levelname);
herr_t HE5_PTgetlevelname(hid_t pointID, int level, char *levelname, long *strbufsize);
herr_t HE5_PTbcklinkinfo(hid_t pointID, int level, char *linkfield);
herr_t HE5_PTfwdlinkinfo(hid_t pointID, int level, char *linkfield);
herr_t HE5_PTlevelinfo(hid_t pointID, int level, HE5_CmpDTSinfo *info);
herr_t HE5_PTinqdatatype(hid_t pointID, const char *levelname, const char *attrname, int fieldgroup, hid_t *dtype, H5T_class_t *classid, H5T_order_t *order, size_t *size);
int HE5_PTinqpoint(const char *filename, char *pointlist, long *strbufsize);
herr_t HE5_PTgetrecnums(hid_t pointID, int inlevel, int outlevel, hsize_t inNrec, hssize_t inRecs[], hsize_t * outNrec, hssize_t outRecs[]);
herr_t HE5_PTattrinfo(hid_t pointID, const char *attrname, hid_t *ntype, hsize_t *count);
herr_t HE5_PTgrpattrinfo(hid_t pointID, const char *attrname, hid_t *ntype, hsize_t *count);
herr_t HE5_PTlocattrinfo(hid_t pointID, const char *levelname, const char *attrname, hid_t *ntype, hsize_t *count);
herr_t HE5_PTattrinfo2(hid_t pointID, const char *attrname, hid_t *ntype, hsize_t *count, hsize_t *size);
herr_t HE5_PTgrpattrinfo2(hid_t pointID, const char *attrname, hid_t *ntype, hsize_t *count, hsize_t *size);
herr_t HE5_PTlocattrinfo2(hid_t pointID, const char *levelname, const char *attrname, hid_t *ntype, hsize_t *count, hsize_t *size);
long HE5_PTinqattrs(hid_t pointID, char *attrnames, long *strbufsize);
long HE5_PTinqgrpattrs(hid_t pointID, char *attrnames, long *strbufsize);
long HE5_PTinqlocattrs(hid_t pointID, const char *levelname, char *attrnames, long *strbufsize);
/*
**********************************************************************
* Z A I N T E R F A C E *
**********************************************************************
*/
/* File/ZA access routines */
hid_t HE5_ZAopen(const char *filename, uintn flags);
hid_t HE5_ZAcreate(hid_t fid, const char *zaname);
hid_t HE5_ZAattach(hid_t fid, const char *zaname);
herr_t HE5_ZAdetach(hid_t zaID);
herr_t HE5_ZAclose(hid_t fid);
/* Definition routines */
herr_t HE5_ZAdefdim(hid_t zaID, char *dimname, hsize_t dim);
herr_t HE5_ZAdefine(hid_t zaID, const char *za_name, char *dimlist, char *maxdimlist, hid_t dtype);
herr_t HE5_ZAdefchunk(hid_t zaID, int ndims, const hsize_t *dim);
herr_t HE5_ZAdefcomp(hid_t zaID, int compcode, int *compparm);
herr_t HE5_ZAdefcomchunk(hid_t zaID, int compcode, int *compparm, int ndims, const hsize_t *dim);
herr_t HE5_ZAsetfillvalue(hid_t zaID, char *fieldname, hid_t ntype, void *fillval);
herr_t HE5_ZAsetalias(hid_t zaID, char *fieldname, const char *aliaslist);
herr_t HE5_ZAdropalias(hid_t zaID, int fldgroup, const char *aliasname);
herr_t HE5_ZAfldrename(hid_t zaID, char *oldfieldname, const char *newfieldname);
herr_t HE5_ZAsetdimscale(hid_t zaID, char *fieldname, char *dimname, const hsize_t dimsize, hid_t numbertype, void * data);
long HE5_ZAgetdimscale(hid_t zaID, char *fieldname, char *dimname, hsize_t *dimsize, hid_t *numbertype, void * databuff);
herr_t HE5_ZAdefdimscale(hid_t zaID, char *dimname, const hsize_t dimsize, hid_t numbertype, void * datbuff);
/* I/O routines */
herr_t HE5_ZAwritedatameta(hid_t zaID, const char *fieldname, char *dimlist, hid_t mvalue);
herr_t HE5_ZAwriteattr(hid_t zaID, const char *attrname, hid_t ntype, hsize_t count[], void *datbuf);
herr_t HE5_ZAwritegrpattr(hid_t zaID, const char *attrname, hid_t ntype, hsize_t count[], void *datbuf);
herr_t HE5_ZAwritelocattr(hid_t zaID, const char *fieldname, const char *attrname, hid_t ntype, hsize_t count[], void *datbuf);
herr_t HE5_ZAreadattr(hid_t zaID, const char *attrname, void *datbuf);
herr_t HE5_ZAreadgrpattr(hid_t zaID, const char *attrname, void *datbuf);
herr_t HE5_ZAreadlocattr(hid_t zaID, const char *fieldname, const char *attrname, void *datbuf);
herr_t HE5_ZAwrite(hid_t zaID, char *za_name, const hssize_t start[], const hsize_t stride[], const hsize_t count[], void *datbuf);
herr_t HE5_ZAread(hid_t zaID, char *za_name, const hssize_t start[], const hsize_t stride[], const hsize_t count[], void *datbuf);
herr_t HE5_ZAreaddscaleattr(hid_t zaID, const char *fieldname, const char *attrname, void *datbuf);
herr_t HE5_ZAwritedscaleattr(hid_t zaID, const char *fieldname, const char *attrname, hid_t numtype, hsize_t count[], void *datbuf);
/* Inquiry routines */
hsize_t HE5_ZAdiminfo(hid_t zaID, char *dimname);
int HE5_ZAfldsrch(hid_t zaID, char *fieldname, hid_t *fieldID, int *rank, hsize_t dims[], hid_t *typeID);
herr_t HE5_ZAinfo(hid_t zaID, char *za_name, int *rank, hsize_t dims[], hid_t dtype[], char *dimlist, char *maxdimlist);
herr_t HE5_ZAcompinfo(hid_t zaID, char *fieldname, int *compcode, int compparm[]);
herr_t HE5_ZAattrinfo(hid_t zaID, const char *attrname, hid_t *ntype, hsize_t *count);
herr_t HE5_ZAgrpattrinfo(hid_t zaID, const char *attrname, hid_t *ntype, hsize_t *count);
herr_t HE5_ZAlocattrinfo(hid_t zaID, const char *fieldname, const char *attrname, hid_t *ntype, hsize_t *count);
herr_t HE5_ZAattrinfo2(hid_t zaID, const char *attrname, hid_t *ntype, hsize_t *count, hsize_t *size);
herr_t HE5_ZAgrpattrinfo2(hid_t zaID, const char *attrname, hid_t *ntype, hsize_t *count, hsize_t *size);
herr_t HE5_ZAlocattrinfo2(hid_t zaID, const char *fieldname, const char *attrname, hid_t *ntype, hsize_t *count, hsize_t *size);
herr_t HE5_ZAinqdatatype(hid_t zaID, const char *fieldname, const char *attrname, int group, hid_t *dtype, H5T_class_t *classid, H5T_order_t *order, size_t *size);
long HE5_ZAinqdims(hid_t zaID, char *dimnames, hsize_t dims[]);
long HE5_ZAinquire(hid_t zaID, char *za_name_list, int rank[], hid_t dtype[]);
long HE5_ZAinqattrs(hid_t zaID, char *attrnames, long *strbufsize);
long HE5_ZAinqgrpattrs(hid_t zaID, char *attrnames, long *strbufsize);
long HE5_ZAinqlocattrs(hid_t zaID, const char *fieldname, char *attrnames, long *strbufsize);
long HE5_ZAnentries(hid_t zaID, int entrycode, long *strbufsize);
long HE5_ZAinqza(const char *filename, char *zalist, long *strbufsize);
herr_t HE5_ZAgetfillvalue(hid_t zaID, char *fieldname, void *fillval);
herr_t HE5_ZAaliasinfo(hid_t zaID, int fldgroup, const char *aliasname, int *length, char *buffer);
long HE5_ZAinqfldalias(hid_t zaID, char *fldalias, long *strbufsize);
herr_t HE5_ZAchunkinfo(hid_t zaID, char *fieldname, int *ndims, hsize_t dims[]);
long HE5_ZAgetaliaslist(hid_t zaID, int fldgroup, char *aliaslist, long *strbufsize);
herr_t HE5_ZAdscaleattrinfo(hid_t zaID, const char *fieldname, const char *attrname, hid_t *ntype, hsize_t *count);
herr_t HE5_ZAdscaleattrinfo2(hid_t zaID, const char *fieldname, const char *attrname, hid_t *ntype, hsize_t *count, hsize_t *size);
long HE5_ZAinqdscaleattrs(hid_t zaID, const char *fieldname, char *attrnames, long *strbufsize);
/*
*******************************
* EXTERNAL DATA FILES *
*******************************
*/
herr_t HE5_ZAsetextdata(hid_t zaID, const char *filelist, off_t offset[], hsize_t size[]);
int HE5_ZAgetextdata(hid_t zaID, char *fieldname, size_t namelength, char *filelist, off_t offset[], hsize_t size[]);
/*
*******************************
* MOUNTING EXTERNAL FILES *
*******************************
*/
hid_t HE5_ZAmountexternal(hid_t zaID, int fldgroup, const char *extfilename);
herr_t HE5_ZAunmount(hid_t zaID, int fldgroup, hid_t fileID);
herr_t HE5_ZAreadexternal(hid_t zaID, int fldgroup, const char *fieldname, void *buffer);
#ifdef __cplusplus
}
#endif
#endif /* #ifndef HE5_HDFEOSDEF_H_ */
|