view common/portpath.h @ 383:5eb7ee4ee819

Look up executable name based on /proc/self/exe
author Andre Heinecke <andre.heinecke@intevation.de>
date Tue, 15 Apr 2014 17:47:07 +0200
parents 70d627e9e801
children 17e1c8f37d72
line wrap: on
line source
#ifndef PORTPATH_H
#define PORTPATH_H

#include <stdbool.h>

/**
 * @file  portpath.h
 * @brief Platform independent functions for file and path handling.
 * @details portpath contains functions to handle file and path names
 * in a platform independent way.  The code unsing this functions
 * should be protable between GNU/Linux and Windows32 systems.
 */

/**
 * @brief portable version of dirname
 * @details return the directory component of the given path.
 * The argument path may be altered by the function.
 * @param[inout] path the pathname
 * @returns a pointer to the string containing the directory component
 */
char *port_dirname(char *path);

/**
 * @brief portable version of realpath
 * @details return the expanded absolute pathname for the given path.
 * The buffer for the resolved path is allocated by this function and
 * should be freed by the caller.
 * @param[in] path the original pathname
 * @returns a pointer to the resolved path or NULL on error
 */
char *port_realpath(char *path);

/**
 * @brief test if a file exists
 * @details uses a platform specific stat call to test if the given
 * file exists.
 * @param[in] path the path to the file
 * @returns true if the file exists and false otherwise
 */
bool port_fileexits(char *path);

/**
 * @brief test if a file is a directory
 * @details uses a platform specific stat call to test if the given
 * file is an directory.
 * @param[in] path the path to the file
 * @returns true if the file is an directory and false otherwise
 */
bool port_isdir(char *path);

#endif

http://wald.intevation.org/projects/trustbridge/