~james-page/ubuntu/precise/openmpi1.5/new

« back to all changes in this revision

Viewing changes to ompi/include/mpi.h.in

  • Committer: Bazaar Package Importer
  • Author(s): Manuel Prinz
  • Date: 2009-04-23 14:01:21 UTC
  • mfrom: (1.1.8 upstream)
  • Revision ID: james.westby@ubuntu.com-20090423140121-vsi3pqa6g30j4qiy
Tags: 1.3.2-1
* New upstream release. (Closes: #520597, #515116)
  - Manpage and VampirTrace patches removed, included upstream.
* Fixed build issues on Alpha. Huge thanks to Arthur Loiret for providing
  access to his machines for testing! (Closes: #510845, #517543)
* Fixed build issues on Sparc. (Closes: #519725)
* Fixed manpage-has-errors-from-man lintian warnings.
* Faked SONAME change by renaming library package. (Closes: #512616)
* Made libopenmpi-dev depend on libibverbs-dev. (Closes: #522153)
* Support for "nocheck" build option in debian/rules.
* Updated Standards-Version in debian/control.
* Changed section of libopenmpi-dbg to "debug".
* Updated debian/copyright.

* Dirk Eddelbuettel removed himself from Uploaders. The team thanks Dirk
  for his long-term contribution and effort to get Open MPI back to life.
  I personally thank Dirk for encouraging me to become a Debian Developer
  and his support and mentoring on that way and beyond.

Show diffs side-by-side

added added

removed removed

Lines of Context:
9
9
 *                         University of Stuttgart.  All rights reserved.
10
10
 * Copyright (c) 2004-2005 The Regents of the University of California.
11
11
 *                         All rights reserved.
12
 
 * Copyright (c) 2007-2008 Cisco Systems, Inc.  All rights reserved.
13
 
 * Copyright (c) 2008      Sun Microsystems, Inc.  All rights reserved.
 
12
 * Copyright (c) 2007-2009 Cisco Systems, Inc.  All rights reserved.
 
13
 * Copyright (c) 2008-2009 Sun Microsystems, Inc.  All rights reserved.
14
14
 * $COPYRIGHT$
15
15
 * 
16
16
 * Additional copyrights may follow
480
480
/*
481
481
 * NULL handles
482
482
 */
483
 
#define MPI_GROUP_NULL (&ompi_mpi_group_null)
484
 
#define MPI_COMM_NULL (&ompi_mpi_comm_null)
485
 
#define MPI_REQUEST_NULL (&ompi_request_null)
486
 
#define MPI_OP_NULL (&ompi_mpi_op_null)
487
 
#define MPI_ERRHANDLER_NULL (&ompi_mpi_errhandler_null)
488
 
#define MPI_INFO_NULL (&ompi_mpi_info_null)
489
 
#define MPI_WIN_NULL (&ompi_mpi_win_null)
 
483
#define MPI_GROUP_NULL (((MPI_Group)&(ompi_mpi_group_null)))
 
484
#define MPI_COMM_NULL (((MPI_Comm)&(ompi_mpi_comm_null)))
 
485
#define MPI_REQUEST_NULL (((MPI_Request)&(ompi_request_null)))
 
486
#define MPI_OP_NULL (((MPI_Op)&(ompi_mpi_op_null)))
 
487
#define MPI_ERRHANDLER_NULL (((MPI_Errhandler)&(ompi_mpi_errhandler_null)))
 
488
#define MPI_INFO_NULL (((MPI_Info)&(ompi_mpi_info_null)))
 
489
#define MPI_WIN_NULL (((MPI_Win)&(ompi_mpi_win_null)))
490
490
#if OMPI_PROVIDE_MPI_FILE_INTERFACE
491
 
#define MPI_FILE_NULL (&ompi_mpi_file_null)
 
491
#define MPI_FILE_NULL (((MPI_File)&(ompi_mpi_file_null)))
492
492
#endif
493
493
 
494
494
#define MPI_STATUS_IGNORE ((MPI_Status *) 0)
596
596
                                         void* attribute_val_out,
597
597
                                         int* flag );
598
598
 
599
 
 
600
599
/*
601
600
 * External variables
 
601
 *
 
602
 * The below externs use the ompi_predefined_xxx_t structures to maintain
 
603
 * back compatibility between MPI library versions.
 
604
 * See ompi/communicator/communicator.h comments with struct ompi_communicator_t
 
605
 * for full explanation why we chose to use the ompi_predefined_xxx_t structure.
602
606
 */
603
 
OMPI_DECLSPEC extern struct ompi_communicator_t ompi_mpi_comm_world;
604
 
OMPI_DECLSPEC extern struct ompi_communicator_t ompi_mpi_comm_self;
605
 
OMPI_DECLSPEC extern struct ompi_communicator_t ompi_mpi_comm_null;
606
 
 
607
 
OMPI_DECLSPEC extern struct ompi_group_t ompi_mpi_group_empty;
608
 
OMPI_DECLSPEC extern struct ompi_group_t ompi_mpi_group_null;
609
 
 
610
 
OMPI_DECLSPEC extern struct ompi_request_t ompi_request_null;
611
 
 
612
 
OMPI_DECLSPEC extern struct ompi_op_t ompi_mpi_op_null;
613
 
OMPI_DECLSPEC extern struct ompi_op_t ompi_mpi_op_max, ompi_mpi_op_min;
614
 
OMPI_DECLSPEC extern struct ompi_op_t ompi_mpi_op_sum, ompi_mpi_op_prod;
615
 
OMPI_DECLSPEC extern struct ompi_op_t ompi_mpi_op_land, ompi_mpi_op_band;
616
 
OMPI_DECLSPEC extern struct ompi_op_t ompi_mpi_op_lor, ompi_mpi_op_bor;
617
 
OMPI_DECLSPEC extern struct ompi_op_t ompi_mpi_op_lxor, ompi_mpi_op_bxor;
618
 
OMPI_DECLSPEC extern struct ompi_op_t ompi_mpi_op_maxloc, ompi_mpi_op_minloc;
619
 
OMPI_DECLSPEC extern struct ompi_op_t ompi_mpi_op_replace;
620
 
 
621
 
OMPI_DECLSPEC extern struct ompi_datatype_t ompi_mpi_char, ompi_mpi_byte;
622
 
OMPI_DECLSPEC extern struct ompi_datatype_t ompi_mpi_int, ompi_mpi_logic;
623
 
OMPI_DECLSPEC extern struct ompi_datatype_t ompi_mpi_short, ompi_mpi_long;
624
 
OMPI_DECLSPEC extern struct ompi_datatype_t ompi_mpi_float, ompi_mpi_double;
625
 
OMPI_DECLSPEC extern struct ompi_datatype_t ompi_mpi_long_double;
626
 
OMPI_DECLSPEC extern struct ompi_datatype_t ompi_mpi_cplex, ompi_mpi_packed;
627
 
OMPI_DECLSPEC extern struct ompi_datatype_t ompi_mpi_signed_char;
628
 
OMPI_DECLSPEC extern struct ompi_datatype_t ompi_mpi_unsigned_char;
629
 
OMPI_DECLSPEC extern struct ompi_datatype_t ompi_mpi_unsigned_short;
630
 
OMPI_DECLSPEC extern struct ompi_datatype_t ompi_mpi_unsigned, ompi_mpi_datatype_null;
631
 
OMPI_DECLSPEC extern struct ompi_datatype_t ompi_mpi_unsigned_long, ompi_mpi_ldblcplex;
632
 
OMPI_DECLSPEC extern struct ompi_datatype_t ompi_mpi_ub, ompi_mpi_lb;
633
 
OMPI_DECLSPEC extern struct ompi_datatype_t ompi_mpi_float_int, ompi_mpi_double_int;
634
 
OMPI_DECLSPEC extern struct ompi_datatype_t ompi_mpi_long_int, ompi_mpi_2int;
635
 
OMPI_DECLSPEC extern struct ompi_datatype_t ompi_mpi_short_int, ompi_mpi_dblcplex;
636
 
OMPI_DECLSPEC extern struct ompi_datatype_t ompi_mpi_integer, ompi_mpi_real;
637
 
OMPI_DECLSPEC extern struct ompi_datatype_t ompi_mpi_dblprec, ompi_mpi_character;
638
 
OMPI_DECLSPEC extern struct ompi_datatype_t ompi_mpi_2real, ompi_mpi_2dblprec;
639
 
OMPI_DECLSPEC extern struct ompi_datatype_t ompi_mpi_2integer, ompi_mpi_longdbl_int;
640
 
OMPI_DECLSPEC extern struct ompi_datatype_t ompi_mpi_wchar, ompi_mpi_long_long_int;
641
 
OMPI_DECLSPEC extern struct ompi_datatype_t ompi_mpi_unsigned_long_long;
642
 
OMPI_DECLSPEC extern struct ompi_datatype_t ompi_mpi_cxx_cplex, ompi_mpi_cxx_dblcplex;
643
 
OMPI_DECLSPEC extern struct ompi_datatype_t ompi_mpi_cxx_ldblcplex;
644
 
OMPI_DECLSPEC extern struct ompi_datatype_t ompi_mpi_cxx_bool;
645
 
OMPI_DECLSPEC extern struct ompi_datatype_t ompi_mpi_2cplex, ompi_mpi_2dblcplex;
 
607
OMPI_DECLSPEC extern struct ompi_predefined_communicator_t ompi_mpi_comm_world;
 
608
OMPI_DECLSPEC extern struct ompi_predefined_communicator_t ompi_mpi_comm_self;
 
609
OMPI_DECLSPEC extern struct ompi_predefined_communicator_t ompi_mpi_comm_null;
 
610
 
 
611
OMPI_DECLSPEC extern struct ompi_predefined_group_t ompi_mpi_group_empty;
 
612
OMPI_DECLSPEC extern struct ompi_predefined_group_t ompi_mpi_group_null;
 
613
 
 
614
OMPI_DECLSPEC extern struct ompi_predefined_request_t ompi_request_null;
 
615
 
 
616
OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_null;
 
617
OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_max, ompi_mpi_op_min;
 
618
OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_sum;
 
619
OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_prod;
 
620
OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_land;
 
621
OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_band;
 
622
OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_lor, ompi_mpi_op_bor;
 
623
OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_lxor;
 
624
OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_bxor;
 
625
OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_maxloc;
 
626
OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_minloc;
 
627
OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_replace;
 
628
 
 
629
OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_char, ompi_mpi_byte;
 
630
OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_int, ompi_mpi_logic;
 
631
OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_short, ompi_mpi_long;
 
632
OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_float, ompi_mpi_double;
 
633
OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_long_double;
 
634
OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_cplex, ompi_mpi_packed;
 
635
OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_signed_char;
 
636
OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_unsigned_char;
 
637
OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_unsigned_short;
 
638
OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_unsigned, ompi_mpi_datatype_null;
 
639
OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_unsigned_long, ompi_mpi_ldblcplex;
 
640
OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_ub, ompi_mpi_lb;
 
641
OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_float_int, ompi_mpi_double_int;
 
642
OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_long_int, ompi_mpi_2int;
 
643
OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_short_int, ompi_mpi_dblcplex;
 
644
OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_integer, ompi_mpi_real;
 
645
OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_dblprec, ompi_mpi_character;
 
646
OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_2real, ompi_mpi_2dblprec;
 
647
OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_2integer, ompi_mpi_longdbl_int;
 
648
OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_wchar, ompi_mpi_long_long_int;
 
649
OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_unsigned_long_long;
 
650
OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_cxx_cplex, ompi_mpi_cxx_dblcplex;
 
651
OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_cxx_ldblcplex;
 
652
OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_cxx_bool;
 
653
OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_2cplex, ompi_mpi_2dblcplex;
646
654
/* other MPI2 datatypes */
647
655
#if OMPI_HAVE_FORTRAN_LOGICAL1
648
 
OMPI_DECLSPEC extern struct ompi_datatype_t ompi_mpi_logical1;
 
656
OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_logical1;
649
657
#endif
650
658
#if OMPI_HAVE_FORTRAN_LOGICAL2
651
 
OMPI_DECLSPEC extern struct ompi_datatype_t ompi_mpi_logical2;
 
659
OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_logical2;
652
660
#endif
653
661
#if OMPI_HAVE_FORTRAN_LOGICAL4
654
 
OMPI_DECLSPEC extern struct ompi_datatype_t ompi_mpi_logical4;
 
662
OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_logical4;
655
663
#endif
656
664
#if OMPI_HAVE_FORTRAN_LOGICAL8
657
 
OMPI_DECLSPEC extern struct ompi_datatype_t ompi_mpi_logical8;
 
665
OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_logical8;
658
666
#endif
659
667
#if OMPI_HAVE_FORTRAN_INTEGER1
660
 
OMPI_DECLSPEC extern struct ompi_datatype_t ompi_mpi_integer1;
 
668
OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_integer1;
661
669
#endif
662
670
#if OMPI_HAVE_FORTRAN_INTEGER2
663
 
OMPI_DECLSPEC extern struct ompi_datatype_t ompi_mpi_integer2;
 
671
OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_integer2;
664
672
#endif
665
673
#if OMPI_HAVE_FORTRAN_INTEGER4
666
 
OMPI_DECLSPEC extern struct ompi_datatype_t ompi_mpi_integer4;
 
674
OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_integer4;
667
675
#endif
668
676
#if OMPI_HAVE_FORTRAN_INTEGER8
669
 
OMPI_DECLSPEC extern struct ompi_datatype_t ompi_mpi_integer8;
 
677
OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_integer8;
670
678
#endif
671
679
#if OMPI_HAVE_FORTRAN_INTEGER16
672
 
OMPI_DECLSPEC extern struct ompi_datatype_t ompi_mpi_integer16;
 
680
OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_integer16;
673
681
#endif
674
682
#if OMPI_HAVE_FORTRAN_REAL2
675
 
OMPI_DECLSPEC extern struct ompi_datatype_t ompi_mpi_real2;
676
 
#endif
677
 
#if OMPI_HAVE_FORTRAN_REAL4
678
 
OMPI_DECLSPEC extern struct ompi_datatype_t ompi_mpi_real4; 
679
 
#endif
680
 
#if OMPI_HAVE_FORTRAN_REAL8
681
 
OMPI_DECLSPEC extern struct ompi_datatype_t ompi_mpi_real8;
682
 
#endif
683
 
#if OMPI_HAVE_FORTRAN_REAL16
684
 
OMPI_DECLSPEC extern struct ompi_datatype_t ompi_mpi_real16;
685
 
#endif
686
 
#if OMPI_HAVE_FORTRAN_REAL4
687
 
OMPI_DECLSPEC extern struct ompi_datatype_t ompi_mpi_complex8;
688
 
#endif
689
 
#if OMPI_HAVE_FORTRAN_REAL8
690
 
OMPI_DECLSPEC extern struct ompi_datatype_t ompi_mpi_complex16;
691
 
#endif
692
 
#if OMPI_HAVE_FORTRAN_REAL16
693
 
OMPI_DECLSPEC extern struct ompi_datatype_t ompi_mpi_complex32;
694
 
#endif
695
 
 
696
 
OMPI_DECLSPEC extern struct ompi_errhandler_t ompi_mpi_errhandler_null;
697
 
OMPI_DECLSPEC extern struct ompi_errhandler_t ompi_mpi_errors_are_fatal;
698
 
OMPI_DECLSPEC extern struct ompi_errhandler_t ompi_mpi_errors_return;
699
 
 
700
 
OMPI_DECLSPEC extern struct ompi_win_t ompi_mpi_win_null;
701
 
OMPI_DECLSPEC extern struct ompi_file_t ompi_mpi_file_null;
702
 
 
703
 
OMPI_DECLSPEC extern struct ompi_info_t ompi_mpi_info_null;
 
683
OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_real2;
 
684
#endif
 
685
#if OMPI_HAVE_FORTRAN_REAL4
 
686
OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_real4; 
 
687
#endif
 
688
#if OMPI_HAVE_FORTRAN_REAL8
 
689
OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_real8;
 
690
#endif
 
691
#if OMPI_HAVE_FORTRAN_REAL16
 
692
OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_real16;
 
693
#endif
 
694
#if OMPI_HAVE_FORTRAN_REAL4
 
695
OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_complex8;
 
696
#endif
 
697
#if OMPI_HAVE_FORTRAN_REAL8
 
698
OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_complex16;
 
699
#endif
 
700
#if OMPI_HAVE_FORTRAN_REAL16
 
701
OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_complex32;
 
702
#endif
 
703
 
 
704
OMPI_DECLSPEC extern struct ompi_predefined_errhandler_t ompi_mpi_errhandler_null;
 
705
OMPI_DECLSPEC extern struct ompi_predefined_errhandler_t ompi_mpi_errors_are_fatal;
 
706
OMPI_DECLSPEC extern struct ompi_predefined_errhandler_t ompi_mpi_errors_return;
 
707
 
 
708
OMPI_DECLSPEC extern struct ompi_predefined_win_t ompi_mpi_win_null;
 
709
OMPI_DECLSPEC extern struct ompi_predefined_file_t ompi_mpi_file_null;
 
710
 
 
711
OMPI_DECLSPEC extern struct ompi_predefined_info_t ompi_mpi_info_null;
704
712
 
705
713
OMPI_DECLSPEC extern MPI_Fint *MPI_F_STATUS_IGNORE;
706
714
OMPI_DECLSPEC extern MPI_Fint *MPI_F_STATUSES_IGNORE;
708
716
/*
709
717
 * MPI predefined handles
710
718
 */
711
 
#define MPI_COMM_WORLD (&ompi_mpi_comm_world)
712
 
#define MPI_COMM_SELF (&ompi_mpi_comm_self)
713
 
 
714
 
#define MPI_GROUP_EMPTY (&ompi_mpi_group_empty)
715
 
 
716
 
#define MPI_MAX (&ompi_mpi_op_max)
717
 
#define MPI_MIN (&ompi_mpi_op_min)
718
 
#define MPI_SUM (&ompi_mpi_op_sum)
719
 
#define MPI_PROD (&ompi_mpi_op_prod)
720
 
#define MPI_LAND (&ompi_mpi_op_land)
721
 
#define MPI_BAND (&ompi_mpi_op_band)
722
 
#define MPI_LOR (&ompi_mpi_op_lor)
723
 
#define MPI_BOR (&ompi_mpi_op_bor)
724
 
#define MPI_LXOR (&ompi_mpi_op_lxor)
725
 
#define MPI_BXOR (&ompi_mpi_op_bxor)
726
 
#define MPI_MAXLOC (&ompi_mpi_op_maxloc)
727
 
#define MPI_MINLOC (&ompi_mpi_op_minloc)
728
 
#define MPI_REPLACE (&ompi_mpi_op_replace)
 
719
#define MPI_COMM_WORLD (((MPI_Comm)&(ompi_mpi_comm_world)))
 
720
#define MPI_COMM_SELF (((MPI_Comm)&(ompi_mpi_comm_self)))
 
721
 
 
722
#define MPI_GROUP_EMPTY (((MPI_Group)&(ompi_mpi_group_empty)))
 
723
 
 
724
#define MPI_MAX (((MPI_Op)&(ompi_mpi_op_max)))
 
725
#define MPI_MIN (((MPI_Op)&(ompi_mpi_op_min)))
 
726
#define MPI_SUM (((MPI_Op)&(ompi_mpi_op_sum)))
 
727
#define MPI_PROD (((MPI_Op)&(ompi_mpi_op_prod)))
 
728
#define MPI_LAND (((MPI_Op)&(ompi_mpi_op_land)))
 
729
#define MPI_BAND (((MPI_Op)&(ompi_mpi_op_band)))
 
730
#define MPI_LOR (((MPI_Op)&(ompi_mpi_op_lor)))
 
731
#define MPI_BOR (((MPI_Op)&(ompi_mpi_op_bor)))
 
732
#define MPI_LXOR (((MPI_Op)&(ompi_mpi_op_lxor)))
 
733
#define MPI_BXOR (((MPI_Op)&(ompi_mpi_op_bxor)))
 
734
#define MPI_MAXLOC (((MPI_Op)&(ompi_mpi_op_maxloc)))
 
735
#define MPI_MINLOC (((MPI_Op)&(ompi_mpi_op_minloc)))
 
736
#define MPI_REPLACE (((MPI_Op)&(ompi_mpi_op_replace)))
729
737
 
730
738
/* C datatypes */
731
 
#define MPI_DATATYPE_NULL (&ompi_mpi_datatype_null)
732
 
#define MPI_BYTE (&ompi_mpi_byte)
733
 
#define MPI_PACKED (&ompi_mpi_packed)
734
 
#define MPI_CHAR (&ompi_mpi_char)
735
 
#define MPI_SHORT (&ompi_mpi_short)
736
 
#define MPI_INT (&ompi_mpi_int)
737
 
#define MPI_LONG (&ompi_mpi_long)
738
 
#define MPI_FLOAT (&ompi_mpi_float)
739
 
#define MPI_DOUBLE (&ompi_mpi_double)
740
 
#define MPI_LONG_DOUBLE (&ompi_mpi_long_double)
741
 
#define MPI_UNSIGNED_CHAR (&ompi_mpi_unsigned_char)
742
 
#define MPI_SIGNED_CHAR (&ompi_mpi_signed_char)
743
 
#define MPI_UNSIGNED_SHORT (&ompi_mpi_unsigned_short)
744
 
#define MPI_UNSIGNED_LONG (&ompi_mpi_unsigned_long)
745
 
#define MPI_UNSIGNED (&ompi_mpi_unsigned)
746
 
#define MPI_FLOAT_INT (&ompi_mpi_float_int)
747
 
#define MPI_DOUBLE_INT (&ompi_mpi_double_int)
748
 
#define MPI_LONG_DOUBLE_INT (&ompi_mpi_longdbl_int)
749
 
#define MPI_LONG_INT (&ompi_mpi_long_int)
750
 
#define MPI_SHORT_INT (&ompi_mpi_short_int)
751
 
#define MPI_2INT (&ompi_mpi_2int)
752
 
#define MPI_UB (&ompi_mpi_ub)
753
 
#define MPI_LB (&ompi_mpi_lb)
754
 
#define MPI_WCHAR (&ompi_mpi_wchar)
 
739
#define MPI_DATATYPE_NULL (((MPI_Datatype)&(ompi_mpi_datatype_null)))
 
740
#define MPI_BYTE (((MPI_Datatype)&(ompi_mpi_byte)))
 
741
#define MPI_PACKED (((MPI_Datatype)&(ompi_mpi_packed)))
 
742
#define MPI_CHAR (((MPI_Datatype)&(ompi_mpi_char)))
 
743
#define MPI_SHORT (((MPI_Datatype)&(ompi_mpi_short)))
 
744
#define MPI_INT (((MPI_Datatype)&(ompi_mpi_int)))
 
745
#define MPI_LONG (((MPI_Datatype)&(ompi_mpi_long)))
 
746
#define MPI_FLOAT (((MPI_Datatype)&(ompi_mpi_float)))
 
747
#define MPI_DOUBLE (((MPI_Datatype)&(ompi_mpi_double)))
 
748
#define MPI_LONG_DOUBLE (((MPI_Datatype)&(ompi_mpi_long_double)))
 
749
#define MPI_UNSIGNED_CHAR (((MPI_Datatype)&(ompi_mpi_unsigned_char)))
 
750
#define MPI_SIGNED_CHAR (((MPI_Datatype)&(ompi_mpi_signed_char)))
 
751
#define MPI_UNSIGNED_SHORT (((MPI_Datatype)&(ompi_mpi_unsigned_short)))
 
752
#define MPI_UNSIGNED_LONG (((MPI_Datatype)&(ompi_mpi_unsigned_long)))
 
753
#define MPI_UNSIGNED (((MPI_Datatype)&(ompi_mpi_unsigned)))
 
754
#define MPI_FLOAT_INT (((MPI_Datatype)&(ompi_mpi_float_int)))
 
755
#define MPI_DOUBLE_INT (((MPI_Datatype)&(ompi_mpi_double_int)))
 
756
#define MPI_LONG_DOUBLE_INT (((MPI_Datatype)&(ompi_mpi_longdbl_int)))
 
757
#define MPI_LONG_INT (((MPI_Datatype)&(ompi_mpi_long_int)))
 
758
#define MPI_SHORT_INT (((MPI_Datatype)&(ompi_mpi_short_int)))
 
759
#define MPI_2INT (((MPI_Datatype)&(ompi_mpi_2int)))
 
760
#define MPI_UB (((MPI_Datatype)&(ompi_mpi_ub)))
 
761
#define MPI_LB (((MPI_Datatype)&(ompi_mpi_lb)))
 
762
#define MPI_WCHAR (((MPI_Datatype)&(ompi_mpi_wchar)))
755
763
#if OMPI_HAVE_LONG_LONG
756
 
#define MPI_LONG_LONG_INT (&ompi_mpi_long_long_int)
757
 
#define MPI_LONG_LONG (&ompi_mpi_long_long_int)
758
 
#define MPI_UNSIGNED_LONG_LONG (&ompi_mpi_unsigned_long_long)
 
764
#define MPI_LONG_LONG_INT (((MPI_Datatype)&(ompi_mpi_long_long_int)))
 
765
#define MPI_LONG_LONG (((MPI_Datatype)&(ompi_mpi_long_long_int)))
 
766
#define MPI_UNSIGNED_LONG_LONG (((MPI_Datatype)&(ompi_mpi_unsigned_long_long)))
759
767
#endif  /* OMPI_HAVE_LONG_LONG */
760
 
#define MPI_2COMPLEX (&ompi_mpi_2cplex)
761
 
#define MPI_2DOUBLE_COMPLEX (&ompi_mpi_2dblcplex)
 
768
#define MPI_2COMPLEX (((MPI_Datatype)&(ompi_mpi_2cplex)))
 
769
#define MPI_2DOUBLE_COMPLEX (((MPI_Datatype)&(ompi_mpi_2dblcplex)))
762
770
 
763
771
/* Fortran datatype bindings */
764
 
#define MPI_CHARACTER (&ompi_mpi_character)
765
 
#define MPI_LOGICAL (&ompi_mpi_logic)
 
772
#define MPI_CHARACTER (((MPI_Datatype)&(ompi_mpi_character)))
 
773
#define MPI_LOGICAL (((MPI_Datatype)&(ompi_mpi_logic)))
766
774
#if OMPI_HAVE_FORTRAN_LOGICAL1
767
 
#define MPI_LOGICAL1 (&ompi_mpi_logical1)
 
775
#define MPI_LOGICAL1 (((MPI_Datatype)&(ompi_mpi_logical1)))
768
776
#endif
769
777
#if OMPI_HAVE_FORTRAN_LOGICAL2
770
 
#define MPI_LOGICAL2 (&ompi_mpi_logical2)
 
778
#define MPI_LOGICAL2 (((MPI_Datatype)&(ompi_mpi_logical2)))
771
779
#endif
772
780
#if OMPI_HAVE_FORTRAN_LOGICAL4
773
 
#define MPI_LOGICAL4 (&ompi_mpi_logical4)
 
781
#define MPI_LOGICAL4 (((MPI_Datatype)&(ompi_mpi_logical4)))
774
782
#endif
775
783
#if OMPI_HAVE_FORTRAN_LOGICAL8
776
 
#define MPI_LOGICAL8 (&ompi_mpi_logical8)
 
784
#define MPI_LOGICAL8 (((MPI_Datatype)&(ompi_mpi_logical8)))
777
785
#endif
778
 
#define MPI_INTEGER (&ompi_mpi_integer)
 
786
#define MPI_INTEGER (((MPI_Datatype)&(ompi_mpi_integer)))
779
787
#if OMPI_HAVE_FORTRAN_INTEGER1
780
 
#define MPI_INTEGER1 (&ompi_mpi_integer1)
 
788
#define MPI_INTEGER1 (((MPI_Datatype)&(ompi_mpi_integer1)))
781
789
#endif
782
790
#if OMPI_HAVE_FORTRAN_INTEGER2
783
 
#define MPI_INTEGER2 (&ompi_mpi_integer2)
 
791
#define MPI_INTEGER2 (((MPI_Datatype)&(ompi_mpi_integer2)))
784
792
#endif
785
793
#if OMPI_HAVE_FORTRAN_INTEGER4
786
 
#define MPI_INTEGER4 (&ompi_mpi_integer4)
 
794
#define MPI_INTEGER4 (((MPI_Datatype)&(ompi_mpi_integer4)))
787
795
#endif
788
796
#if OMPI_HAVE_FORTRAN_INTEGER8
789
 
#define MPI_INTEGER8 (&ompi_mpi_integer8)
 
797
#define MPI_INTEGER8 (((MPI_Datatype)&(ompi_mpi_integer8)))
790
798
#endif
791
799
#if OMPI_HAVE_FORTRAN_INTEGER16
792
 
#define MPI_INTEGER16 (&ompi_mpi_integer16)
793
 
#endif
794
 
#define MPI_REAL (&ompi_mpi_real)
795
 
#if OMPI_HAVE_FORTRAN_REAL4
796
 
#define MPI_REAL4 (&ompi_mpi_real4)
797
 
#endif
798
 
#if OMPI_HAVE_FORTRAN_REAL8
799
 
#define MPI_REAL8 (&ompi_mpi_real8)
800
 
#endif
801
 
#if OMPI_HAVE_FORTRAN_REAL16
802
 
#define MPI_REAL16 (&ompi_mpi_real16)
803
 
#endif
804
 
#define MPI_DOUBLE_PRECISION (&ompi_mpi_dblprec)
805
 
#define MPI_COMPLEX (&ompi_mpi_cplex)
806
 
#if OMPI_HAVE_FORTRAN_REAL4
807
 
#define MPI_COMPLEX8 (&ompi_mpi_complex8)
808
 
#endif
809
 
#if OMPI_HAVE_FORTRAN_REAL8
810
 
#define MPI_COMPLEX16 (&ompi_mpi_complex16)
811
 
#endif
812
 
#if OMPI_HAVE_FORTRAN_REAL16
813
 
#define MPI_COMPLEX32 (&ompi_mpi_complex32)
814
 
#endif
815
 
#define MPI_DOUBLE_COMPLEX (&ompi_mpi_dblcplex)
816
 
#define MPI_2REAL (&ompi_mpi_2real)
817
 
#define MPI_2DOUBLE_PRECISION (&ompi_mpi_2dblprec)
818
 
#define MPI_2INTEGER (&ompi_mpi_2integer)
 
800
#define MPI_INTEGER16 (((MPI_Datatype)&(ompi_mpi_integer16)))
 
801
#endif
 
802
#define MPI_REAL (((MPI_Datatype)&(ompi_mpi_real)))
 
803
#if OMPI_HAVE_FORTRAN_REAL4
 
804
#define MPI_REAL4 (((MPI_Datatype)&(ompi_mpi_real4)))
 
805
#endif
 
806
#if OMPI_HAVE_FORTRAN_REAL8
 
807
#define MPI_REAL8 (((MPI_Datatype)&(ompi_mpi_real8)))
 
808
#endif
 
809
#if OMPI_HAVE_FORTRAN_REAL16
 
810
#define MPI_REAL16 (((MPI_Datatype)&(ompi_mpi_real16)))
 
811
#endif
 
812
#define MPI_DOUBLE_PRECISION (((MPI_Datatype)&(ompi_mpi_dblprec)))
 
813
#define MPI_COMPLEX (((MPI_Datatype)&(ompi_mpi_cplex)))
 
814
#if OMPI_HAVE_FORTRAN_REAL4
 
815
#define MPI_COMPLEX8 (((MPI_Datatype)&(ompi_mpi_complex8)))
 
816
#endif
 
817
#if OMPI_HAVE_FORTRAN_REAL8
 
818
#define MPI_COMPLEX16 (((MPI_Datatype)&(ompi_mpi_complex16)))
 
819
#endif
 
820
#if OMPI_HAVE_FORTRAN_REAL16
 
821
#define MPI_COMPLEX32 (((MPI_Datatype)&(ompi_mpi_complex32)))
 
822
#endif
 
823
#define MPI_DOUBLE_COMPLEX (((MPI_Datatype)&(ompi_mpi_dblcplex)))
 
824
#define MPI_2REAL (((MPI_Datatype)&(ompi_mpi_2real)))
 
825
#define MPI_2DOUBLE_PRECISION (((MPI_Datatype)&(ompi_mpi_2dblprec)))
 
826
#define MPI_2INTEGER (((MPI_Datatype)&(ompi_mpi_2integer)))
819
827
 
820
 
#define MPI_ERRORS_ARE_FATAL (&ompi_mpi_errors_are_fatal)
821
 
#define MPI_ERRORS_RETURN (&ompi_mpi_errors_return)
 
828
#define MPI_ERRORS_ARE_FATAL (((MPI_Errhandler)&(ompi_mpi_errors_are_fatal)))
 
829
#define MPI_ERRORS_RETURN (((MPI_Errhandler)&(ompi_mpi_errors_return)))
822
830
 
823
831
/* Typeclass definition for MPI_Type_match_size */
824
832
#define MPI_TYPECLASS_INTEGER    1
992
1000
OMPI_DECLSPEC  int MPI_File_read_shared(MPI_File fh, void *buf, int count,
993
1001
                                        MPI_Datatype datatype, MPI_Status *status);
994
1002
OMPI_DECLSPEC  int MPI_File_write_shared(MPI_File fh, void *buf, int count,
995
 
                                         MPI_Datatype datatype, MPI_Status *status);
 
1003
                                         MPI_Datatype datatype, MPI_Status *status);
996
1004
OMPI_DECLSPEC  int MPI_File_iread_shared(MPI_File fh, void *buf, int count,
997
1005
                                         MPI_Datatype datatype, MPI_Request *request);
998
1006
OMPI_DECLSPEC  int MPI_File_iwrite_shared(MPI_File fh, void *buf, int count,