Mercurial > trustbridge
view common/portpath.h @ 1046:e10bc7372545 0.9.1
Removed tag 0.9.1
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Thu, 04 Sep 2014 16:15:08 +0200 |
parents | faf58e9f518b |
children | f110a3f6e387 |
line wrap: on
line source
/* Copyright (C) 2014 by Bundesamt für Sicherheit in der Informationstechnik * Software engineering by Intevation GmbH * * This file is Free Software under the GNU GPL (v>=2) * and comes with ABSOLUTELY NO WARRANTY! * See LICENSE.txt for details. */ #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(const 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(const char *path); /** * @brief create a directory * @details uses a platform specific mkdir / access rights setup * to create a directory that is world readable and * writable by the current user / group * @param[in] path the path to the directory * @returns true if the directory was created */ bool port_mkdir(const char *path); /** * @brief create a directory and its parent directores * @param[in] path the path to the directory * @returns true if the directory was created */ bool port_mkdir_p(const char *path); #endif