ExodusII  5.15
exodusII_par.h
Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2012 Sandia Corporation. Under the terms of Contract
00003  * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
00004  * retains certain rights in this software.
00005  * 
00006  * Redistribution and use in source and binary forms, with or without
00007  * modification, are permitted provided that the following conditions
00008  * are met:
00009  * 
00010  *     * Redistributions of source code must retain the above copyright
00011  *       notice, this list of conditions and the following disclaimer.
00012  * 
00013  *     * Redistributions in binary form must reproduce the above
00014  *       copyright notice, this list of conditions and the following
00015  *       disclaimer in the documentation and/or other materials provided
00016  *       with the distribution.  
00017  * 
00018  *     * Neither the name of Sandia Corporation nor the names of its
00019  *       contributors may be used to endorse or promote products derived
00020  *       from this software without specific prior written permission.
00021  * 
00022  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
00023  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
00024  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
00025  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
00026  * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
00027  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
00028  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
00029  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
00030  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
00031  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
00032  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
00033  * OF THE POSSIBILITY OF SUCH DAMAGE.
00034  * 
00035  */
00036 
00037 /*****************************************************************************
00038  *
00039  * exodusII_par.h - Exodus II parallel-aware API include file
00040  *
00041  *****************************************************************************/
00042 
00043 #ifndef EXODUS_II_PAR_HDR
00044 #define EXODUS_II_PAR_HDR
00045 
00046 #if !defined(PARALLEL_NETCDF)
00047 
00048 #include "exodusII.h"
00049 
00050 /*
00051  * need following extern if this include file is used in a C++
00052  * program, to keep the C++ compiler from mangling the function names.
00053  */
00054 #ifdef __cplusplus
00055 extern "C" {
00056 #endif
00057 
00058 #define ex_open_par(path, mode, comp_ws, io_ws, version, comm, info) ex_open_par_int(path, mode, comp_ws, io_ws, version, comm, info, EX_API_VERS_NODOT)  
00059 #define ex_create_par(path, mode, comp_ws, io_ws, comm, info) ex_create_par_int(path, mode, comp_ws, io_ws, comm, info, EX_API_VERS_NODOT)  
00060 
00061 EXODUS_EXPORT int ex_open_par_int (const char  *path,
00062        int    mode,
00063        int   *comp_ws,
00064        int   *io_ws,
00065        float *version,
00066        MPI_Comm comm,
00067        MPI_Info info,
00068        int my_version);
00069 
00070 EXODUS_EXPORT int ex_create_par_int (const char *path, int cmode, int *comp_ws, int *io_ws,
00071          MPI_Comm comm,
00072          MPI_Info info,
00073          int my_version);
00074 
00075 #else
00076 #error "Parallel-aware exodusII_par.h included in non-parallel context"
00077 #endif
00078 
00079 #ifdef __cplusplus
00080 }                               /* close brackets on extern "C" declaration */
00081 #endif
00082 
00083 #endif
00084 
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines