diff options
author | axel <axel@liljencrantz.se> | 2005-09-20 23:26:39 +1000 |
---|---|---|
committer | axel <axel@liljencrantz.se> | 2005-09-20 23:26:39 +1000 |
commit | 149594f974350bb364a76c73b91b1d5ffddaa1fa (patch) | |
tree | 95650e9982d5fabe4bd805d94c5d700cbbc1ca7f /wutil.h |
Initial revision
darcs-hash:20050920132639-ac50b-fa3b476891e1f5f67207cf4cc7bf623834cc5edc.gz
Diffstat (limited to 'wutil.h')
-rw-r--r-- | wutil.h | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/wutil.h b/wutil.h new file mode 100644 index 00000000..65b82014 --- /dev/null +++ b/wutil.h @@ -0,0 +1,111 @@ +/** \file wutil.h + + Prototypes for wide character equivalents of various standard unix + functions. + +*/ +#ifndef WUTIL_HH +#define WUTIL_HH + +#include <sys/types.h> +#include <dirent.h> +#include <sys/stat.h> +#include <unistd.h> + + +/** + Call this function on exit to free internal wutil resources +*/ +void wutil_destroy(); + +/** + Wide character version of fopen(). +*/ +FILE *wfopen(const wchar_t *path, const char *mode); + +/** + Wide character version of freopen(). +*/ +FILE *wfreopen(const wchar_t *path, const char *mode, FILE *stream); + +/** + Wide character version of open(). +*/ +int wopen(const wchar_t *pathname, int flags, ...); + +/** + Wide character version of creat(). +*/ +int wcreat(const wchar_t *pathname, mode_t mode); + + +/** + Wide character version of opendir(). +*/ +DIR *wopendir(const wchar_t *name); + +/** + Wide character version of stat(). +*/ +int wstat(const wchar_t *file_name, struct stat *buf); + +/** + Wide character version of lstat(). +*/ +int lwstat(const wchar_t *file_name, struct stat *buf); + +/** + Wide character version of access(). +*/ +int waccess(const wchar_t *pathname, int mode); + +/** + Wide character version of perror(). +*/ +void wperror(const wchar_t *s); + +/** + Wide character version of getcwd(). +*/ +wchar_t *wgetcwd( wchar_t *buff, size_t sz ); + +/** + Wide character version of chdir() +*/ +int wchdir( const wchar_t * dir ); + + +#if !HAVE_WPRINTF + +/** + Print formated string. Some operating systems (Like NetBSD) do not + have wide string formating functions. Therefore we implement our + own. Not at all complete. Supports wide and narrow characters, + strings and decimal numbers, position (%n), field width and + precision. +*/ +int fwprintf( FILE *f, const wchar_t *format, ... ); + + +/** + Print formated string. Some operating systems (Like NetBSD) do not + have wide string formating functions. Therefore we define our + own. Not at all complete. Supports wide and narrow characters, + strings and decimal numbers, position (%n), field width and + precision. +*/ +int swprintf( wchar_t *str, size_t l, const wchar_t *format, ... ); + +/** + Print formated string. Some operating systems (Like NetBSD) do not + have wide string formating functions. Therefore we define our + own. Not at all complete. Supports wide and narrow characters, + strings and decimal numbers, position (%n), field width and + precision. +*/ +int wprintf( const wchar_t *format, ... ); + + +#endif + +#endif |