/***********************************************************************
* *
* This software is part of the ast package *
* Copyright (c) 1985-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 *
* *
* Glenn Fowler <gsf@research.att.com> *
* David Korn <dgk@research.att.com> *
* Phong Vo <kpv@research.att.com> *
* *
***********************************************************************/
#ifndef _CDT_H
/* Public interface for the dictionary library
**
** Written by Kiem-Phong Vo
*/
#if _PACKAGE_ast
#include <ast_std.h>
#else
#include <ast_common.h>
#endif
struct _dtlink_s
union
} hl;
};
/* private structure to hold an object */
struct _dthold_s
};
/* method to manipulate dictionary structure */
struct _dtmethod_s
};
/* stuff that may be in shared memory */
struct _dtdata_s
union
} hh;
/* for hash dt, > 0: fixed table size */
};
/* structure to hold methods that manipulate an object */
struct _dtdisc_s
};
#ifdef offsetof
#else
#endif
/* the dictionary structure itself */
struct _dt_s
};
/* structure to get status of a dictionary */
struct _dtstat_s
};
/* flag set if the last search operation actually found the object */
/* supported storage methods */
/* asserts to dtdisc() */
/* types of search */
/* events */
_BEGIN_EXTERNS_ /* public data */
#if _BLD_cdt && defined(__EXPORT__)
#define extern __EXPORT__
#endif
#if !_BLD_cdt && defined(__IMPORT__)
#define extern __IMPORT__
#endif
extern Dtmethod_t* Dtset;
extern Dtmethod_t* Dtbag;
extern Dtmethod_t* Dtoset;
extern Dtmethod_t* Dtobag;
extern Dtmethod_t* Dtlist;
extern Dtmethod_t* Dtstack;
extern Dtmethod_t* Dtqueue;
/* compatibility stuff; will go away */
#ifndef KPVDEL
extern Dtmethod_t* Dtorder;
extern Dtmethod_t* Dttree;
extern Dtmethod_t* Dthash;
extern Dtmethod_t _Dttree;
extern Dtmethod_t _Dthash;
extern Dtmethod_t _Dtlist;
extern Dtmethod_t _Dtqueue;
extern Dtmethod_t _Dtstack;
#endif
#undef extern
_BEGIN_EXTERNS_ /* public functions */
#if _BLD_cdt && defined(__EXPORT__)
#define extern __EXPORT__
#endif
#if !_PACKAGE_ast
#endif
#undef extern
/* internal functions for translating among holder, object and key */
/* special search function for tree structure only */
break; \
} \
} while(0)
break; \
} \
} while(0)
#endif /* _CDT_H */