Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/environ.h')
-rw-r--r--winsup/cygwin/environ.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/winsup/cygwin/environ.h b/winsup/cygwin/environ.h
new file mode 100644
index 000000000..e5967eb20
--- /dev/null
+++ b/winsup/cygwin/environ.h
@@ -0,0 +1,40 @@
+/* environ.h: Declarations for environ manipulation
+
+ Copyright 2000 Red Hat, Inc.
+
+This file is part of Cygwin.
+
+This software is a copyrighted work licensed under the terms of the
+Cygwin license. Please consult the file "CYGWIN_LICENSE" for
+details. */
+
+/* Initialize the environment */
+void environ_init (char **);
+
+/* The structure below is used to control conversion to/from posix-style
+ * file specs. Currently, only PATH and HOME are converted, but PATH
+ * needs to use a "convert path list" function while HOME needs a simple
+ * "convert to posix/win32". For the simple case, where a calculated length
+ * is required, just return MAX_PATH. *FIXME*
+ */
+struct win_env
+ {
+ const char *name;
+ size_t namelen;
+ char *posix;
+ char *native;
+ int (*toposix) (const char *, char *);
+ int (*towin32) (const char *, char *);
+ int (*posix_len) (const char *);
+ int (*win32_len) (const char *);
+ void add_cache (const char *in_posix, const char *in_native = NULL);
+ const char * get_native () {return native ? native + namelen : NULL;}
+ };
+
+win_env * __stdcall getwinenv (const char *name, const char *posix = NULL);
+
+void __stdcall update_envptrs ();
+char * __stdcall winenv (const char * const *, int);
+extern char **__cygwin_environ, ***main_environ;
+extern "C" char __stdcall **cur_environ ();
+int __stdcall envsize (const char * const *, int debug_print = 0);