1 /* 2 * Copyright (c) 2015 Mellanox Technologies, Inc. 3 * All rights reserved. 4 * $COPYRIGHT$ 5 * 6 * Additional copyrights may follow 7 * 8 * $HEADER$ 9 */ 10 11 #ifndef OSHMEM_INFO_H 12 #define OSHMEM_INFO_H 13 14 #include "oshmem_config.h" 15 #include "oshmem/types.h" 16 #include "oshmem/constants.h" 17 18 /* 19 * Environment variables 20 */ 21 #define OSHMEM_ENV_SYMMETRIC_SIZE "SMA_SYMMETRIC_SIZE" 22 #define OSHMEM_ENV_DEBUG "SMA_DEBUG" 23 #define OSHMEM_ENV_INFO "SMA_INFO" 24 #define OSHMEM_ENV_VERSION "SMA_VERSION" 25 26 /** 27 * \internal 28 * oshmem_info_t structure. 29 */ 30 struct oshmem_info_t { 31 /**< print the library version at start-up */ 32 bool print_version; 33 /**< print helpful text about all these environment variables */ 34 bool print_info; 35 /**< enable debugging messages */ 36 bool debug; 37 /**< number of bytes to allocate for symmetric heap */ 38 size_t symmetric_heap_size; 39 }; 40 41 /** 42 * \internal 43 * Convenience typedef 44 */ 45 typedef struct oshmem_info_t oshmem_info_t; 46 47 48 BEGIN_C_DECLS 49 50 /** 51 * Global instance for oshmem_info_env 52 */ 53 OSHMEM_DECLSPEC extern oshmem_info_t oshmem_shmem_info_env; 54 55 /** 56 * This function is invoked during oshmem_shmem_init() and sets up 57 * oshmem_shmem_info_env handling. 58 */ 59 int oshmem_info_init(void); 60 61 /** 62 * This functions is called during oshmem_shmem_finalize() and shuts 63 * down oshmem_shmem_info_env handling. 64 */ 65 int oshmem_info_finalize(void); 66 67 END_C_DECLS 68 69 #endif /* OSHMEM_INFO_H */ 70