SIONlib  1.7.1
Scalable I/O library for parallel access to task-local files
sion_keyvalue_inline.h
Go to the documentation of this file.
1 /****************************************************************************
2 ** SIONLIB http://www.fz-juelich.de/jsc/sionlib **
3 *****************************************************************************
4 ** Copyright (c) 2008-2016 **
5 ** Forschungszentrum Juelich, Juelich Supercomputing Centre **
6 ** **
7 ** See the file COPYRIGHT in the package base directory for details **
8 ****************************************************************************/
9 
14 #ifndef SION_SION_KEYVALUE_INLINE_H
15 #define SION_SION_KEYVALUE_INLINE_H
16 
17 #include <stdint.h>
18 #include "sion.h"
19 #include "sion_filedesc.h"
20 
22 
24  sion_int64 key;
25  size_t offset;
26  size_t bytes_left;
27  sion_int32 new;
28 };
29 
30 size_t _sion_store_and_write_key_and_len_inline(_sion_filedesc *sion_filedesc, uint64_t key, size_t len);
31 size_t _sion_write_value_inline(_sion_filedesc *sion_filedesc, const void *data, uint64_t key, size_t len);
32 
33 int _sion_key_full_scan_inline(_sion_filedesc *sion_filedesc);
34 
35 int _sion_iterator_reset_inline(_sion_filedesc *sion_filedesc);
36 int _sion_iterator_next_inline(_sion_filedesc *sion_filedesc, uint64_t *keyptr, size_t *sizeptr);
37 
38 int _sion_find_and_read_key_and_len_inline(_sion_filedesc *sion_filedesc, uint64_t key, size_t len, size_t *datalen);
39 size_t _sion_read_value_inline(_sion_filedesc *sion_filedesc, void *data, uint64_t key, size_t len);
40 
41 int _sion_keyval_dup_dataptr_inline(_sion_filedesc *sion_filedesc, _sion_filedesc *new_filedesc);
42 
43 int _sion_seek_key_inline(_sion_filedesc *sion_filedesc, uint64_t key, int blocknum, sion_int64 posinblock);
44 
45 /* iterator for list of keys */
46 int _sion_key_list_iterator_reset_inline(_sion_filedesc *sion_filedesc);
47 int _sion_key_list_iterator_next_inline(_sion_filedesc *sion_filedesc, uint64_t *keyptr);
48 
49 /* fills a stat-data structure containing information about the key */
50 int _sion_key_get_stat_inline(_sion_filedesc *sion_filedesc, uint64_t key, sion_key_stat_t *keystat);
51 
52 #endif
Sion File Descriptor Structure.
Definition: sion_filedesc.h:77