diff options
author | Robb Matzke <matzke@llnl.gov> | 1997-10-24 21:03:10 (GMT) |
---|---|---|
committer | Robb Matzke <matzke@llnl.gov> | 1997-10-24 21:03:10 (GMT) |
commit | 833e82fec5f654c1ed93a6e4e4266f280e20311c (patch) | |
tree | 4c1f5d776652cfef707455fbee246af0a5780a80 /src/H5Fprivate.h | |
parent | e1e488bd4758a0e5b85a8e04052146a93c3e5751 (diff) | |
download | hdf5-833e82fec5f654c1ed93a6e4e4266f280e20311c.zip hdf5-833e82fec5f654c1ed93a6e4e4266f280e20311c.tar.gz hdf5-833e82fec5f654c1ed93a6e4e4266f280e20311c.tar.bz2 |
[svn-r134] Changes since 19971023
----------------------
./config/conclude.in
Test work when `.' isn't in $PATH.
./src/H5F.c
./src/H5Fcore.c NEW
./src/H5Flow.c
./src/H5Fprivate.h
./src/H5Fsec2.c
./src/H5Fstdio.c
./src/Makefile.in
./MANIFEST
Added the in-core temporary file driver as an exercise to
clean up some of the H5F package. It speeds up `testhdf5 -o
stab' by 25 percent! If you want to try it you'll need to
recompile everything with `-DH5F_LOW_DFLT=H5F_LOW_CORE'.
Don't expect testhdf5 to ever work since creating a file,
closing it, and then opening it for read-only will fail.
Diffstat (limited to 'src/H5Fprivate.h')
-rw-r--r-- | src/H5Fprivate.h | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/H5Fprivate.h b/src/H5Fprivate.h index 1a4d286..ae7e75c 100644 --- a/src/H5Fprivate.h +++ b/src/H5Fprivate.h @@ -236,7 +236,8 @@ typedef enum { * Define the low-level file interface. */ typedef struct H5F_low_class_t { - struct H5F_low_t *(*open)(const char*, uintn); + hbool_t (*access)(const char*, int, H5F_search_t*); + struct H5F_low_t *(*open)(const char*, uintn, H5F_search_t*); herr_t (*close)(struct H5F_low_t*); herr_t (*read)(struct H5F_low_t*, haddr_t, size_t, uint8*); herr_t (*write)(struct H5F_low_t*, haddr_t, size_t, const uint8*); @@ -261,6 +262,13 @@ typedef struct H5F_low_t { H5F_fileop_t op; /* Previous file operation */ haddr_t cur; /* Current file position */ } stdio; + + /* In-core temp file */ + struct { + uint8 *mem; /* Mem image of the file */ + size_t size; /* Current file size */ + size_t alloc; /* Current size of MEM buffer */ + } core; } u; } H5F_low_t; @@ -271,6 +279,7 @@ typedef struct H5F_low_t { #endif extern const H5F_low_class_t H5F_LOW_SEC2[]; /* Posix section 2 */ extern const H5F_low_class_t H5F_LOW_STDIO[]; /* Posix stdio */ +extern const H5F_low_class_t H5F_LOW_CORE[]; /* In-core temp file */ /* @@ -381,8 +390,10 @@ herr_t H5F_block_read (H5F_t *f, haddr_t addr, size_t size, void *buf); herr_t H5F_block_write (H5F_t *f, haddr_t addr, size_t size, void *buf); /* Functions that operate directly on low-level files */ +hbool_t H5F_low_access (const H5F_low_class_t *type, const char *name, + int mode, H5F_search_t *key); H5F_low_t *H5F_low_open (const H5F_low_class_t *type, const char *name, - uintn flags); + uintn flags, H5F_search_t *key); H5F_low_t *H5F_low_close (H5F_low_t *lf); size_t H5F_low_size (H5F_low_t *lf); herr_t H5F_low_read (H5F_low_t *lf, haddr_t addr, size_t size, uint8 *buf); |