00001 /* -*- Mode: C; c-basic-offset:4 ; -*- */ 00002 /* 00003 * (C) 2001 by Argonne National Laboratory. 00004 * See COPYRIGHT in top-level directory. 00005 */ 00006 #ifndef TYPESIZE_SUPPORT_H 00007 #define TYPESIZE_SUPPORT_H 00008 00009 #include "dataloop.h" 00010 00011 #define DLOOP_Type_footprint PREPEND_PREFIX(Type_footprint) 00012 00013 typedef struct PREPEND_PREFIX(Type_footprint_s) { 00014 DLOOP_Offset size, extent; 00015 00016 /* these are only needed for calculating footprint of types 00017 * built using this type. no reason to expose these. 00018 */ 00019 DLOOP_Offset lb, ub, alignsz; 00020 DLOOP_Offset true_lb, true_ub; 00021 int has_sticky_lb; 00022 int has_sticky_ub; 00023 } DLOOP_Type_footprint; 00024 00025 void PREPEND_PREFIX(Type_calc_footprint)(MPI_Datatype type, 00026 DLOOP_Type_footprint *tfp); 00027 00028 #endif