summaryrefslogtreecommitdiff
path: root/usr/src/lib/libast/common/misc/univlib.h
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/lib/libast/common/misc/univlib.h')
-rw-r--r--usr/src/lib/libast/common/misc/univlib.h93
1 files changed, 93 insertions, 0 deletions
diff --git a/usr/src/lib/libast/common/misc/univlib.h b/usr/src/lib/libast/common/misc/univlib.h
new file mode 100644
index 0000000000..c161eebc60
--- /dev/null
+++ b/usr/src/lib/libast/common/misc/univlib.h
@@ -0,0 +1,93 @@
+/***********************************************************************
+* *
+* This software is part of the ast package *
+* Copyright (c) 1985-2007 AT&T Knowledge Ventures *
+* and is licensed under the *
+* Common Public License, Version 1.0 *
+* by AT&T Knowledge Ventures *
+* *
+* A copy of the License is available at *
+* http://www.opensource.org/licenses/cpl1.0.txt *
+* (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9) *
+* *
+* Information and Software Systems Research *
+* AT&T Research *
+* Florham Park NJ *
+* *
+* Glenn Fowler <gsf@research.att.com> *
+* David Korn <dgk@research.att.com> *
+* Phong Vo <kpv@research.att.com> *
+* *
+***********************************************************************/
+#pragma prototyped
+/*
+ * Glenn Fowler
+ * AT&T Research
+ *
+ * universe support
+ *
+ * symbolic link external representation has trailing '\0' and $(...) style
+ * conditionals where $(...) corresponds to a kernel object (i.e., probably
+ * not environ)
+ *
+ * universe symlink conditionals use $(UNIVERSE)
+ */
+
+#ifndef _UNIVLIB_H
+#define _UNIVLIB_H
+
+#if defined(__STDPP__directive) && defined(__STDPP__hide)
+__STDPP__directive pragma pp:hide getuniverse readlink setuniverse symlink universe
+#else
+#define getuniverse ______getuniverse
+#define readlink ______readlink
+#define setuniverse ______setuniverse
+#define symlink ______symlink
+#define universe ______universe
+#endif
+
+#include <ast.h>
+#include <ls.h>
+#include <errno.h>
+
+#define UNIV_SIZE 9
+
+#if _cmd_universe && _sys_universe
+#include <sys/universe.h>
+#endif
+
+#if defined(__STDPP__directive) && defined(__STDPP__hide)
+__STDPP__directive pragma pp:nohide getuniverse readlink setuniverse symlink universe
+#else
+#undef getuniverse
+#undef readlink
+#undef setuniverse
+#undef symlink
+#undef universe
+#endif
+
+#if _cmd_universe
+#ifdef NUMUNIV
+#define UNIV_MAX NUMUNIV
+#else
+#define UNIV_MAX univ_max
+extern char* univ_name[];
+extern int univ_max;
+#endif
+
+extern char univ_cond[];
+extern int univ_size;
+
+#else
+
+extern char univ_env[];
+
+#endif
+
+extern int getuniverse(char*);
+extern int readlink(const char*, char*, int);
+extern int setuniverse(int);
+extern int symlink(const char*, const char*);
+extern int universe(int);
+
+#endif