parent
aeb68dfc92
commit
fff15361e3
|
@ -18,7 +18,6 @@
|
|||
#undef CLOCK_PROCESS_CPUTIME_ID
|
||||
#endif
|
||||
|
||||
|
||||
/**
|
||||
* @mainpage Escape
|
||||
* @image html e_big.png
|
||||
|
|
|
@ -87,3 +87,4 @@ escape_dirname(char *path)
|
|||
|
||||
return _escape_dirname_buf;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
#ifndef __ESCAPE_LIBGEN_H__
|
||||
#define __ESCAPE_LIBGEN_H__
|
||||
|
||||
|
||||
/**
|
||||
* @file escape_libgen.h
|
||||
* @brief The file that provides functions ported from Unix in libgen.h.
|
||||
|
@ -26,10 +25,8 @@ EAPI char *escape_dirname(char *path);
|
|||
#endif
|
||||
#define dirname(p) escape_dirname(p)
|
||||
|
||||
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
|
||||
|
||||
#endif /* __ESCAPE_LIBGEN_H__ */
|
||||
|
|
|
@ -11,7 +11,6 @@
|
|||
|
||||
/***** API *****/
|
||||
|
||||
|
||||
void *
|
||||
mmap(void *addr __UNUSED__,
|
||||
size_t len,
|
||||
|
@ -58,10 +57,11 @@ munmap(void *addr,
|
|||
return 0;
|
||||
}
|
||||
|
||||
|
||||
int madvise(void *addr __UNUSED__,
|
||||
int
|
||||
madvise(void *addr __UNUSED__,
|
||||
size_t length __UNUSED__,
|
||||
int advice __UNUSED__)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -16,10 +16,10 @@
|
|||
#include <libiberty.h>
|
||||
#include <sys/stat.h>
|
||||
|
||||
|
||||
#include "Escape.h"
|
||||
|
||||
char *escape_realpath(const char *path, char *resolved_path)
|
||||
char *
|
||||
escape_realpath(const char *path, char *resolved_path)
|
||||
{
|
||||
char *real = lrealpath (path);
|
||||
|
||||
|
@ -40,9 +40,8 @@ char *escape_realpath(const char *path, char *resolved_path)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
|
||||
int escape_access(const char *pathname, int mode)
|
||||
int
|
||||
escape_access(const char *pathname, int mode)
|
||||
{
|
||||
struct stat stat_buf;
|
||||
|
||||
|
@ -51,19 +50,22 @@ int escape_access(const char *pathname, int mode)
|
|||
|
||||
if (mode == F_OK)
|
||||
return 0;
|
||||
if (mode == R_OK) {
|
||||
if (mode == R_OK)
|
||||
{
|
||||
if (stat_buf.st_mode & S_IRUSR)
|
||||
return 0;
|
||||
errno = EACCES;
|
||||
return -1;
|
||||
}
|
||||
if (mode == W_OK) {
|
||||
if (mode == W_OK)
|
||||
{
|
||||
if (stat_buf.st_mode & S_IWUSR)
|
||||
return 0;
|
||||
errno = EROFS;
|
||||
return -1;
|
||||
}
|
||||
if (mode == X_OK) {
|
||||
if (mode == X_OK)
|
||||
{
|
||||
if (stat_buf.st_mode & S_IXUSR)
|
||||
return 0;
|
||||
errno = EACCES;
|
||||
|
@ -73,7 +75,8 @@ int escape_access(const char *pathname, int mode)
|
|||
return 0;
|
||||
}
|
||||
|
||||
EAPI ssize_t escape_readlink(const char *path,
|
||||
EAPI ssize_t
|
||||
escape_readlink(const char *path,
|
||||
char *buf,
|
||||
size_t bufsize)
|
||||
{
|
||||
|
@ -81,7 +84,8 @@ EAPI ssize_t escape_readlink(const char *path,
|
|||
return -1;
|
||||
}
|
||||
|
||||
EAPI int escape_symlink(const char *path1, const char *path2)
|
||||
EAPI int
|
||||
escape_symlink(const char *path1, const char *path2)
|
||||
{
|
||||
errno = EINVAL;
|
||||
return -1;
|
||||
|
@ -127,7 +131,6 @@ escape_pipe(int *fds)
|
|||
if (socket1 == -1)
|
||||
goto out0;
|
||||
|
||||
|
||||
if ((connect (socket1, (struct sockaddr *)&saddr, len) == -1) &&
|
||||
(errno != EAGAIN))
|
||||
goto out1;
|
||||
|
@ -175,7 +178,9 @@ escape_pipe(int *fds)
|
|||
}
|
||||
|
||||
#undef access
|
||||
int access(const char *pathname, int mode)
|
||||
int
|
||||
access(const char *pathname, int mode)
|
||||
{
|
||||
return escape_access (pathname, mode);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
#ifndef __ESCAPE_UNISTD_H__
|
||||
#define __ESCAPE_UNISTD_H__
|
||||
|
||||
|
||||
/**
|
||||
* @file escape_unistd.h
|
||||
* @brief The file that provides functions ported from Unix in unistd.h.
|
||||
|
@ -14,7 +13,6 @@
|
|||
|
||||
#include <sys/syslimits.h>
|
||||
|
||||
|
||||
/* Path function */
|
||||
/**
|
||||
* @brief return the canonicalized absolute pathname
|
||||
|
@ -41,7 +39,8 @@ EAPI char *escape_realpath(const char *path, char *resolved_path);
|
|||
#endif
|
||||
#define realpath escape_realpath
|
||||
|
||||
EAPI ssize_t escape_readlink(const char * path,
|
||||
EAPI ssize_t
|
||||
escape_readlink(const char *path,
|
||||
char *buf,
|
||||
size_t bufsize);
|
||||
#ifdef readlink
|
||||
|
@ -49,13 +48,13 @@ EAPI ssize_t escape_readlink(const char * path,
|
|||
#endif
|
||||
#define readlink escape_readlink
|
||||
|
||||
EAPI int escape_symlink(const char *path1, const char *path2);
|
||||
EAPI int
|
||||
escape_symlink(const char *path1, const char *path2);
|
||||
#ifdef symlink
|
||||
#undef symlink
|
||||
#endif
|
||||
#define symlink escape_symlink
|
||||
|
||||
|
||||
/**
|
||||
* @brief check real user's permissions for a file
|
||||
*
|
||||
|
@ -71,7 +70,8 @@ EAPI int escape_symlink(const char *path1, const char *path2);
|
|||
* and execute permissions, respectively.
|
||||
*
|
||||
*/
|
||||
EAPI int escape_access(const char *pathname, int mode);
|
||||
EAPI int
|
||||
escape_access(const char *pathname, int mode);
|
||||
#ifdef access
|
||||
#undef access
|
||||
#endif
|
||||
|
@ -88,7 +88,8 @@ EAPI int escape_access(const char *pathname, int mode);
|
|||
*
|
||||
* Conformity: Not applicable.
|
||||
*/
|
||||
EAPI int escape_pipe(int *fds);
|
||||
EAPI int
|
||||
escape_pipe(int *fds);
|
||||
|
||||
/**
|
||||
* @def pipe(fds)
|
||||
|
@ -97,13 +98,10 @@ EAPI int escape_pipe(int *fds);
|
|||
*/
|
||||
#define pipe(fds) escape_pipe(fds)
|
||||
|
||||
|
||||
//#define sync()
|
||||
|
||||
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
|
||||
|
||||
#endif /* __ESCAPE_UNISTD_H__ */
|
||||
|
|
|
@ -3,12 +3,10 @@
|
|||
|
||||
#include <Escape.h>
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
/**
|
||||
* @def PROT_NONE
|
||||
* Data can not be accessed.
|
||||
|
@ -60,7 +58,6 @@ extern "C" {
|
|||
|
||||
#define MAP_FAILED ((void *)-1)
|
||||
|
||||
|
||||
/**
|
||||
* @file mman.h
|
||||
* @brief The file that provides the memory map functions
|
||||
|
@ -130,10 +127,10 @@ EAPI void *mmap(void *addr,
|
|||
*
|
||||
* @ingroup Mman
|
||||
*/
|
||||
EAPI int munmap(void *addr,
|
||||
EAPI int
|
||||
munmap(void *addr,
|
||||
size_t len);
|
||||
|
||||
|
||||
# define MADV_NORMAL 0 /* No further special treatment. */
|
||||
# define MADV_RANDOM 1 /* Expect random page references. */
|
||||
# define MADV_SEQUENTIAL 2 /* Expect sequential page references. */
|
||||
|
@ -169,15 +166,14 @@ EAPI int munmap(void *addr,
|
|||
*
|
||||
* @ingroup Mman
|
||||
*/
|
||||
EAPI int madvise(void *addr,
|
||||
EAPI int
|
||||
madvise(void *addr,
|
||||
size_t length,
|
||||
int advice);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* __ESCAPE_SYS_MMAN_H__ */
|
||||
|
||||
|
|
Loading…
Reference in New Issue