SYNOPSIS

#include <tclExtend.h>

Tcl_Obj *
TclX_NewKeyedListObj (void);

int
TclX_KeyedListGet (Tcl_Interp *interp,
                   Tcl_Obj    *keylPtr,
                   char       *key,
                   Tcl_Obj   **valuePtrPtr);

int
TclX_KeyedListSet (Tcl_Interp *interp,
                   Tcl_Obj    *keylPtr,
                   char       *key,
                   Tcl_Obj    *valuePtr);

int
TclX_KeyedListDelete (Tcl_Interp *interp,
                      Tcl_Obj    *keylPtr,
                      char       *key);

int
TclX_KeyedListGetKeys (Tcl_Interp *interp,
                       Tcl_Obj    *keylPtr,
                       char       *key,
                       Tcl_Obj   **listObjPtrPtr);


DESCRIPTION

These routines perform operations on keyed lists. See the Extended Tcl man page for a description of keyed lists.

TclX_NewKeyedListObj

Create and initialize a new keyed list object.

Returns:

A pointer to the object.

TclX_KeyedListGet

  Retrieve a key value from a keyed list.

Parameters:

o interp - Error message will be return in result if there is an error.

o keylPtr - Keyed list object to get key from.

o key - The name of the key to extract. Will recusively process sub-keys seperated by `.'.

o valueObjPtrPtr - If the key is found, a pointer to the key object

    is returned here.  NULL is returned if the key is not present.

Returns:

o TCL_OK - If the key value was returned.

o TCL_BREAK - If the key was not found.

o TCL_ERROR - If an error occured.

TclX_KeyedListSet

  Set a key value in keyed list object.

Parameters:

o interp - Error message will be return in result object.

o keylPtr - Keyed list object to update.

o key - The name of the key to extract. Will recusively process sub-key seperated by `.'.

o valueObjPtr - The value to set for the key.

Returns:

  TCL_OK or TCL_ERROR.

TclX_KeyedListDelete

  Delete a key value from keyed list.

Parameters:

o interp - Error message will be return in result if there is an error.

o keylPtr - Keyed list object to update.

o key - The name of the key to extract. Will recusively process sub-key seperated by `.'.

Returns:

o TCL_OK - If the key was deleted.

o TCL_BREAK - If the key was not found.

o TCL_ERROR - If an error occured.

TclX_KeyedListGetKeys

  Retrieve a list of keyed list keys.

Parameters:

o interp - Error message will be return in result if there is an error.

o keylPtr - Keyed list object to get key from.

o key - The name of the key to get the sub keys for. NULL or empty to retrieve all top level keys.

o listObjPtrPtr - List object is returned here with key as values.

Returns:

o TCL_OK - If the zero or more key where returned.

o TCL_BREAK - If the key was not found.

o TCL_ERROR - If an error occured.