! Emacs: -*- mode: fortran; -*-
!
!   Copyright (c) 2018      Mellanox Technologies, Inc.
!                           All rights reserved.
!   Copyright (c) 2014-2020 Cisco Systems, Inc.  All rights reserved.
!   $COPYRIGHT$
!
!   Additional copyrights may follow
!
!   $HEADER$
!

!
! TODO: exact values should be found during configuration
!
      integer SHMEM_MAJOR_VERSION
      parameter ( SHMEM_MAJOR_VERSION = 1 )

      integer SHMEM_MINOR_VERSION
      parameter ( SHMEM_MINOR_VERSION = 4 )

      integer SHMEM_MAX_NAME_LEN
      parameter ( SHMEM_MAX_NAME_LEN = 256-1 )

      character(LEN = SHMEM_MAX_NAME_LEN) SHMEM_VENDOR_STRING
      parameter ( SHMEM_VENDOR_STRING = "https://www.open-mpi.org/" )

      integer SHMEM_BARRIER_SYNC_SIZE
      parameter ( SHMEM_BARRIER_SYNC_SIZE = 4 )

      integer SHMEM_BCAST_SYNC_SIZE
      parameter ( SHMEM_BCAST_SYNC_SIZE = 8 )

      integer SHMEM_COLLECT_SYNC_SIZE
      parameter ( SHMEM_COLLECT_SYNC_SIZE = 8 )

      integer SHMEM_REDUCE_SYNC_SIZE
      parameter ( SHMEM_REDUCE_SYNC_SIZE = 8 )

      integer SHMEM_SYNC_VALUE
      parameter ( SHMEM_SYNC_VALUE = -1 )

      integer SHMEM_REDUCE_MIN_WRKDATA_SIZE
      parameter ( SHMEM_REDUCE_MIN_WRKDATA_SIZE = 8 )

!
!     waits
!
      integer SHMEM_CMP_EQ
      parameter ( SHMEM_CMP_EQ = 0 )
      integer SHMEM_CMP_NE
      parameter ( SHMEM_CMP_NE = 1 )
      integer SHMEM_CMP_GT
      parameter ( SHMEM_CMP_GT = 2 )
      integer SHMEM_CMP_LE
      parameter ( SHMEM_CMP_LE = 3 )
      integer SHMEM_CMP_LT
      parameter ( SHMEM_CMP_LT = 4 )
      integer SHMEM_CMP_GE
      parameter ( SHMEM_CMP_GE = 5 )

      logical shmem_pe_accessible
      logical shmem_addr_accessible

      integer*8 shmem_ptr