HDF5 Extras  0.0.1
Convenience Functions for using HDF5 Better
ifile.h
Go to the documentation of this file.
1 #ifndef IFILE_H_
2 #define IFILE_H_
3 
4 #include <hdf5.h>
5 #include <sqlite3.h>
6 #include <string.h>
7 
8 #include "globals.h"
9 
10 #ifdef __cplusplus
11 extern "C" {
12 #endif
13 
17 //int ObjectIsMetadataIFile( hid_t id, const char *name );
18 //int ObjectIsMetadataIFileByID( hid_t dataset_id );
19 //int ObjectIsIFile( hid_t id, const char *name );
20 //int ObjectIsIFileByID( hid_t datasetid );
21 
22 // ifile stuff: ----------------------------------
23 #define IFILE_CLOSED 0
24 #define IFILE_R 1
25 #define IFILE_W 2
26 #define IFILE_A 3
27 #define IFILE_RP 4
28 #define IFILE_WP 5
29 #define IFILE_AP 6
30 #define IFILE_WX 7
31 #define IFILE_WXP 8
32 
33 typedef struct {
34  hid_t ifile_id;
35  int readPastEOF;
36  int last_operation_status;
37  int access;
38  long int file_position;
39  long int size;
40  bstring last_operation_status_message;
41 } IFILE;
42 
43 IFILE *IFileOpen(hid_t file_id, const char *ifilename, const char *access);
44 int IFileClearError( IFILE *ifilep);
45 int IFileClose( IFILE *ifilep);
46 int IFileEOF( IFILE *ifilep);
47 int IFileError( IFILE *ifilep);
48 int IFileFlush( IFILE *ifilep);
49 int IFileGetc( IFILE *ifilep);
50 char *IFileGets( IFILE *ifilep, char *str, int num );
51 int IFileSeek( IFILE *ifilep, long int offset, int origin );
52 long int IFileTell( IFILE *ifilep );
53 int IFileRewind( IFILE *ifilep );
54 int IFilePerror( IFILE *ifilep, const char *str );
55 int IFileReadAccess( IFILE *ifilep);
56 int IFileReadAccessHDF( hid_t dataset_id);
57 int IFileWriteAccess( IFILE *ifilep, int code);
58 int IFileAllocate( IFILE *ifilep, long int offset, long int length );
59 int IFilePrintf( IFILE *ifilep, const char *format, ... );
60 int IFilePutc( IFILE *ifilep, char character );
61 int IFilePuts( IFILE *ifilep, const char *string );
62 size_t IFileRead( IFILE *ifilep, void *buf, int size, int count);
63 int IFileReadStatus( IFILE *ifilep, char **message);
64 int IFileWriteStatus( IFILE *ifilep, int status, const char *message);
65 int IFileWriteStatusMessage( IFILE *ifilep, const char *message);
66 int IFileScanf( IFILE *ifilep, const char *format, ... );
67 int IFileSetEOF( IFILE *ifilep, int value );
68 int IFileSetWriteability( hid_t file_id, const char *name, int property );
69 int IFileGetWrite( IFILE *ifilep );
70 int IFileSetWrite( IFILE *ifilep, int property );
71 int IFileGetWriteDataset( hid_t dataset_id );
72 long int IFileSize( IFILE *ifilep );
73 long int IFileSizeHDF( IFILE *ifilep );
74 int IFileTruncate( IFILE *ifilep, long int length );
75 int IFileWrite( IFILE *ifilep, const void *buf, int size, int count);
76 int IFileReadALine(IFILE *ifilep, char *str, int num );
77 //---------------------------------------------------
78 
79 //#define DATASET_TYPE_UNKNOWN 0
80 //#define DATASET_TYPE_INTERNAL_FILE 1
81 //#define DATASET_TYPE_RASTER 2
82 //#define DATASET_TYPE_METADATA 3
83 //#define DATASET_TYPE_METADATA_IFILE 4
84 
85 #define IFILE_SUCCESS 1
86 #define IFILE_FAILURE 2
87 
88 
89 #ifdef __cplusplus
90 }
91 #endif
92 
93 #endif
int IFileRewind(IFILE *ifilep)
IFileRewind moves to the start of an internal file.
Definition: IFileRewind.c:45
int IFileReadALine(IFILE *ifilep, char *str, int num)
IFileReadALine reads a string from an internal file.
Definition: IFileReadALine.c:72
int IFileSetEOF(IFILE *ifilep, int value)
IFileSetEOF sets End-Of-File condition on an internal file.
Definition: IFileSetEOF.c:49
int IFileWriteAccess(IFILE *ifilep, int code)
IFileWriteAccess writes a new access code for an internal file.
Definition: IFileWriteAccess.c:52
int IFileReadStatus(IFILE *ifilep, char **message)
IFileReadStatus reads the status properties of an internal file.
Definition: IFileReadStatus.c:58
int IFileGetc(IFILE *ifilep)
IFileGetc reads a character from an internal file.
Definition: IFileGetc.c:54
long int IFileSizeHDF(IFILE *ifilep)
IFileSizeHDF gets the #bytes in an internal file.
Definition: IFileSizeHDF.c:42
int IFileTruncate(IFILE *ifilep, long int length)
IFileTruncate changes the size of an internal file.
Definition: IFileTruncate.c:47
int IFilePuts(IFILE *ifilep, const char *string)
IFilePuts writes a string to an internal file.
Definition: IFilePuts.c:47
int IFileScanf(IFILE *ifilep, const char *format,...)
IFileScanf reads formatted data from an internal file.
Definition: IFileScanf.c:77
char * IFileGets(IFILE *ifilep, char *str, int num)
IFileGets reads characters from an internal file in a geosci file, and stores them as a string until ...
Definition: IFileGets.c:74
int IFileSetWriteability(hid_t file_id, const char *name, int property)
IFileSetWriteability sets the read/write property of an internal file.
Definition: IFileSetWriteability.c:43
int IFileClose(IFILE *ifilep)
IFileClose closes an internal file in a GeoSci File.
Definition: IFileClose.c:69
int IFileEOF(IFILE *ifilep)
IFileEOF returns the End-Of-File condition of the previous internal read.
Definition: IFileEOF.c:49
int IFileWriteStatusMessage(IFILE *ifilep, const char *message)
IFileWriteStatusMessage writes the status message of an internal file.
Definition: IFileWriteStatusMessage.c:42
int IFileWrite(IFILE *ifilep, const void *buf, int size, int count)
IFileWrite writes bytes to an internal file.
Definition: IFileWrite.c:64
int IFileError(IFILE *ifilep)
IFileError returns error condition on an internal file.
Definition: IFileError.c:49
size_t IFileRead(IFILE *ifilep, void *buf, int size, int count)
IFileRead reads the requested number of bytes from an internal file in a geosci file.
Definition: IFileRead.c:81
IFILE * IFileOpen(hid_t file_id, const char *ifilename, const char *access)
IFileOpen is used to open an internal file in a GeoSci File.
Definition: IFileOpen.c:340
long int IFileTell(IFILE *ifilep)
IFileTell retrieves the current read/write position in an internal file.
Definition: IFileTell.c:43
int IFilePerror(IFILE *ifilep, const char *str)
IFilePerror prints latest error for an internal file.
Definition: IFilePerror.c:57
int IFileGetWrite(IFILE *ifilep)
IFileGetWrite gets the read/write property of an internal file.
Definition: IFileGetWrite.c:57
int IFilePutc(IFILE *ifilep, char character)
IFilePutc writes a single character to an internal file.
Definition: IFilePutc.c:52
int IFileWriteStatus(IFILE *ifilep, int status, const char *message)
IFileWriteStatus writes the status properties of an internal file.
Definition: IFileWriteStatus.c:41
int IFileFlush(IFILE *ifilep)
IFileFlush flushes unwritten buffers to an internal file in a GeoSci File.
Definition: IFileFlush.c:45
int IFileAllocate(IFILE *ifilep, long int offset, long int length)
IFileAllocate is used to allocate more space to an internal file.
Definition: IFileAllocate.c:60
int IFileGetWriteDataset(hid_t dataset_id)
IFileGetWriteDataset gets the read/write property of an internal file.
Definition: IFileGetWriteDataset.c:57
int IFileClearError(IFILE *ifilep)
IFileClearError clears the error condition on an internal file.
Definition: IFileClearError.c:44
int IFilePrintf(IFILE *ifilep, const char *format,...)
IFilePrintf writes formatted data to an internal file.
Definition: IFilePrintf.c:87
Definition: bstrlib.h:200
int IFileSetWrite(IFILE *ifilep, int property)
IFileSetWrite sets the read/write property of an internal file.
Definition: IFileSetWrite.c:44
Definition: ifile.h:33
int IFileReadAccess(IFILE *ifilep)
IFileReadAccess reads access code of an internal file.
Definition: IFileReadAccess.c:50
int IFileSeek(IFILE *ifilep, long int offset, int origin)
IFileSeek moves to a position in an internal file.
Definition: IFileSeek.c:64
int IFileReadAccessHDF(hid_t dataset_id)
IFileReadAccessHDF reads access code of an internal file.
Definition: IFileReadAccessHDF.c:50
long int IFileSize(IFILE *ifilep)
IFileSize gets the #bytes in an internal file.
Definition: IFileSize.c:37