xref: /onnv-gate/usr/src/lib/libshell/common/include/env.h (revision 12068:08a39a083754)
14887Schin /***********************************************************************
24887Schin *                                                                      *
34887Schin *               This software is part of the ast package               *
4*12068SRoger.Faulkner@Oracle.COM *          Copyright (c) 1982-2010 AT&T Intellectual Property          *
54887Schin *                      and is licensed under the                       *
64887Schin *                  Common Public License, Version 1.0                  *
78462SApril.Chin@Sun.COM *                    by AT&T Intellectual Property                     *
84887Schin *                                                                      *
94887Schin *                A copy of the License is available at                 *
104887Schin *            http://www.opensource.org/licenses/cpl1.0.txt             *
114887Schin *         (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9)         *
124887Schin *                                                                      *
134887Schin *              Information and Software Systems Research               *
144887Schin *                            AT&T Research                             *
154887Schin *                           Florham Park NJ                            *
164887Schin *                                                                      *
174887Schin *                  David Korn <dgk@research.att.com>                   *
184887Schin *                                                                      *
194887Schin ***********************************************************************/
204887Schin #pragma prototyped
214887Schin #ifndef  _ENV_H
224887Schin #define	_ENV_H	1
234887Schin 
244887Schin #ifdef _BLD_env
254887Schin #    ifdef __EXPORT__
264887Schin #	define export	__EXPORT__
274887Schin #    endif
284887Schin #else
294887Schin      typedef void *Env_t;
304887Schin #endif
314887Schin 
324887Schin /* for use with env_open */
334887Schin #define ENV_STABLE	(-1)
344887Schin 
354887Schin /* for third agument to env_add */
364887Schin #define ENV_MALLOCED	1
374887Schin #define ENV_STRDUP	2
384887Schin 
394887Schin extern void	env_close(Env_t*);
404887Schin extern int	env_add(Env_t*, const char*, int);
414887Schin extern int	env_delete(Env_t*, const char*);
424887Schin extern char	**env_get(Env_t*);
434887Schin extern Env_t	*env_open(char**,int);
444887Schin extern Env_t	*env_scope(Env_t*,int);
454887Schin 
464887Schin #undef extern
474887Schin 
484887Schin #endif
494887Schin 
504887Schin 
51