added QSE_FIO_NOFOLLOW

This commit is contained in:
2011-10-19 22:29:28 +00:00
parent c6f78119d3
commit 5cd5041ed3
8 changed files with 341 additions and 25 deletions

View File

@ -42,6 +42,7 @@ enum qse_fio_open_flag_t
/** don't close an I/O handle in qse_fio_fini() and qse_fio_close() */
QSE_FIO_NOCLOSE = (1 << 4),
/* normal open flags */
QSE_FIO_READ = (1 << 8),
QSE_FIO_WRITE = (1 << 9),
QSE_FIO_APPEND = (1 << 10),
@ -50,10 +51,15 @@ enum qse_fio_open_flag_t
QSE_FIO_TRUNCATE = (1 << 12),
QSE_FIO_EXCLUSIVE = (1 << 13),
QSE_FIO_SYNC = (1 << 14),
/* do not follow a symbolic link, only on a supported platform */
QSE_FIO_NOFOLLOW = (1 << 15),
/* for WIN32 only. harmless(no effect) when used on other platforms */
QSE_FIO_NOSHRD = (1 << 24),
QSE_FIO_NOSHWR = (1 << 25),
/* for WIN32 only. harmless(no effect) when used on other platforms */
QSE_FIO_RANDOM = (1 << 26), /* hint that access be random */
QSE_FIO_SEQUENTIAL = (1 << 27) /* hint that access is sequential */
};

View File

@ -59,6 +59,17 @@ const qse_wchar_t* qse_wcsbasename (
const qse_wchar_t* path
);
/**
* The qse_isabspath() function determines if a path name is absolute.
* A path name beginning with a segment separator is absolute.
* On Win32/OS2/DOS, it also returns 1 if a path name begins with a drive
* letter followed by a colon.
* @return 1 if absolute, 0 if not.
*/
int qse_isabspath (
const qse_char_t* path
);
/**
* The qse_canonpath() function canonicalizes a path name @a path by deleting
* unnecessary path segments from it and stores the result to a memory buffer

View File

@ -44,6 +44,7 @@ enum qse_sio_open_flag_t
QSE_SIO_TRUNCATE = QSE_FIO_TRUNCATE,
QSE_SIO_EXCLUSIVE = QSE_FIO_EXCLUSIVE,
QSE_SIO_SYNC = QSE_FIO_SYNC,
QSE_SIO_NOFOLLOW = QSE_FIO_NOFOLLOW,
QSE_SIO_NOSHRD = QSE_FIO_NOSHRD,
QSE_SIO_NOSHWR = QSE_FIO_NOSHWR

View File

@ -36,6 +36,10 @@
/* Define to 1 if you have the `cosl' function. */
#undef HAVE_COSL
/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
*/
#undef HAVE_DIRENT_H
/* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H
@ -93,6 +97,9 @@
/* Define to 1 if you have the `lseek64' function. */
#undef HAVE_LSEEK64
/* Define to 1 if you have the `lstat64' function. */
#undef HAVE_LSTAT64
/* Define to 1 if you have the `mbrlen' function. */
#undef HAVE_MBRLEN
@ -108,6 +115,9 @@
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
#undef HAVE_NDIR_H
/* Define to 1 if you have the `pow' function. */
#undef HAVE_POW
@ -165,9 +175,20 @@
/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H
/* Define to 1 if `d_type' is a member of `struct dirent'. */
#undef HAVE_STRUCT_DIRENT_D_TYPE
/* Define to 1 if you have the `sysconf' function. */
#undef HAVE_SYSCONF
/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
*/
#undef HAVE_SYS_DIR_H
/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
*/
#undef HAVE_SYS_NDIR_H
/* Define to 1 if you have the <sys/resource.h> header file. */
#undef HAVE_SYS_RESOURCE_H