aboutsummaryrefslogtreecommitdiffhomepage
path: root/wutil.h
diff options
context:
space:
mode:
authorGravatar axel <axel@liljencrantz.se>2005-09-20 23:26:39 +1000
committerGravatar axel <axel@liljencrantz.se>2005-09-20 23:26:39 +1000
commit149594f974350bb364a76c73b91b1d5ffddaa1fa (patch)
tree95650e9982d5fabe4bd805d94c5d700cbbc1ca7f /wutil.h
Initial revision
darcs-hash:20050920132639-ac50b-fa3b476891e1f5f67207cf4cc7bf623834cc5edc.gz
Diffstat (limited to 'wutil.h')
-rw-r--r--wutil.h111
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