/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */ /* * (C) 2010 by Argonne National Laboratory. * See COPYRIGHT in top-level directory. */ /* This file contains "pre" definitions and declarations for the OS wrappers. * That is, things that shouldn't depend on much more than the mpichconf.h * values. */ #ifndef MPIU_OS_WRAPPERS_PRE_H_INCLUDED #define MPIU_OS_WRAPPERS_PRE_H_INCLUDED /* ------------------------------------------------------------------------ */ /* util wrappers */ /* TODO port defs/decls here as necessary */ /* ------------------------------------------------------------------------ */ /* process wrappers */ /* TODO port defs/decls here as necessary */ /* ------------------------------------------------------------------------ */ /* shm wrappers */ #define MPIU_SHMW_FLAG_CLR 0x0 #define MPIU_SHMW_FLAG_SHM_CREATE 0x1 #define MPIU_SHMW_FLAG_SHM_ATTACH 0x10 #define MPIU_SHMW_FLAG_GHND_STATIC 0x100 #ifdef USE_SYSV_SHM typedef int MPIU_SHMW_Lhnd_t; #elif defined USE_MMAP_SHM typedef MPI_Aint MPIU_SHMW_Lhnd_t; #elif defined USE_NT_SHM typedef HANDLE MPIU_SHMW_Lhnd_t; #endif typedef char * MPIU_SHMW_Ghnd_t; /* The local handle, lhnd, is valid only for the current process, * The global handle, ghnd, is valid across multiple processes * The handle flag, flag, is used to set various attributes of the * handle. */ typedef struct{ MPIU_SHMW_Lhnd_t lhnd; MPIU_SHMW_Ghnd_t ghnd; int flag; } MPIU_SHMW_LGhnd_t; typedef MPIU_SHMW_LGhnd_t * MPIU_SHMW_Hnd_t; #define MPIU_SHMW_HND_INVALID NULL #define MPIU_SHMW_GHND_INVALID NULL #define MPIU_SHMW_GHND_INIT_VAL '\0' /* TODO port additional defs/decls here as necessary */ /* ------------------------------------------------------------------------ */ /* sock wrappers */ /* TODO port defs/decls here as necessary */ #endif /* MPIU_OS_WRAPPERS_PRE_H_INCLUDED */