/*D
   MPI_Neighbor_allgather_init - Create a persistent request for neighbor_allgather.

Synopsis:
.vb
int MPI_Neighbor_allgather_init(const void *sendbuf, int sendcount,
                                MPI_Datatype sendtype, void *recvbuf,
                                int recvcount, MPI_Datatype recvtype,
                                MPI_Comm comm, MPI_Info info,
                                MPI_Request *request)
.ve
.vb
int MPI_Neighbor_allgather_init_c(const void *sendbuf, MPI_Count sendcount,
                                  MPI_Datatype sendtype, void *recvbuf,
                                  MPI_Count recvcount, MPI_Datatype recvtype,
                                  MPI_Comm comm, MPI_Info info,
                                  MPI_Request *request)
.ve

Input Parameters:
+ sendbuf - starting address of send buffer (choice)
. sendcount - number of elements sent to each neighbor (non-negative integer)
. sendtype - data type of send buffer elements (handle)
. recvcount - number of elements received from each neighbor (non-negative integer)
. recvtype - data type of receive buffer elements (handle)
. comm - communicator with topology structure (handle)
- info - info argument (handle)

Output Parameters:
+ recvbuf - starting address of receive buffer (choice)
- request - communication request (handle)

.N ThreadSafe

.N Fortran

.N Errors
.N MPI_SUCCESS
.N MPI_ERR_ARG
.N MPI_ERR_BUFFER
.N MPI_ERR_COMM
.N MPI_ERR_COUNT
.N MPI_ERR_INFO
.N MPI_ERR_TYPE
.N MPI_ERR_OTHER

D*/

