imagex-mount.1.in: Fix typo
[wimlib] / programs / imagex-win32.h
index 58441e83dd699762b51f3999bb0d8dc248a07090..5f21fd948836f9c0129b49d57c866f6e49c1149a 100644 (file)
@@ -2,17 +2,20 @@
 #define _IMAGEX_WIN32_H
 
 #include <stddef.h>
+#include <stdbool.h>
+#include <wchar.h>
 
 typedef struct {
-       size_t gl_pathc;
-       char **gl_pathv;
-       size_t gl_offs;
+       size_t    gl_pathc;
+       wchar_t **gl_pathv;
+       size_t    gl_offs;
 } glob_t;
 
 /* WARNING: this is a reduced functionality replacement */
-extern int glob(const char *pattern, int flags,
-               int (*errfunc)(const char *epath, int eerrno),
-               glob_t *pglob);
+extern int
+win32_wglob(const wchar_t *pattern, int flags,
+           int (*errfunc)(const wchar_t *epath, int eerrno),
+           glob_t *pglob);
 
 extern void globfree(glob_t *pglob);
 
@@ -24,4 +27,34 @@ extern void globfree(glob_t *pglob);
 #define        GLOB_ABORTED    2       /* Read error.  */
 #define        GLOB_NOMATCH    3       /* No matches found.  */
 
+extern void
+win32_acquire_capture_privileges(void);
+
+extern void
+win32_release_capture_privileges(void);
+
+extern void
+win32_acquire_restore_privileges(void);
+
+extern void
+win32_release_restore_privileges(void);
+
+extern wchar_t *
+win32_mbs_to_wcs(const char *mbs, size_t mbs_nbytes, size_t *num_wchars_ret);
+
+extern wchar_t *
+win32_wbasename(wchar_t *path);
+
+#include "wgetopt.h"
+
+#define optarg                 woptarg
+#define optind                 woptind
+#define opterr                 wopterr
+#define optopt                 woptopt
+#define option                 woption
+
+#define getopt_long_only       wgetopt_long_only
+#define getopt_long            wgetopt_long
+#define getopt                 wgetopt
+
 #endif