00001 #ifndef CHIRP_ARRAY_H 00002 #define CHIRP_ARRAY_H 00003 00004 #include "chirp_types.h" 00005 00028 struct chirp_matrix * chirp_matrix_create( const char *host, const char *path, int width, int height, int element_size, int nhosts, time_t stoptime); 00029 00038 struct chirp_matrix * chirp_matrix_open( const char * host, const char *path, time_t stoptime); 00039 00048 int chirp_matrix_get_row( struct chirp_matrix *matrix, int y, void *data, time_t stoptime ); 00049 00059 int chirp_matrix_set_row( struct chirp_matrix *matrix, int y, const void *data, time_t stoptime ); 00060 00071 int chirp_matrix_get_col( struct chirp_matrix *matrix, int x, void *data, time_t stoptime ); 00072 00083 int chirp_matrix_set_col( struct chirp_matrix *matrix, int x,const void *data, time_t stoptime ); 00084 00096 int chirp_matrix_get_range( struct chirp_matrix *matrix, int x, int y, int width, int height, void *data, time_t stoptime ); 00097 00109 int chirp_matrix_set_range( struct chirp_matrix *matrix, int x, int y, int width, int height, const void *data, time_t stoptime ); 00110 00122 int chirp_matrix_get( struct chirp_matrix *matrix, int x, int y, void *data, time_t stoptime ); 00123 00135 int chirp_matrix_set( struct chirp_matrix *matrix, int x, int y, const void *data, time_t stoptime ); 00136 00140 int chirp_matrix_setacl( const char *host, const char *path, const char *subject, const char *rights, time_t stoptime); 00141 00142 00148 int chirp_matrix_width( struct chirp_matrix *matrix ); 00149 00155 int chirp_matrix_height( struct chirp_matrix *matrix ); 00156 00162 int chirp_matrix_element_size( struct chirp_matrix *matrix ); 00163 00169 int chirp_matrix_nhosts( struct chirp_matrix *matrix ); 00170 00178 int chirp_matrix_nfiles( struct chirp_matrix *matrix ); 00179 00185 void chirp_matrix_fsync( struct chirp_matrix *matrix, time_t stoptime ); 00186 00192 void chirp_matrix_close( struct chirp_matrix *matrix, time_t stoptime ); 00193 00200 int chirp_matrix_delete( const char *host, const char *path, time_t stoptime ); 00201 00202 #endif