1 
   2 
   3 
   4 
   5 
   6 
   7 
   8 
   9 
  10 
  11 
  12 
  13 
  14 
  15 
  16 
  17 
  18 
  19 
  20 
  21 
  22 
  23 #ifndef MCA_COMMON_OMPIO_PRINT_QUEUE_H
  24 #define MCA_COMMON_OMPIO_PRINT_QUEUE_H
  25 
  26 
  27 #include "mpi.h"
  28 
  29 #define MCA_COMMON_OMPIO_QUEUESIZE 2048
  30 
  31 
  32 struct mca_common_ompio_print_entry{
  33     double time[3];
  34     int nprocs_for_coll;
  35     int aggregator;
  36 };
  37 
  38 typedef struct mca_common_ompio_print_entry mca_common_ompio_print_entry;
  39 
  40 struct mca_common_ompio_print_queue {
  41     mca_common_ompio_print_entry entry[MCA_COMMON_OMPIO_QUEUESIZE + 1];
  42     int first;
  43     int last;
  44     int count;
  45 };
  46 typedef struct mca_common_ompio_print_queue mca_common_ompio_print_queue;
  47 
  48 
  49 OMPI_DECLSPEC int mca_common_ompio_register_print_entry (struct mca_common_ompio_print_queue *q,
  50                                                          mca_common_ompio_print_entry x);
  51 
  52 OMPI_DECLSPEC int mca_common_ompio_unregister_print_entry (struct mca_common_ompio_print_queue *q,
  53                                                            mca_common_ompio_print_entry *x);
  54 
  55 OMPI_DECLSPEC int mca_common_ompio_empty_print_queue( struct mca_common_ompio_print_queue *q);
  56 
  57 OMPI_DECLSPEC int mca_common_ompio_full_print_queue( struct mca_common_ompio_print_queue *q);
  58 
  59 OMPI_DECLSPEC int mca_common_ompio_initialize_print_queue(struct mca_common_ompio_print_queue **q);
  60 
  61 OMPI_DECLSPEC int mca_common_ompio_print_time_info( struct mca_common_ompio_print_queue *q,
  62                                                     char *name_operation, struct ompio_file_t *fh);
  63 
  64 
  65 END_C_DECLS
  66 
  67 #endif