OpenMPI  0.1.1
os_path.h File Reference

Creates an operating system-acceptable path name. More...

#include "opal_config.h"
#include <stdio.h>
#include <stdarg.h>

Go to the source code of this file.

Macros

#define opal_make_filename_os_friendly(PATH)   (PATH)
 Convert the path to be OS friendly. More...
 

Functions

BEGIN_C_DECLS OPAL_DECLSPEC char * opal_os_path (bool relative,...) __opal_attribute_malloc__ __opal_attribute_sentinel__ __opal_attribute_warn_unused_result__
 

Detailed Description

Creates an operating system-acceptable path name.

The opal_os_path() function takes a variable number of string arguments and concatenates them into a path name using the path separator character appropriate to the local operating system. NOTE: the string returned by this function has been malloc'd - thus, the user is responsible for free'ing the memory used by the string.

CRITICAL NOTE: The input variable list MUST be terminated by a NULL value. Failure to do this will cause the program to suffer a catastrophic failure - usually a segmentation violation or bus error.

The function calls orte_sys_info() to ensure that the path separator character has been identified. If that value cannot be identified for some reason, the function will return a NULL value. Likewise, specifying a path name that exceeds the maximum allowable path name length on the local system will result in the return of a NULL value.

Macro Definition Documentation

#define opal_make_filename_os_friendly (   PATH)    (PATH)

Convert the path to be OS friendly.

On UNIX this function will be empty, when on Windows it will convert all '/' to '\' and eventually remove the '/cygdrive/' from the beginning of the path (if the configure was runned under Cygwin).

Referenced by opal_dirname(), and opal_os_path().

Function Documentation

BEGIN_C_DECLS OPAL_DECLSPEC char* opal_os_path ( bool  relative,
  ... 
)
Parameters
relativeA boolean that specifies if the path name is to be constructed relative to the current directory or as an absolute path. If no path elements are included in the function call, then the function returns "." for a relative path name and "<path separator char>" - the top of the directory tree - for an absolute path name.
elem1,elem2,...A variable number of (char *)path_elements can be provided to the function, terminated by a NULL value. These elements will be concatenated, each separated by the path separator character, into a path name and returned.
Return values
path_nameA pointer to a fully qualified path name composed of the provided path elements, separated by the path separator character appropriate to the local operating system. The path_name string has been malloc'd and therefore the user is responsible for free'ing the field.

References opal_make_filename_os_friendly.

Referenced by opal_os_dirpath_destroy(), orte_ess_base_orted_setup(), orte_plm_submit_launch(), orte_session_dir_cleanup(), and orte_session_dir_finalize().