1/*
2 * tclXkeylist.h --
3 *
4 * Extended Tcl keyed list commands and interfaces.
5 *-----------------------------------------------------------------------------
6 * Copyright 1991-1999 Karl Lehenbauer and Mark Diekhans.
7 *
8 * Permission to use, copy, modify, and distribute this software and its
9 * documentation for any purpose and without fee is hereby granted, provided
10 * that the above copyright notice appear in all copies.  Karl Lehenbauer and
11 * Mark Diekhans make no representations about the suitability of this
12 * software for any purpose.  It is provided "as is" without express or
13 * implied warranty.
14 *-----------------------------------------------------------------------------
15 *
16 * Rcsid: @(#)$Id: tclXkeylist.h,v 1.2 2009/07/22 11:25:34 nijtmans Exp $
17 *-----------------------------------------------------------------------------
18 */
19
20#ifndef _KEYLIST_H_
21#define _KEYLIST_H_
22
23/*
24 * Keyed list object interface commands
25 */
26
27Tcl_Obj* TclX_NewKeyedListObj();
28
29void TclX_KeyedListInit(Tcl_Interp*);
30int  TclX_KeyedListGet(Tcl_Interp*, Tcl_Obj*, const char*, Tcl_Obj**);
31int  TclX_KeyedListSet(Tcl_Interp*, Tcl_Obj*, const char*, Tcl_Obj*);
32int  TclX_KeyedListDelete(Tcl_Interp*, Tcl_Obj*, const char*);
33int  TclX_KeyedListGetKeys(Tcl_Interp*, Tcl_Obj*, const char*, Tcl_Obj**);
34
35/*
36 * Exported for usage in Sv_DuplicateObj. This is slightly
37 * modified version of the DupKeyedListInternalRep() function.
38 * It does a proper deep-copy of the keyed list object.
39 */
40
41void DupKeyedListInternalRepShared(Tcl_Obj*, Tcl_Obj*);
42
43#endif /* _KEYLIST_H_ */
44
45/* EOF $RCSfile: tclXkeylist.h,v $ */
46
47/* Emacs Setup Variables */
48/* Local Variables:      */
49/* mode: C               */
50/* indent-tabs-mode: nil */
51/* c-basic-offset: 4     */
52/* End:                  */
53
54