00001 00002 #ifndef BIO_BIO_H 00003 #define BIO_BIO_H 00004 #include <stdint.h> 00005 #include "x_bio.h" 00006 00007 00008 /* do these belong in a separate file? */ 00009 #define X(code,name,char_code,type,size, na_val,...) typedef type name##_t; 00010 X_BIO 00011 #undef X 00012 00013 /* global constant... eliminate? */ 00014 /* #define BIO_MAX_DIM 256 */ 00015 00016 /* TODO: add strided arrays */ 00017 00018 00019 typedef struct { 00020 char mmapped; 00021 void *dat0; /* there may be "header" data for alignment issues */ 00022 void *dat; /* this is where the data starts */ 00023 s8_t nDim; /* number of dimensions */ 00024 s1_t ty; /* integer type code */ 00025 s8_t *dim; /* size of each dimension, (not mmapped) */ 00026 s8_t sz; /* for mmaped files, need sz */ 00027 } bio_t; 00028 00029 00030 #endif