1
1
Signed-off-by: Ralph Castain <rhc@open-mpi.org>
Этот коммит содержится в:
Ralph Castain 2017-07-25 07:19:08 -07:00
родитель 4a3aa4f224
Коммит 058e802b11
11 изменённых файлов: 277 добавлений и 278 удалений

Просмотреть файл

@ -1040,7 +1040,7 @@ pmix_status_t pmix_argv_append_nosize(char ***argv, const char *arg);
(r) = pmix_argv_append_nosize(&(a), (b))
pmix_status_t pmix_setenv(const char *name, const char *value,
bool overwrite, char ***env);
bool overwrite, char ***env);
#define PMIX_SETENV(r, a, b, c) \
(r) = pmix_setenv((a), (b), true, (c))

Просмотреть файл

@ -76,7 +76,7 @@ struct pmix_pnet_globals_t {
};
typedef struct pmix_pnet_globals_t pmix_pnet_globals_t;
extern pmix_pnet_globals_t pmix_pnet_globals;
PMIX_EXPORT extern pmix_pnet_globals_t pmix_pnet_globals;
PMIX_EXPORT pmix_status_t pmix_pnet_base_setup_app(char *nspace, pmix_list_t *ilist);
PMIX_EXPORT pmix_status_t pmix_pnet_base_setup_local_network(char *nspace,

Просмотреть файл

@ -270,11 +270,11 @@ int pmix_rte_init(pmix_proc_type_t type,
goto return_error;
}
/* tell libevent that we need thread support */
pmix_event_use_threads();
/* if an external event base wasn't provide, create one */
if (!pmix_globals.external_evbase) {
/* tell libevent that we need thread support */
pmix_event_use_threads();
/* create an event base and progress thread for us */
if (NULL == (pmix_globals.evbase = pmix_progress_thread_init(NULL))) {
error = "progress thread";

Просмотреть файл

@ -68,7 +68,7 @@ BEGIN_C_DECLS
*
* The caller is responsible for freeing the returned string.
*/
char *pmix_basename(const char* filename) __pmix_attribute_malloc__ __pmix_attribute_warn_unused_result__;
PMIX_EXPORT char *pmix_basename(const char* filename) __pmix_attribute_malloc__ __pmix_attribute_warn_unused_result__;
/**
* Return the dirname of a filename.
@ -107,7 +107,7 @@ char *pmix_basename(const char* filename) __pmix_attribute_malloc__ __pmix_attri
*
* The caller is responsible for freeing the returned string.
*/
char *pmix_dirname(const char* filename) __pmix_attribute_malloc__ __pmix_attribute_warn_unused_result__;
PMIX_EXPORT char *pmix_dirname(const char* filename) __pmix_attribute_malloc__ __pmix_attribute_warn_unused_result__;
END_C_DECLS

Просмотреть файл

@ -23,7 +23,7 @@
BEGIN_C_DECLS
/* lookup the effective uid and gid of a socket */
pmix_status_t pmix_util_getid(int sd, uid_t *uid, gid_t *gid);
PMIX_EXPORT pmix_status_t pmix_util_getid(int sd, uid_t *uid, gid_t *gid);
END_C_DECLS

Просмотреть файл

@ -249,249 +249,249 @@ struct pmix_output_stream_t {
};
/**
* Convenience typedef
*/
typedef struct pmix_output_stream_t pmix_output_stream_t;
/**
* Convenience typedef
*/
typedef struct pmix_output_stream_t pmix_output_stream_t;
/**
* Initializes the output stream system and opens a default
* "verbose" stream.
*
* @retval true Upon success.
* @retval false Upon failure.
*
* This should be the first function invoked in the output
* subsystem. After this call, the default "verbose" stream is open
* and can be written to via calls to pmix_output_verbose() and
* pmix_output_error().
*
* By definition, the default verbose stream has a handle ID of 0,
* and has a verbose level of 0.
*/
bool pmix_output_init(void);
/**
* Initializes the output stream system and opens a default
* "verbose" stream.
*
* @retval true Upon success.
* @retval false Upon failure.
*
* This should be the first function invoked in the output
* subsystem. After this call, the default "verbose" stream is open
* and can be written to via calls to pmix_output_verbose() and
* pmix_output_error().
*
* By definition, the default verbose stream has a handle ID of 0,
* and has a verbose level of 0.
*/
PMIX_EXPORT bool pmix_output_init(void);
/**
* Shut down the output stream system.
*
* Shut down the output stream system, including the default verbose
* stream.
*/
void pmix_output_finalize(void);
/**
* Shut down the output stream system.
*
* Shut down the output stream system, including the default verbose
* stream.
*/
PMIX_EXPORT void pmix_output_finalize(void);
/**
* Opens an output stream.
*
* @param lds A pointer to pmix_output_stream_t describing what the
* characteristics of the output stream should be.
*
* This function opens an output stream and returns an integer
* handle. The caller is responsible for maintaining the handle and
* using it in successive calls to PMIX_OUTPUT(), pmix_output(),
* pmix_output_switch(), and pmix_output_close().
*
* If lds is NULL, the default descriptions will be used, meaning
* that output will only be sent to stderr.
*
* It is safe to have multiple threads invoke this function
* simultaneously; their execution will be serialized in an
* unspecified manner.
*
* Be sure to see pmix_output() for a description of what happens
* when open_open() / pmix_output() is directed to send output to a
* file but the process session directory does not yet exist.
*/
int pmix_output_open(pmix_output_stream_t *lds);
/**
* Opens an output stream.
*
* @param lds A pointer to pmix_output_stream_t describing what the
* characteristics of the output stream should be.
*
* This function opens an output stream and returns an integer
* handle. The caller is responsible for maintaining the handle and
* using it in successive calls to PMIX_OUTPUT(), pmix_output(),
* pmix_output_switch(), and pmix_output_close().
*
* If lds is NULL, the default descriptions will be used, meaning
* that output will only be sent to stderr.
*
* It is safe to have multiple threads invoke this function
* simultaneously; their execution will be serialized in an
* unspecified manner.
*
* Be sure to see pmix_output() for a description of what happens
* when open_open() / pmix_output() is directed to send output to a
* file but the process session directory does not yet exist.
*/
PMIX_EXPORT int pmix_output_open(pmix_output_stream_t *lds);
/**
* Re-opens / redirects an output stream.
*
* @param output_id Stream handle to reopen
* @param lds A pointer to pmix_output_stream_t describing what the
* characteristics of the reopened output stream should be.
*
* This function redirects an existing stream into a new [set of]
* location[s], as specified by the lds parameter. If the output_id
* passed is invalid, this call is effectively the same as opening a
* new stream with a specific stream handle.
*/
int pmix_output_reopen(int output_id, pmix_output_stream_t *lds);
/**
* Re-opens / redirects an output stream.
*
* @param output_id Stream handle to reopen
* @param lds A pointer to pmix_output_stream_t describing what the
* characteristics of the reopened output stream should be.
*
* This function redirects an existing stream into a new [set of]
* location[s], as specified by the lds parameter. If the output_id
* passed is invalid, this call is effectively the same as opening a
* new stream with a specific stream handle.
*/
PMIX_EXPORT int pmix_output_reopen(int output_id, pmix_output_stream_t *lds);
/**
* Enables and disables output streams.
*
* @param output_id Stream handle to switch
* @param enable Boolean indicating whether to enable the stream
* output or not.
*
* @returns The previous enable state of the stream (true == enabled,
* false == disabled).
*
* The output of a stream can be temporarily disabled by passing an
* enable value to false, and later resumed by passing an enable
* value of true. This does not close the stream -- it simply tells
* the pmix_output subsystem to intercept and discard any output sent
* to the stream via PMIX_OUTPUT() or pmix_output() until the output
* is re-enabled.
*/
bool pmix_output_switch(int output_id, bool enable);
/**
* Enables and disables output streams.
*
* @param output_id Stream handle to switch
* @param enable Boolean indicating whether to enable the stream
* output or not.
*
* @returns The previous enable state of the stream (true == enabled,
* false == disabled).
*
* The output of a stream can be temporarily disabled by passing an
* enable value to false, and later resumed by passing an enable
* value of true. This does not close the stream -- it simply tells
* the pmix_output subsystem to intercept and discard any output sent
* to the stream via PMIX_OUTPUT() or pmix_output() until the output
* is re-enabled.
*/
PMIX_EXPORT bool pmix_output_switch(int output_id, bool enable);
/**
* \internal
*
* Reopens all existing output streams.
*
* This function should never be called by user applications; it is
* typically only invoked after a restart (i.e., in a new process)
* where output streams need to be re-initialized.
*/
void pmix_output_reopen_all(void);
/**
* \internal
*
* Reopens all existing output streams.
*
* This function should never be called by user applications; it is
* typically only invoked after a restart (i.e., in a new process)
* where output streams need to be re-initialized.
*/
PMIX_EXPORT void pmix_output_reopen_all(void);
/**
* Close an output stream.
*
* @param output_id Handle of the stream to close.
*
* Close an output stream. No output will be sent to the stream
* after it is closed. Be aware that output handles tend to be
* re-used; it is possible that after a stream is closed, if another
* stream is opened, it will get the same handle value.
*/
void pmix_output_close(int output_id);
/**
* Close an output stream.
*
* @param output_id Handle of the stream to close.
*
* Close an output stream. No output will be sent to the stream
* after it is closed. Be aware that output handles tend to be
* re-used; it is possible that after a stream is closed, if another
* stream is opened, it will get the same handle value.
*/
PMIX_EXPORT void pmix_output_close(int output_id);
/**
* Main function to send output to a stream.
*
* @param output_id Stream id returned from pmix_output_open().
* @param format printf-style format string.
* @param varargs printf-style varargs list to fill the string
* specified by the format parameter.
*
* This is the main function to send output to custom streams (note
* that output to the default "verbose" stream is handled through
* pmix_output_verbose() and pmix_output_error()).
*
* It is never necessary to send a trailing "\n" in the strings to
* this function; some streams requires newlines, others do not --
* this function will append newlines as necessary.
*
* Verbosity levels are ignored in this function.
*
* Note that for output streams that are directed to files, the
* files are stored under the process' session directory. If the
* session directory does not exist when pmix_output() is invoked,
* the output will be discarded! Once the session directory is
* created, pmix_output() will automatically create the file and
* writing to it.
*/
void pmix_output(int output_id, const char *format, ...) __pmix_attribute_format__(__printf__, 2, 3);
/**
* Main function to send output to a stream.
*
* @param output_id Stream id returned from pmix_output_open().
* @param format printf-style format string.
* @param varargs printf-style varargs list to fill the string
* specified by the format parameter.
*
* This is the main function to send output to custom streams (note
* that output to the default "verbose" stream is handled through
* pmix_output_verbose() and pmix_output_error()).
*
* It is never necessary to send a trailing "\n" in the strings to
* this function; some streams requires newlines, others do not --
* this function will append newlines as necessary.
*
* Verbosity levels are ignored in this function.
*
* Note that for output streams that are directed to files, the
* files are stored under the process' session directory. If the
* session directory does not exist when pmix_output() is invoked,
* the output will be discarded! Once the session directory is
* created, pmix_output() will automatically create the file and
* writing to it.
*/
PMIX_EXPORT void pmix_output(int output_id, const char *format, ...) __pmix_attribute_format__(__printf__, 2, 3);
/**
* Send output to a stream only if the passed verbosity level is
* high enough.
*
* @param output_id Stream id returned from pmix_output_open().
* @param level Target verbosity level.
* @param format printf-style format string.
* @param varargs printf-style varargs list to fill the string
* specified by the format parameter.
*
* Output is only sent to the stream if the current verbosity level
* is greater than or equal to the level parameter. This mechanism
* can be used to send "information" kinds of output to user
* applications, but only when the user has asked for a high enough
* verbosity level.
*
* It is never necessary to send a trailing "\n" in the strings to
* this function; some streams requires newlines, others do not --
* this function will append newlines as necessary.
*
* This function is really a convenience wrapper around checking the
* current verbosity level set on the stream, and if the passed
* level is less than or equal to the stream's verbosity level, this
* function will effectively invoke pmix_output to send the output to
* the stream.
*
* @see pmix_output_set_verbosity()
*/
void pmix_output_verbose(int verbose_level, int output_id,
const char *format, ...) __pmix_attribute_format__(__printf__, 3, 4);
/**
* Send output to a stream only if the passed verbosity level is
* high enough.
*
* @param output_id Stream id returned from pmix_output_open().
* @param level Target verbosity level.
* @param format printf-style format string.
* @param varargs printf-style varargs list to fill the string
* specified by the format parameter.
*
* Output is only sent to the stream if the current verbosity level
* is greater than or equal to the level parameter. This mechanism
* can be used to send "information" kinds of output to user
* applications, but only when the user has asked for a high enough
* verbosity level.
*
* It is never necessary to send a trailing "\n" in the strings to
* this function; some streams requires newlines, others do not --
* this function will append newlines as necessary.
*
* This function is really a convenience wrapper around checking the
* current verbosity level set on the stream, and if the passed
* level is less than or equal to the stream's verbosity level, this
* function will effectively invoke pmix_output to send the output to
* the stream.
*
* @see pmix_output_set_verbosity()
*/
PMIX_EXPORT void pmix_output_verbose(int verbose_level, int output_id,
const char *format, ...) __pmix_attribute_format__(__printf__, 3, 4);
/**
* Same as pmix_output_verbose(), but takes a va_list form of varargs.
*/
void pmix_output_vverbose(int verbose_level, int output_id,
const char *format, va_list ap) __pmix_attribute_format__(__printf__, 3, 0);
/**
* Same as pmix_output_verbose(), but takes a va_list form of varargs.
*/
PMIX_EXPORT void pmix_output_vverbose(int verbose_level, int output_id,
const char *format, va_list ap) __pmix_attribute_format__(__printf__, 3, 0);
/**
* Set the verbosity level for a stream.
*
* @param output_id Stream id returned from pmix_output_open().
* @param level New verbosity level
*
* This function sets the verbosity level on a given stream. It
* will be used for all future invocations of pmix_output_verbose().
*/
void pmix_output_set_verbosity(int output_id, int level);
/**
* Set the verbosity level for a stream.
*
* @param output_id Stream id returned from pmix_output_open().
* @param level New verbosity level
*
* This function sets the verbosity level on a given stream. It
* will be used for all future invocations of pmix_output_verbose().
*/
PMIX_EXPORT void pmix_output_set_verbosity(int output_id, int level);
/**
* Get the verbosity level for a stream
*
* @param output_id Stream id returned from pmix_output_open()
* @returns Verbosity of stream
*/
int pmix_output_get_verbosity(int output_id);
/**
* Get the verbosity level for a stream
*
* @param output_id Stream id returned from pmix_output_open()
* @returns Verbosity of stream
*/
PMIX_EXPORT int pmix_output_get_verbosity(int output_id);
/**
* Set characteristics for output files.
*
* @param dir Directory where output files will go
* @param olddir If non-NULL, the directory where output files
* were previously opened
* @param prefix Prefix of files in the output directory
* @param oldprefix If non-NULL, the old prefix
*
* This function controls the final filename used for all new
* output streams that request output files. Specifically, when
* pmix_output_stream_t::lds_want_file is true, the output
* filename will be of the form $dir/$prefix$suffix.
*
* The default value for the output directory is whatever is
* specified in the TMPDIR environment variable if it exists, or
* $HOME if it does not. The default value for the prefix is
* "output-pid<pid>-" (where "<pid>" is replaced by the PID of the
* current process).
*
* If dir or prefix are NULL, new values are not set. The strings
* represented by dir and prefix are copied into internal storage;
* it is safe to pass string constants or free() these values
* after pmix_output_set_output_file_info() returns.
*
* If olddir or oldprefix are not NULL, copies of the old
* directory and prefix (respectively) are returned in these
* parameters. The caller is responsible for calling (free) on
* these values. This allows one to get the old values, output an
* output file in a specific directory and/or with a specific
* prefix, and then restore the old values.
*
* Note that this function only affects the creation of \em new
* streams -- streams that have already started writing to output
* files are not affected (i.e., their output files are not moved
* to the new directory). More specifically, the pmix_output
* system only opens/creates output files lazily -- so calling
* this function affects both new streams \em and any stream that
* was previously opened but had not yet output anything.
*/
void pmix_output_set_output_file_info(const char *dir,
const char *prefix,
char **olddir,
char **oldprefix);
/**
* Set characteristics for output files.
*
* @param dir Directory where output files will go
* @param olddir If non-NULL, the directory where output files
* were previously opened
* @param prefix Prefix of files in the output directory
* @param oldprefix If non-NULL, the old prefix
*
* This function controls the final filename used for all new
* output streams that request output files. Specifically, when
* pmix_output_stream_t::lds_want_file is true, the output
* filename will be of the form $dir/$prefix$suffix.
*
* The default value for the output directory is whatever is
* specified in the TMPDIR environment variable if it exists, or
* $HOME if it does not. The default value for the prefix is
* "output-pid<pid>-" (where "<pid>" is replaced by the PID of the
* current process).
*
* If dir or prefix are NULL, new values are not set. The strings
* represented by dir and prefix are copied into internal storage;
* it is safe to pass string constants or free() these values
* after pmix_output_set_output_file_info() returns.
*
* If olddir or oldprefix are not NULL, copies of the old
* directory and prefix (respectively) are returned in these
* parameters. The caller is responsible for calling (free) on
* these values. This allows one to get the old values, output an
* output file in a specific directory and/or with a specific
* prefix, and then restore the old values.
*
* Note that this function only affects the creation of \em new
* streams -- streams that have already started writing to output
* files are not affected (i.e., their output files are not moved
* to the new directory). More specifically, the pmix_output
* system only opens/creates output files lazily -- so calling
* this function affects both new streams \em and any stream that
* was previously opened but had not yet output anything.
*/
PMIX_EXPORT void pmix_output_set_output_file_info(const char *dir,
const char *prefix,
char **olddir,
char **oldprefix);
/**
* Same as pmix_output_verbose(), but pointer to buffer and size.
*/
void pmix_output_hexdump(int verbose_level, int output_id,
void *ptr, int buflen);
/**
* Same as pmix_output_verbose(), but pointer to buffer and size.
*/
PMIX_EXPORT void pmix_output_hexdump(int verbose_level, int output_id,
void *ptr, int buflen);
#if PMIX_ENABLE_DEBUG
/**

Просмотреть файл

@ -54,8 +54,8 @@ BEGIN_C_DECLS
*
* The caller is responsible for freeing the returned string.
*/
char *pmix_path_find(char *fname, char **pathv, int mode,
char **envv) __pmix_attribute_malloc__ __pmix_attribute_warn_unused_result__;
PMIX_EXPORT char *pmix_path_find(char *fname, char **pathv, int mode,
char **envv) __pmix_attribute_malloc__ __pmix_attribute_warn_unused_result__;
/**
* Locates a file with certain permissions from a list of search
@ -75,8 +75,8 @@ char *pmix_path_find(char *fname, char **pathv, int mode,
*
* The caller is responsible for freeing the returned string.
*/
char *pmix_path_findv(char *fname, int mode,
char **envv, char *wrkdir) __pmix_attribute_malloc__ __pmix_attribute_warn_unused_result__;
PMIX_EXPORT char *pmix_path_findv(char *fname, int mode,
char **envv, char *wrkdir) __pmix_attribute_malloc__ __pmix_attribute_warn_unused_result__;
/**
* Detect if the requested path is absolute or relative.
*
@ -89,7 +89,7 @@ char *pmix_path_findv(char *fname, int mode,
* with special care as an absolute path on Windows starts
* with [A-Za-z]: or \\ instead of the usual / on UNIX.
*/
bool pmix_path_is_absolute( const char *path );
PMIX_EXPORT bool pmix_path_is_absolute( const char *path );
/**
* Find the absolute path for an executable and return it.
@ -108,7 +108,7 @@ bool pmix_path_is_absolute( const char *path );
* function will return NULL. Otherwise, an newly allocated string
* will be returned.
*/
char* pmix_find_absolute_path( char* app_name ) __pmix_attribute_warn_unused_result__;
PMIX_EXPORT char* pmix_find_absolute_path( char* app_name ) __pmix_attribute_warn_unused_result__;
/**
* Forms a complete pathname and checks it for existance and
@ -123,7 +123,7 @@ char* pmix_find_absolute_path( char* app_name ) __pmix_attribute_warn_unused_res
*
* The caller is responsible for freeing the returned string.
*/
char *pmix_path_access(char *fname, char *path, int mode) __pmix_attribute_malloc__ __pmix_attribute_warn_unused_result__;
PMIX_EXPORT char *pmix_path_access(char *fname, char *path, int mode) __pmix_attribute_malloc__ __pmix_attribute_warn_unused_result__;
/**
@ -143,7 +143,7 @@ char *pmix_path_access(char *fname, char *path, int mode) __pmix_attribute_mallo
* @retval true If fname is on NFS, Lustre or Panasas
* @retval false otherwise
*/
bool pmix_path_nfs(char *fname, char **fstype) __pmix_attribute_warn_unused_result__;
PMIX_EXPORT bool pmix_path_nfs(char *fname, char **fstype) __pmix_attribute_warn_unused_result__;
/**
* @brief Returns the disk usage of path.
@ -154,9 +154,8 @@ bool pmix_path_nfs(char *fname, char **fstype) __pmix_attribute_warn_unused_resu
* @retval PMIX_SUCCESS If the operation was successful
* @retval PMIX_ERROR otherwise
*/
int
pmix_path_df(const char *path,
uint64_t *out_avail)__pmix_attribute_warn_unused_result__;
PMIX_EXPORT int pmix_path_df(const char *path,
uint64_t *out_avail)__pmix_attribute_warn_unused_result__;
END_C_DECLS
#endif /* PMIX_PATH_H */

Просмотреть файл

@ -65,7 +65,7 @@ BEGIN_C_DECLS
* one of the two is NULL, the other list is simply copied to the
* output. If both are NULL, NULL is returned.
*/
char **pmix_environ_merge(char **minor, char **major) __pmix_attribute_warn_unused_result__;
PMIX_EXPORT char **pmix_environ_merge(char **minor, char **major) __pmix_attribute_warn_unused_result__;
/**
* Portable version of setenv(3), allowing editing of any
@ -113,8 +113,8 @@ char **pmix_environ_merge(char **minor, char **major) __pmix_attribute_warn_unus
* pmix_setenv("foo", "bar", true, &my_env);
* \endcode
*/
pmix_status_t pmix_setenv(const char *name, const char *value,
bool overwrite, char ***env) __pmix_attribute_nonnull__(1);
PMIX_EXPORT pmix_status_t pmix_setenv(const char *name, const char *value,
bool overwrite, char ***env) __pmix_attribute_nonnull__(1);
/**
* Portable version of unsetenv(3), allowing editing of any
@ -130,13 +130,13 @@ pmix_status_t pmix_setenv(const char *name, const char *value,
* If \em name is found in \em env, the string corresponding to
* that entry is freed and its entry is eliminated from the array.
*/
pmix_status_t pmix_unsetenv(const char *name, char ***env) __pmix_attribute_nonnull__(1);
PMIX_EXPORT pmix_status_t pmix_unsetenv(const char *name, char ***env) __pmix_attribute_nonnull__(1);
/* A consistent way to retrieve the home and tmp directory on all supported
* platforms.
*/
const char* pmix_home_directory( void );
const char* pmix_tmp_directory( void );
PMIX_EXPORT const char* pmix_home_directory( void );
PMIX_EXPORT const char* pmix_tmp_directory( void );
/* Some care is needed with environ on OS X when dealing with shared
libraries. Handle that care here... */

Просмотреть файл

@ -53,7 +53,7 @@ BEGIN_C_DECLS
*
* THIS IS A PORTABILITY FEATURE: USE snprintf() in CODE.
*/
int pmix_snprintf(char *str, size_t size, const char *fmt, ...) __pmix_attribute_format__(__printf__, 3, 4);
PMIX_EXPORT int pmix_snprintf(char *str, size_t size, const char *fmt, ...) __pmix_attribute_format__(__printf__, 3, 4);
/**
@ -78,7 +78,7 @@ int pmix_snprintf(char *str, size_t size, const char *fmt, ...) __pmix_attribut
*
* THIS IS A PORTABILITY FEATURE: USE vsnprintf() in CODE.
*/
int pmix_vsnprintf(char *str, size_t size, const char *fmt, va_list ap) __pmix_attribute_format__(__printf__, 3, 0);
PMIX_EXPORT int pmix_vsnprintf(char *str, size_t size, const char *fmt, va_list ap) __pmix_attribute_format__(__printf__, 3, 0);
/**
* Allocates and writes to a string under the control of a format
@ -99,7 +99,7 @@ int pmix_vsnprintf(char *str, size_t size, const char *fmt, va_list ap) __pmix_
*
* THIS IS A PORTABILITY FEATURE: USE asprintf() in CODE.
*/
int pmix_asprintf(char **ptr, const char *fmt, ...) __pmix_attribute_format__(__printf__, 2, 3);
PMIX_EXPORT int pmix_asprintf(char **ptr, const char *fmt, ...) __pmix_attribute_format__(__printf__, 2, 3);
/**
@ -123,7 +123,7 @@ int pmix_asprintf(char **ptr, const char *fmt, ...) __pmix_attribute_format__(_
*
* THIS IS A PORTABILITY FEATURE: USE vasprintf() in CODE.
*/
int pmix_vasprintf(char **ptr, const char *fmt, va_list ap) __pmix_attribute_format__(__printf__, 2, 0);
PMIX_EXPORT int pmix_vasprintf(char **ptr, const char *fmt, va_list ap) __pmix_attribute_format__(__printf__, 2, 0);
END_C_DECLS

Просмотреть файл

@ -101,7 +101,7 @@ BEGIN_C_DECLS
*
* Initialization of show_help subsystem
*/
int pmix_show_help_init(void);
PMIX_EXPORT int pmix_show_help_init(void);
/**
@ -109,7 +109,7 @@ int pmix_show_help_init(void);
*
* Finalization of show_help subsystem
*/
int pmix_show_help_finalize(void);
PMIX_EXPORT int pmix_show_help_finalize(void);
/**
@ -170,7 +170,7 @@ PMIX_EXPORT char* pmix_show_help_vstring(const char *filename,
* nees to tell show_help how to find its own show_help files - without
* interfering with the linked ORTE libs when they need to do show_help.
*/
int pmix_show_help_add_dir(const char *directory);
PMIX_EXPORT int pmix_show_help_add_dir(const char *directory);
END_C_DECLS

Просмотреть файл

@ -66,14 +66,14 @@ typedef struct {
} pmix_timing_prep_t;
/* Pass down our namespace and rank for pretty-print purposes */
void pmix_init_id(char* nspace, int rank);
PMIX_EXPORT void pmix_init_id(char* nspace, int rank);
/**
* Initialize timing structure.
*
* @param t pointer to the timing handler structure
*/
void pmix_timing_init(pmix_timing_t *t);
PMIX_EXPORT void pmix_timing_init(pmix_timing_t *t);
/**
* Prepare timing event, do all printf-like processing.
@ -85,7 +85,7 @@ void pmix_timing_init(pmix_timing_t *t);
*
* @retval partly filled pmix_timing_prep_t structure
*/
pmix_timing_prep_t pmix_timing_prep_ev(pmix_timing_t *t, const char *fmt, ...);
PMIX_EXPORT pmix_timing_prep_t pmix_timing_prep_ev(pmix_timing_t *t, const char *fmt, ...);
/**
* Prepare timing event, ignore printf-like processing.
@ -97,7 +97,7 @@ pmix_timing_prep_t pmix_timing_prep_ev(pmix_timing_t *t, const char *fmt, ...);
*
* @retval partly filled pmix_timing_prep_t structure
*/
pmix_timing_prep_t pmix_timing_prep_ev_end(pmix_timing_t *t, const char *fmt, ...);
PMIX_EXPORT pmix_timing_prep_t pmix_timing_prep_ev_end(pmix_timing_t *t, const char *fmt, ...);
/**
* Enqueue timing event into the list of events in handler 't'.
@ -109,8 +109,8 @@ pmix_timing_prep_t pmix_timing_prep_ev_end(pmix_timing_t *t, const char *fmt, ..
*
* @retval
*/
void pmix_timing_add_step(pmix_timing_prep_t p, const char *func,
const char *file, int line);
PMIX_EXPORT void pmix_timing_add_step(pmix_timing_prep_t p, const char *func,
const char *file, int line);
/**
* Enqueue the description of the interval into a list of events
@ -123,8 +123,8 @@ void pmix_timing_add_step(pmix_timing_prep_t p, const char *func,
*
* @retval id of event interval
*/
int pmix_timing_descr(pmix_timing_prep_t p, const char *func,
const char *file, int line);
PMIX_EXPORT int pmix_timing_descr(pmix_timing_prep_t p, const char *func,
const char *file, int line);
/**
* Enqueue the beginning of timing interval that already has the
@ -138,8 +138,8 @@ int pmix_timing_descr(pmix_timing_prep_t p, const char *func,
*
* @retval
*/
void pmix_timing_start_id(pmix_timing_t *t, int id, const char *func,
const char *file, int line);
PMIX_EXPORT void pmix_timing_start_id(pmix_timing_t *t, int id, const char *func,
const char *file, int line);
/**
* Enqueue the end of timing interval that already has
@ -153,8 +153,8 @@ void pmix_timing_start_id(pmix_timing_t *t, int id, const char *func,
*
* @retval
*/
void pmix_timing_end(pmix_timing_t *t, int id, const char *func,
const char *file, int line );
PMIX_EXPORT void pmix_timing_end(pmix_timing_t *t, int id, const char *func,
const char *file, int line );
/**
* Enqueue both description and start of timing interval
@ -188,8 +188,8 @@ static inline int pmix_timing_start_init(pmix_timing_prep_t p,
*
* @retval interval id
*/
void pmix_timing_end_prep(pmix_timing_prep_t p,
const char *func, const char *file, int line);
PMIX_EXPORT void pmix_timing_end_prep(pmix_timing_prep_t p,
const char *func, const char *file, int line);
/**
* Report all events that were enqueued in the timing handler 't'.
@ -207,7 +207,7 @@ void pmix_timing_end_prep(pmix_timing_prep_t p,
* @retval PMIX_SUCCESS On success
* @retval PMIX_ERROR or PMIX_ERR_OUT_OF_RESOURCE On failure
*/
pmix_status_t pmix_timing_report(pmix_timing_t *t, char *fname);
PMIX_EXPORT pmix_status_t pmix_timing_report(pmix_timing_t *t, char *fname);
/**
* Report all intervals that were enqueued in the timing handler 't'.
@ -224,7 +224,7 @@ pmix_status_t pmix_timing_report(pmix_timing_t *t, char *fname);
* @retval PMIX_SUCCESS On success
* @retval PMIX_ERROR or PMIX_ERR_OUT_OF_RESOURCE On failure
*/
pmix_status_t pmix_timing_deltas(pmix_timing_t *t, char *fname);
PMIX_EXPORT pmix_status_t pmix_timing_deltas(pmix_timing_t *t, char *fname);
/**
* Release all memory allocated for the timing handler 't'.
@ -233,7 +233,7 @@ pmix_status_t pmix_timing_deltas(pmix_timing_t *t, char *fname);
*
* @retval
*/
void pmix_timing_release(pmix_timing_t *t);
PMIX_EXPORT void pmix_timing_release(pmix_timing_t *t);
/**
* Macro for passing down process id - compiled out