31 #include <esio/visibility.h>
75 esio_handle esio_handle_initialize_fortran(MPI_Fint fcomm) ESIO_API;
132 int esio_file_create(esio_handle h,
const char *file,
int overwrite) ESIO_API;
146 int esio_file_open(esio_handle h,
const char *file,
int readwrite) ESIO_API;
164 int overwrite) ESIO_API;
234 const char *restart_template,
235 int retain_count) ESIO_API;
259 const char *location,
261 const char *value) ESIO_API;
281 const char *location,
282 const char *name) ESIO_API;
287 #define ESIO_ATTRIBUTE_WRITE_GEN(TYPE) \
289 esio_attribute_write_##TYPE(const esio_handle h, \
290 const char *location, \
296 #define ESIO_ATTRIBUTE_WRITE_GEN_CXX(TYPE) \
297 extern "C++" inline int \
298 esio_attribute_write(const esio_handle h, \
299 const char *location, \
302 { return esio_attribute_write_##TYPE(h,location,name,value); }
305 #define ESIO_ATTRIBUTE_WRITE_GEN_CXX_BY_VALUE(TYPE) \
306 extern "C++" inline int \
307 esio_attribute_write(const esio_handle h, \
308 const char *location, \
311 { return esio_attribute_write_##TYPE(h,location,name,&value); }
314 #define ESIO_ATTRIBUTE_READ_GEN(TYPE) \
316 esio_attribute_read_##TYPE(const esio_handle h, \
317 const char *location, \
323 #define ESIO_ATTRIBUTE_READ_GEN_CXX(TYPE) \
324 extern "C++" inline int \
325 esio_attribute_read(const esio_handle h, \
326 const char *location, \
329 { return esio_attribute_read_##TYPE(h,location,name,value); }
332 #define ESIO_ATTRIBUTE_WRITEV_GEN(TYPE) \
334 esio_attribute_writev_##TYPE(const esio_handle h, \
335 const char *location, \
342 #define ESIO_ATTRIBUTE_WRITEV_GEN_CXX(TYPE) \
343 extern "C++" inline int \
344 esio_attribute_writev(const esio_handle h, \
345 const char *location, \
349 { return esio_attribute_writev_##TYPE(h,location,name,value,ncomponents); }
352 #define ESIO_ATTRIBUTE_READV_GEN(TYPE) \
354 esio_attribute_readv_##TYPE(const esio_handle h, \
355 const char *location, \
362 #define ESIO_ATTRIBUTE_READV_GEN_CXX(TYPE) \
363 extern "C++" inline int \
364 esio_attribute_readv(const esio_handle h, \
365 const char *location, \
369 { return esio_attribute_readv_##TYPE(h,location,name,value,ncomponents); }
395 ESIO_ATTRIBUTE_WRITE_GEN(
double)
399 ESIO_ATTRIBUTE_WRITE_GEN_CXX(
double)
402 ESIO_ATTRIBUTE_WRITE_GEN_CXX_BY_VALUE(
double)
409 ESIO_ATTRIBUTE_WRITE_GEN(
float)
413 ESIO_ATTRIBUTE_WRITE_GEN_CXX(
float)
416 ESIO_ATTRIBUTE_WRITE_GEN_CXX_BY_VALUE(
float)
423 ESIO_ATTRIBUTE_WRITE_GEN(
int)
427 ESIO_ATTRIBUTE_WRITE_GEN_CXX(
int)
430 ESIO_ATTRIBUTE_WRITE_GEN_CXX_BY_VALUE(
int)
445 ESIO_ATTRIBUTE_READ_GEN(
double)
449 ESIO_ATTRIBUTE_READ_GEN_CXX(
double)
456 ESIO_ATTRIBUTE_READ_GEN(
float)
460 ESIO_ATTRIBUTE_READ_GEN_CXX(
float)
467 ESIO_ATTRIBUTE_READ_GEN(
int)
471 ESIO_ATTRIBUTE_READ_GEN_CXX(
int)
498 ESIO_ATTRIBUTE_WRITEV_GEN(
double)
502 ESIO_ATTRIBUTE_WRITEV_GEN_CXX(
double)
509 ESIO_ATTRIBUTE_WRITEV_GEN(
float)
513 ESIO_ATTRIBUTE_WRITEV_GEN_CXX(
float)
520 ESIO_ATTRIBUTE_WRITEV_GEN(
int)
524 ESIO_ATTRIBUTE_WRITEV_GEN_CXX(
int)
540 ESIO_ATTRIBUTE_READV_GEN(
double)
544 ESIO_ATTRIBUTE_READV_GEN_CXX(
double)
551 ESIO_ATTRIBUTE_READV_GEN(
float)
555 ESIO_ATTRIBUTE_READV_GEN_CXX(
float)
562 ESIO_ATTRIBUTE_READV_GEN(
int)
566 ESIO_ATTRIBUTE_READV_GEN_CXX(
int)
587 const char *location,
589 int *ncomponents) ESIO_API;
611 int aglobal,
int astart,
int alocal) ESIO_API;
631 int bglobal,
int bstart,
int blocal,
632 int aglobal,
int astart,
int alocal) ESIO_API;
655 int cglobal,
int cstart,
int clocal,
656 int bglobal,
int bstart,
int blocal,
657 int aglobal,
int astart,
int alocal) ESIO_API;
667 int *aglobal,
int *astart,
int *alocal) ESIO_API;
677 int *bglobal,
int *bstart,
int *blocal,
678 int *aglobal,
int *astart,
int *alocal) ESIO_API;
688 int *cglobal,
int *cstart,
int *clocal,
689 int *bglobal,
int *bstart,
int *blocal,
690 int *aglobal,
int *astart,
int *alocal) ESIO_API;
695 #undef ESIO_ATTRIBUTE_WRITE_GEN
696 #undef ESIO_ATTRIBUTE_READ_GEN
697 #undef ESIO_ATTRIBUTE_WRITEV_GEN
698 #undef ESIO_ATTRIBUTE_READV_GEN
700 #undef ESIO_ATTRIBUTE_WRITE_GEN_CXX
701 #undef ESIO_ATTRIBUTE_READ_GEN_CXX
702 #undef ESIO_ATTRIBUTE_WRITEV_GEN_CXX
703 #undef ESIO_ATTRIBUTE_READV_GEN_CXX
706 #define ESIO_LINE_WRITE_GEN(TYPE) \
708 esio_line_write_##TYPE(const esio_handle h, \
712 const char *comment) \
716 #define ESIO_LINE_WRITE_GEN_CXX(TYPE) \
717 extern "C++" inline int \
718 esio_line_write(const esio_handle h, \
722 const char *comment = 0) \
723 { return esio_line_write_##TYPE(h,name,line,astride,comment); }
726 #define ESIO_LINE_READ_GEN(TYPE) \
728 esio_line_read_##TYPE(const esio_handle h, \
735 #define ESIO_LINE_READ_GEN_CXX(TYPE) \
736 extern "C++" inline int \
737 esio_line_read(const esio_handle h, \
741 { return esio_line_read_##TYPE(h,name,line,astride); }
744 #define ESIO_LINE_WRITEV_GEN(TYPE) \
746 esio_line_writev_##TYPE(const esio_handle h, \
751 const char *comment) \
755 #define ESIO_LINE_WRITEV_GEN_CXX(TYPE) \
756 extern "C++" inline int \
757 esio_line_writev(const esio_handle h, \
762 const char *comment = 0) \
763 { return esio_line_writev_##TYPE(h,name,line,astride,ncomponents, \
767 #define ESIO_LINE_READV_GEN(TYPE) \
769 esio_line_readv_##TYPE(const esio_handle h, \
777 #define ESIO_LINE_READV_GEN_CXX(TYPE) \
778 extern "C++" inline int \
779 esio_line_readv(const esio_handle h, \
784 { return esio_line_readv_##TYPE(h,name,line,astride,ncomponents); }
813 ESIO_LINE_WRITE_GEN(
double)
817 ESIO_LINE_WRITE_GEN_CXX(
double)
824 ESIO_LINE_WRITE_GEN(
float)
828 ESIO_LINE_WRITE_GEN_CXX(
float)
835 ESIO_LINE_WRITE_GEN(
int)
839 ESIO_LINE_WRITE_GEN_CXX(
int)
856 ESIO_LINE_READ_GEN(
double)
860 ESIO_LINE_READ_GEN_CXX(
double)
867 ESIO_LINE_READ_GEN(
float)
871 ESIO_LINE_READ_GEN_CXX(
float)
878 ESIO_LINE_READ_GEN(
int)
882 ESIO_LINE_READ_GEN_CXX(
int)
899 int *aglobal) ESIO_API;
930 ESIO_LINE_WRITEV_GEN(
double)
934 ESIO_LINE_WRITEV_GEN_CXX(
double)
941 ESIO_LINE_WRITEV_GEN(
float)
945 ESIO_LINE_WRITEV_GEN_CXX(
float)
952 ESIO_LINE_WRITEV_GEN(
int)
956 ESIO_LINE_WRITEV_GEN_CXX(
int)
975 ESIO_LINE_READV_GEN(
double)
979 ESIO_LINE_READV_GEN_CXX(
double)
986 ESIO_LINE_READV_GEN(
float)
990 ESIO_LINE_READV_GEN_CXX(
float)
997 ESIO_LINE_READV_GEN(
int)
1001 ESIO_LINE_READV_GEN_CXX(
int)
1023 int *ncomponents) ESIO_API;
1027 #undef ESIO_LINE_WRITE_GEN
1028 #undef ESIO_LINE_READ_GEN
1029 #undef ESIO_LINE_WRITEV_GEN
1030 #undef ESIO_LINE_READV_GEN
1032 #undef ESIO_LINE_WRITE_GEN_CXX
1033 #undef ESIO_LINE_READ_GEN_CXX
1034 #undef ESIO_LINE_WRITEV_GEN_CXX
1035 #undef ESIO_LINE_READV_GEN_CXX
1038 #define ESIO_PLANE_WRITE_GEN(TYPE) \
1040 esio_plane_write_##TYPE(const esio_handle h, \
1042 const TYPE *plane, \
1043 int bstride, int astride, \
1044 const char *comment) \
1048 #define ESIO_PLANE_WRITE_GEN_CXX(TYPE) \
1049 extern "C++" inline int \
1050 esio_plane_write(const esio_handle h, \
1052 const TYPE *plane, \
1053 int bstride, int astride, \
1054 const char *comment = 0) \
1055 { return esio_plane_write_##TYPE(h,name,plane,bstride,astride,comment); }
1058 #define ESIO_PLANE_READ_GEN(TYPE) \
1060 esio_plane_read_##TYPE(const esio_handle h, \
1063 int bstride, int astride) \
1067 #define ESIO_PLANE_READ_GEN_CXX(TYPE) \
1068 extern "C++" inline int \
1069 esio_plane_read(const esio_handle h, \
1072 int bstride, int astride) \
1073 { return esio_plane_read_##TYPE(h,name,plane,bstride,astride); }
1076 #define ESIO_PLANE_WRITEV_GEN(TYPE) \
1078 esio_plane_writev_##TYPE(const esio_handle h, \
1080 const TYPE *plane, \
1081 int bstride, int astride, \
1083 const char *comment) \
1087 #define ESIO_PLANE_WRITEV_GEN_CXX(TYPE) \
1088 extern "C++" inline int \
1089 esio_plane_writev(const esio_handle h, \
1091 const TYPE *plane, \
1092 int bstride, int astride, \
1094 const char *comment = 0) \
1095 { return esio_plane_writev_##TYPE(h,name,plane,bstride,astride,ncomponents, \
1099 #define ESIO_PLANE_READV_GEN(TYPE) \
1101 esio_plane_readv_##TYPE(const esio_handle h, \
1104 int bstride, int astride, \
1109 #define ESIO_PLANE_READV_GEN_CXX(TYPE) \
1110 extern "C++" inline int \
1111 esio_plane_readv(const esio_handle h, \
1114 int bstride, int astride, \
1116 { return esio_plane_readv_##TYPE(h,name,plane,bstride,astride,ncomponents); }
1149 ESIO_PLANE_WRITE_GEN(
double)
1153 ESIO_PLANE_WRITE_GEN_CXX(
double)
1160 ESIO_PLANE_WRITE_GEN(
float)
1164 ESIO_PLANE_WRITE_GEN_CXX(
float)
1171 ESIO_PLANE_WRITE_GEN(
int)
1175 ESIO_PLANE_WRITE_GEN_CXX(
int)
1196 ESIO_PLANE_READ_GEN(
double)
1200 ESIO_PLANE_READ_GEN_CXX(
double)
1207 ESIO_PLANE_READ_GEN(
float)
1211 ESIO_PLANE_READ_GEN_CXX(
float)
1218 ESIO_PLANE_READ_GEN(
int)
1222 ESIO_PLANE_READ_GEN_CXX(
int)
1243 int *bglobal,
int *aglobal) ESIO_API;
1277 ESIO_PLANE_WRITEV_GEN(
double)
1281 ESIO_PLANE_WRITEV_GEN_CXX(
double)
1288 ESIO_PLANE_WRITEV_GEN(
float)
1292 ESIO_PLANE_WRITEV_GEN_CXX(
float)
1299 ESIO_PLANE_WRITEV_GEN(
int)
1303 ESIO_PLANE_WRITEV_GEN_CXX(
int)
1326 ESIO_PLANE_READV_GEN(
double)
1330 ESIO_PLANE_READV_GEN_CXX(
double)
1337 ESIO_PLANE_READV_GEN(
float)
1341 ESIO_PLANE_READV_GEN_CXX(
float)
1348 ESIO_PLANE_READV_GEN(
int)
1352 ESIO_PLANE_READV_GEN_CXX(
int)
1376 int *bglobal,
int *aglobal,
1377 int *ncomponents) ESIO_API;
1381 #undef ESIO_PLANE_WRITE_GEN
1382 #undef ESIO_PLANE_READ_GEN
1383 #undef ESIO_PLANE_WRITEV_GEN
1384 #undef ESIO_PLANE_READV_GEN
1386 #undef ESIO_PLANE_WRITE_GEN_CXX
1387 #undef ESIO_PLANE_READ_GEN_CXX
1388 #undef ESIO_PLANE_WRITEV_GEN_CXX
1389 #undef ESIO_PLANE_READV_GEN_CXX
1392 #define ESIO_FIELD_WRITE_GEN(TYPE) \
1394 esio_field_write_##TYPE(const esio_handle h, \
1396 const TYPE *field, \
1397 int cstride, int bstride, int astride, \
1398 const char *comment) \
1402 #define ESIO_FIELD_WRITE_GEN_CXX(TYPE) \
1403 extern "C++" inline int \
1404 esio_field_write(const esio_handle h, \
1406 const TYPE *field, \
1407 int cstride, int bstride, int astride, \
1408 const char *comment = 0) \
1409 { return esio_field_write_##TYPE(h,name,field,cstride,bstride,astride, \
1413 #define ESIO_FIELD_READ_GEN(TYPE) \
1415 esio_field_read_##TYPE(const esio_handle h, \
1418 int cstride, int bstride, int astride) \
1422 #define ESIO_FIELD_READ_GEN_CXX(TYPE) \
1423 extern "C++" inline int \
1424 esio_field_read(const esio_handle h, \
1427 int cstride, int bstride, int astride) \
1428 { return esio_field_read_##TYPE(h,name,field,cstride,bstride,astride); }
1431 #define ESIO_FIELD_WRITEV_GEN(TYPE) \
1433 esio_field_writev_##TYPE(const esio_handle h, \
1435 const TYPE *field, \
1436 int cstride, int bstride, int astride, \
1438 const char *comment) \
1442 #define ESIO_FIELD_WRITEV_GEN_CXX(TYPE) \
1443 extern "C++" inline int \
1444 esio_field_writev(const esio_handle h, \
1446 const TYPE *field, \
1447 int cstride, int bstride, int astride, \
1449 const char *comment = 0) \
1450 { return esio_field_writev_##TYPE(h,name,field,cstride,bstride,astride, \
1451 ncomponents,comment); }
1454 #define ESIO_FIELD_READV_GEN(TYPE) \
1456 esio_field_readv_##TYPE(const esio_handle h, \
1459 int cstride, int bstride, int astride, \
1464 #define ESIO_FIELD_READV_GEN_CXX(TYPE) \
1465 extern "C++" inline int \
1466 esio_field_readv(const esio_handle h, \
1469 int cstride, int bstride, int astride, \
1471 { return esio_field_readv_##TYPE(h,name,field,cstride,bstride,astride, \
1507 ESIO_FIELD_WRITE_GEN(
double)
1511 ESIO_FIELD_WRITE_GEN_CXX(
double)
1518 ESIO_FIELD_WRITE_GEN(
float)
1522 ESIO_FIELD_WRITE_GEN_CXX(
float)
1529 ESIO_FIELD_WRITE_GEN(
int)
1533 ESIO_FIELD_WRITE_GEN_CXX(
int)
1556 ESIO_FIELD_READ_GEN(
double)
1560 ESIO_FIELD_READ_GEN_CXX(
double)
1567 ESIO_FIELD_READ_GEN(
float)
1571 ESIO_FIELD_READ_GEN_CXX(
float)
1578 ESIO_FIELD_READ_GEN(
int)
1582 ESIO_FIELD_READ_GEN_CXX(
int)
1605 int *cglobal,
int *bglobal,
int *aglobal) ESIO_API;
1642 ESIO_FIELD_WRITEV_GEN(
double)
1646 ESIO_FIELD_WRITEV_GEN_CXX(
double)
1653 ESIO_FIELD_WRITEV_GEN(
float)
1657 ESIO_FIELD_WRITEV_GEN_CXX(
float)
1664 ESIO_FIELD_WRITEV_GEN(
int)
1668 ESIO_FIELD_WRITEV_GEN_CXX(
int)
1693 ESIO_FIELD_READV_GEN(
double)
1697 ESIO_FIELD_READV_GEN_CXX(
double)
1704 ESIO_FIELD_READV_GEN(
float)
1708 ESIO_FIELD_READV_GEN_CXX(
float)
1715 ESIO_FIELD_READV_GEN(
int)
1719 ESIO_FIELD_READV_GEN_CXX(
int)
1745 int *cglobal,
int *bglobal,
int *aglobal,
1746 int *ncomponents) ESIO_API;
1750 #undef ESIO_FIELD_WRITE_GEN
1751 #undef ESIO_FIELD_READ_GEN
1752 #undef ESIO_FIELD_WRITEV_GEN
1753 #undef ESIO_FIELD_READV_GEN
1755 #undef ESIO_FIELD_WRITE_GEN_CXX
1756 #undef ESIO_FIELD_READ_GEN_CXX
1757 #undef ESIO_FIELD_WRITEV_GEN_CXX
1758 #undef ESIO_FIELD_READV_GEN_CXX