chirp_matrix.h
Go to the documentation of this file.
/*
Copyright (C) 2022 The University of Notre Dame
This software is distributed under the GNU General Public License.
See the file COPYING for details.
*/
#ifndef CHIRP_ARRAY_H
#define CHIRP_ARRAY_H
#include "chirp_types.h"
struct chirp_matrix *chirp_matrix_create(const char *host, const char *path, int width, int height, int element_size, int nhosts, time_t stoptime);
struct chirp_matrix *chirp_matrix_open(const char *host, const char *path, time_t stoptime);
int chirp_matrix_get_row(struct chirp_matrix *matrix, int y, void *data, time_t stoptime);
int chirp_matrix_set_row(struct chirp_matrix *matrix, int y, const void *data, time_t stoptime);
int chirp_matrix_get_col(struct chirp_matrix *matrix, int x, void *data, time_t stoptime);
int chirp_matrix_set_col(struct chirp_matrix *matrix, int x, const void *data, time_t stoptime);
int chirp_matrix_get_range(struct chirp_matrix *matrix, int x, int y, int width, int height, void *data, time_t stoptime);
int chirp_matrix_set_range(struct chirp_matrix *matrix, int x, int y, int width, int height, const void *data, time_t stoptime);
int chirp_matrix_get(struct chirp_matrix *matrix, int x, int y, void *data, time_t stoptime);
int chirp_matrix_set(struct chirp_matrix *matrix, int x, int y, const void *data, time_t stoptime);
int chirp_matrix_setacl(const char *host, const char *path, const char *subject, const char *rights, time_t stoptime);
int chirp_matrix_width(struct chirp_matrix *matrix);
int chirp_matrix_height(struct chirp_matrix *matrix);
int chirp_matrix_element_size(struct chirp_matrix *matrix);
int chirp_matrix_nhosts(struct chirp_matrix *matrix);
int chirp_matrix_nfiles(struct chirp_matrix *matrix);
void chirp_matrix_fsync(struct chirp_matrix *matrix, time_t stoptime);
void chirp_matrix_close(struct chirp_matrix *matrix, time_t stoptime);
int chirp_matrix_delete(const char *host, const char *path, time_t stoptime);
#endif
/* vim: set noexpandtab tabstop=8: */
chirp_matrix_set
int chirp_matrix_set(struct chirp_matrix *matrix, int x, int y, const void *data, time_t stoptime)
Set a single element.
chirp_matrix_nfiles
int chirp_matrix_nfiles(struct chirp_matrix *matrix)
Get the number of files used by a matrix.
chirp_matrix_delete
int chirp_matrix_delete(const char *host, const char *path, time_t stoptime)
Delete a matrix.
chirp_matrix_close
void chirp_matrix_close(struct chirp_matrix *matrix, time_t stoptime)
Close a matrix and free all related resources.
chirp_matrix_nhosts
int chirp_matrix_nhosts(struct chirp_matrix *matrix)
Get the number of hosts used by a matrix.
chirp_matrix_get
int chirp_matrix_get(struct chirp_matrix *matrix, int x, int y, void *data, time_t stoptime)
Get a single element.
chirp_matrix_set_range
int chirp_matrix_set_range(struct chirp_matrix *matrix, int x, int y, int width, int height, const void *data, time_t stoptime)
Set a range of data.
chirp_matrix_get_row
int chirp_matrix_get_row(struct chirp_matrix *matrix, int y, void *data, time_t stoptime)
Get all values in a row.
chirp_matrix_element_size
int chirp_matrix_element_size(struct chirp_matrix *matrix)
Get the element size of a matrix.
chirp_matrix_height
int chirp_matrix_height(struct chirp_matrix *matrix)
Get the height of a matrix.
chirp_matrix_width
int chirp_matrix_width(struct chirp_matrix *matrix)
Get the width of a matrix.
chirp_matrix_setacl
int chirp_matrix_setacl(const char *host, const char *path, const char *subject, const char *rights, time_t stoptime)
Set the acls on a matrix.
chirp_matrix_get_range
int chirp_matrix_get_range(struct chirp_matrix *matrix, int x, int y, int width, int height, void *data, time_t stoptime)
Get a range of data.
chirp_matrix_get_col
int chirp_matrix_get_col(struct chirp_matrix *matrix, int x, void *data, time_t stoptime)
Get all values in a column.
chirp_matrix_set_row
int chirp_matrix_set_row(struct chirp_matrix *matrix, int y, const void *data, time_t stoptime)
Set all values in a row.
chirp_matrix_open
struct chirp_matrix * chirp_matrix_open(const char *host, const char *path, time_t stoptime)
Open an existing matrix.
chirp_matrix_fsync
void chirp_matrix_fsync(struct chirp_matrix *matrix, time_t stoptime)
Force all data to disk.
chirp_matrix_create
struct chirp_matrix * chirp_matrix_create(const char *host, const char *path, int width, int height, int element_size, int nhosts, time_t stoptime)
Create a new distributed matrix.
chirp_matrix_set_col
int chirp_matrix_set_col(struct chirp_matrix *matrix, int x, const void *data, time_t stoptime)
Set all values in a column.
chirp_types.h
All of the structure and type definitions used by the Chirp API.