/* : : generated by proto : : */
/***********************************************************************
* *
* This software is part of the ast package *
* Copyright (c) 1982-2011 AT&T Intellectual Property *
* and is licensed under the *
* Common Public License, Version 1.0 *
* by AT&T Intellectual Property *
* *
* A copy of the License is available at *
* (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9) *
* *
* Information and Software Systems Research *
* AT&T Research *
* Florham Park NJ *
* *
* David Korn <dgk@research.att.com> *
* *
***********************************************************************/
#ifndef NV_DEFAULT
#if !defined(__PROTO__)
#include <prototyped.h>
#endif
#if !defined(__LINKAGE__)
#endif
/*
* David Korn
* AT&T Labs
*
* Interface definitions of structures for name-value pairs
* These structures are used for named variables, functions and aliases
*
*/
#include <ast.h>
#include <cdt.h>
#include <option.h>
/* for compatibility with old hash library */
/*
* This defines the template for nodes that have their own assignment
* and or lookup functions
*/
struct Namdisc
{
};
struct Namfun
{
char nofree;
unsigned char subshell;
unsigned short dsize;
char *last;
};
struct Nambfun
{
int num;
const char **bnames;
};
/* This is an array template header */
struct Namarray
{
};
/* The context pointer for declaration command */
struct Namdecl
{
const char *optstring;
};
/* attributes of name-value node attribute flags */
#define NV_DEFAULT 0
/* This defines the attributes for an attributed name-value pair node */
struct Namval
{
#ifdef _NV_PRIVATE
#else
char *nvalue;
char *nvprivate;
#endif /* _NV_PRIVATE */
};
/* The following attributes are for internal use */
/* The following attributes are valid only when NV_INTEGER is off */
/* The following attributes do not effect the value */
/* The following are used with NV_INTEGER */
/* options for nv_open */
/* add node if not found */
/* numeric types */
/* name-value pair macros */
/* The following are operations for associative arrays */
/* The following are for nv_disc */
/* The following are operations for nv_putsub() */
/* These are disciplines provided by the library for use with nv_discfun */
#if defined(__EXPORT__) && defined(_DLL)
# ifdef _BLD_shell
# else
# endif /* _BLD_shell */
#endif /* _DLL */
/* prototype for array interface*/
/* name-value pair function prototypes */
#ifdef _DLL
#endif /* _DLL */
#if 0
/*
* The names of many functions were changed in early '95
* Here is a mapping to the old names
*/
#endif
#endif /* NV_DEFAULT */