summaryrefslogtreecommitdiffstats
path: root/src/H5FPprivate.h
diff options
context:
space:
mode:
authorBill Wendling <wendling@ncsa.uiuc.edu>2003-02-12 21:30:20 (GMT)
committerBill Wendling <wendling@ncsa.uiuc.edu>2003-02-12 21:30:20 (GMT)
commit645b7e8c378d3f4abd1b3159198fb5cdb14b34a8 (patch)
tree01c48c6cf670cbd61eaa8d685f7745639b8b56d1 /src/H5FPprivate.h
parentd2bfd727ca0e9f298598b723d20faef3edf7b582 (diff)
downloadhdf5-645b7e8c378d3f4abd1b3159198fb5cdb14b34a8.zip
hdf5-645b7e8c378d3f4abd1b3159198fb5cdb14b34a8.tar.gz
hdf5-645b7e8c378d3f4abd1b3159198fb5cdb14b34a8.tar.bz2
[svn-r6401] Purpose:
Update Description: Added a "metadata flush" function which allows the clients to force a dump of the metadata from the SAP. This should be done before closing the file. Modified the information stored on an "open" of the file. The filename is unnecessary, so I got rid of it. More integration with the File Driver code: Passing in a data xfer property list. Platforms tested: Linux
Diffstat (limited to 'src/H5FPprivate.h')
-rw-r--r--src/H5FPprivate.h40
1 files changed, 26 insertions, 14 deletions
diff --git a/src/H5FPprivate.h b/src/H5FPprivate.h
index 65bce85..adac0b0 100644
--- a/src/H5FPprivate.h
+++ b/src/H5FPprivate.h
@@ -46,6 +46,7 @@ typedef enum {
H5FP_REQ_RELEASE_END, /* Last unlock request in unlock sequence */
H5FP_REQ_WRITE, /* Writing a piece of metadata */
H5FP_REQ_READ, /* Reading a piece of metadata */
+ H5FP_REQ_FLUSH, /* Flush the metadata out to disk */
H5FP_REQ_CLOSE, /* Close a file (or eventually an object) */
H5FP_REQ_STOP /* Stop SAP */
} H5FP_req_t;
@@ -151,12 +152,15 @@ typedef enum sap_status {
H5FP_STATUS_CATASTROPHIC
} H5FP_status_t;
-/*
+/*===----------------------------------------------------------------------===
+ * H5FP_request
+ *===----------------------------------------------------------------------===
+ *
* The structure sent to the SAP which holds all of the requested action
*/
typedef struct {
- H5FP_req_t req_type; /* Request type */
unsigned req_id; /* ID for request set by sending process */
+ H5FP_req_t req_type; /* Request type */
unsigned proc_rank; /* Rank of sending process */
unsigned file_id; /* SAP's file ID for the specific file */
H5FP_obj_t obj_type; /* Type of the object */
@@ -169,7 +173,10 @@ typedef struct {
extern MPI_Datatype H5FP_request_t; /* MPI datatype for the H5FP_request obj*/
-/*
+/*===----------------------------------------------------------------------===
+ * H5FP_reply
+ *===----------------------------------------------------------------------===
+ *
* Reply from the SAP on an H5FP_request send
*/
typedef struct {
@@ -181,7 +188,10 @@ typedef struct {
extern MPI_Datatype H5FP_reply_t; /* MPI datatype for the H5FP_reply obj */
-/*
+/*===----------------------------------------------------------------------===
+ * H5FP_read
+ *===----------------------------------------------------------------------===
+ *
* The reply message from the SAP on an H5FP_request H5FP_REQ_READ send
*/
typedef struct {
@@ -213,27 +223,29 @@ extern "C" {
extern herr_t H5FP_sap_receive_loop(void);
/* Use these functions to communicate with the SAP */
-extern herr_t H5FP_request_open(const char *mdata, int md_len, H5FP_obj_t obj_type,
- MPI_Offset maxaddr, unsigned *file_id, unsigned *req_id);
+extern herr_t H5FP_request_open(H5FP_obj_t obj_type, MPI_Offset maxaddr,
+ unsigned *file_id, unsigned *req_id);
extern herr_t H5FP_request_lock(unsigned sap_file_id, unsigned char *mdata,
H5FP_lock_t rw_lock, int last, unsigned *req_id,
H5FP_status_t *status);
extern herr_t H5FP_request_release_lock(unsigned sap_file_id, unsigned char *mdata,
int last, unsigned *req_id,
H5FP_status_t *status);
-extern herr_t H5FP_request_read_metadata(H5FD_t *file, unsigned sap_file_id,
+extern herr_t H5FP_request_read_metadata(H5FD_t *file, unsigned sap_file_id, hid_t dxpl_id,
H5FD_mem_t mem_type, MPI_Offset addr,
size_t size, uint8_t **buf, int *bytes_read,
unsigned *req_id, H5FP_status_t *status);
-extern herr_t H5FP_request_write_metadata(H5FD_t *file, unsigned file_id,
- H5FD_mem_t mem_type, unsigned char *obj_oid,
- MPI_Offset addr, int mdata_size,
- const char *mdata, unsigned *req_id,
+extern herr_t H5FP_request_write_metadata(H5FD_t *file, unsigned file_id, hid_t dxpl_id,
+ H5FD_mem_t mem_type, MPI_Offset addr,
+ int mdata_size, const char *mdata,
+ unsigned *req_id, H5FP_status_t *status);
+extern herr_t H5FP_request_flush_metadata(H5FD_t *file, unsigned file_id,
+ hid_t dxpl_id, unsigned *req_id,
H5FP_status_t *status);
-extern herr_t H5FP_request_close(H5FD_t *file, unsigned sap_file_id, unsigned *req_id,
- H5FP_status_t *status);
+extern herr_t H5FP_request_close(H5FD_t *file, unsigned sap_file_id,
+ unsigned *req_id, H5FP_status_t *status);
-/* NOTE: Don't use these functions outside of the H5FD* modules! */
+/* NOTE: Don't use these functions outside of the H5FP* modules! */
extern herr_t H5FP_send_metadata(const char *mdata, int len, int to);
extern herr_t H5FP_read_metadata(char **mdata, int len, int from);