SIONlib  1.7.7
Scalable I/O library for parallel access to task-local files
Data Structures | Macros | Typedefs | Enumerations | Functions
sion_keyvalue_table.c File Reference
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <time.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <assert.h>
#include "sion.h"
#include "sion_debug.h"
#include "sion_error_handler.h"
#include "sion_internal.h"
#include "sion_printts.h"
#include "sion_keyvalue_table.h"
Include dependency graph for sion_keyvalue_table.c:

Go to the source code of this file.

Data Structures

struct  _sion_keyvalue_table_struct
 
struct  _sion_keyvalue_table_entry_struct
 

Macros

#define _XOPEN_SOURCE   700
 
#define HASH_FCT_SIMPLE_not
 
#define HASH_FCT_SPLIT
 
#define DFUNCTION   "_sion_keyvalue_table_hash_fct"
 
#define DFUNCTION   "_sion_keyvalue_table_init"
 
#define DFUNCTION   "_sion_keyvalue_table_destroy"
 
#define DFUNCTION   "_sion_keyvalue_table_store"
 
#define DFUNCTION   "_sion_keyvalue_table_lookup"
 
#define DFUNCTION   "_sion_keyvalue_table_iterator_reset"
 
#define DFUNCTION   "_sion_keyvalue_table_iterator_next_in_store_order"
 
#define DFUNCTION   "_sion_keyvalue_table_iterator_next"
 
#define DFUNCTION   "_sion_keyvalue_table_get_size"
 

Typedefs

typedef struct _sion_keyvalue_table_entry_struct _sion_keyvalue_table_entry
 

Enumerations

enum  sion_keyvalue_table_entry_state_t { KEYVALUE_TABLE_ENTRY_STATE_USED , KEYVALUE_TABLE_ENTRY_STATE_FREE , KEYVALUE_TABLE_ENTRY_STATE_UNKNOWN }
 

Functions

unsigned int _sion_keyvalue_table_hash_fct (sion_table_key_t key, int tab_size)
 
_sion_keyvalue_table_sion_keyvalue_table_init (int size)
 
int _sion_keyvalue_table_destroy (_sion_keyvalue_table **table)
 
int _sion_keyvalue_table_store (_sion_keyvalue_table *table, sion_table_key_t key, void *data)
 
void * _sion_keyvalue_table_lookup (_sion_keyvalue_table *table, sion_table_key_t key)
 
int _sion_keyvalue_table_iterator_reset (_sion_keyvalue_table *table)
 
int _sion_keyvalue_table_iterator_next_in_store_order (_sion_keyvalue_table *table, sion_table_key_t *key, void **data)
 
int _sion_keyvalue_table_iterator_next (_sion_keyvalue_table *table, sion_table_key_t *key, void **data)
 
int _sion_keyvalue_table_get_size (_sion_keyvalue_table *table)