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
|
/*
* Copyright (C) 1998 NCSA
* All rights reserved.
*
* Programmer: Quincey Koziol <koziol@ncsa.uiuc.edu>
* Tuesday, November 10, 1998
*
* Purpose: "None" selection data space I/O functions.
*/
#include <H5private.h>
#include <H5Eprivate.h>
#include <H5Sprivate.h>
#include <H5Vprivate.h>
#include <H5Dprivate.h>
/* Interface initialization */
#define PABLO_MASK H5Snone_mask
#define INTERFACE_INIT NULL
static intn interface_initialize_g = 0;
/*--------------------------------------------------------------------------
NAME
H5S_none_select_serialize
PURPOSE
Serialize the current selection into a user-provided buffer.
USAGE
herr_t H5S_none_select_serialize(space, buf)
H5S_t *space; IN: Dataspace pointer of selection to serialize
uint8 *buf; OUT: Buffer to put serialized selection into
RETURNS
Non-negative on success/Negative on failure
DESCRIPTION
Serializes the current element selection into a buffer. (Primarily for
storing on disk).
GLOBAL VARIABLES
COMMENTS, BUGS, ASSUMPTIONS
EXAMPLES
REVISION LOG
--------------------------------------------------------------------------*/
herr_t
H5S_none_select_serialize (const H5S_t *space, uint8_t *buf)
{
herr_t ret_value=FAIL; /* return value */
FUNC_ENTER (H5S_none_select_serialize, FAIL);
assert(space);
/* Store the preamble information */
UINT32ENCODE(buf, (uint32_t)space->select.type); /* Store the type of selection */
UINT32ENCODE(buf, (uint32_t)1); /* Store the version number */
UINT32ENCODE(buf, (uint32_t)0); /* Store the un-used padding */
UINT32ENCODE(buf, (uint32_t)0); /* Store the additional information length */
/* Set success */
ret_value=SUCCEED;
FUNC_LEAVE (ret_value);
} /* H5S_none_select_serialize() */
/*--------------------------------------------------------------------------
NAME
H5S_none_select_deserialize
PURPOSE
Deserialize the current selection from a user-provided buffer.
USAGE
herr_t H5S_none_select_deserialize(space, buf)
H5S_t *space; IN/OUT: Dataspace pointer to place selection into
uint8 *buf; IN: Buffer to retrieve serialized selection from
RETURNS
Non-negative on success/Negative on failure
DESCRIPTION
Deserializes the current selection into a buffer. (Primarily for retrieving
from disk).
GLOBAL VARIABLES
COMMENTS, BUGS, ASSUMPTIONS
EXAMPLES
REVISION LOG
--------------------------------------------------------------------------*/
herr_t
H5S_none_select_deserialize (H5S_t *space, const uint8_t __unused__ *buf)
{
herr_t ret_value=FAIL; /* return value */
FUNC_ENTER (H5S_none_select_deserialize, FAIL);
assert(space);
/* Change to "none" selection */
if((ret_value=H5S_select_none(space))<0) {
HGOTO_ERROR(H5E_DATASPACE, H5E_CANTDELETE, FAIL, "can't change selection");
} /* end if */
done:
FUNC_LEAVE (ret_value);
} /* H5S_none_select_deserialize() */
|