---
name: "Blt_TreeGetToken"
section: "3"
platform: "linux"
package: "blt-dev"
version: "2.5.3+dfsg-8"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Blt_TreeGetToken"
---

# Blt\_TreeGetToken(3)

Grabs a token associated with existing tree data object.

```

```

## NAME

Blt\_TreeGetToken - Grabs a token associated with existing tree data object.

## SYNOPSIS

```
#include <bltTree.h>

int
Blt_TreeGetToken(interp, name, tokenPtr)
```

## ARGUMENTS

- Tcl\_Interp *\*interp* (in)

  Interpreter to report results back to.

- const char *\*name* (in)

  Name of an existing tree data object.  Can be qualified by a namespace.

- Blt\_Tree *\*tokenPtr* (out)

  Points to location to store the client tree token.

  ```

  ```

## DESCRIPTION

This procedure obtains a token to a C-based tree data object.  The arguments are as follows:

- *interp*

  Interpreter to report results back to.  If an error occurs, then interp-\>result will contain an error message.

- *name*

  Name of an existing tree data object.  It's an error if a tree *name* doesn't already exist.  *Name* can be qualified by  a namespace such as **fred::myTree**.  If no namespace qualifier  is used, the tree the current namespace is searched, then the global namespace.

- *tokenPtr*

  Points to the location where the returned token is stored. A tree token is used to work with the tree object.

A token for the tree data object is returned.  Tree data objects can be shared.  For example, the **tree** and **hiertable** commands may be accessing the same tree data object.  Each client grabs a token that is associated with the tree.  When all tokens are released (see **Blt\_TreeReleaseToken**) the tree data object is automatically destroyed.

## RETURNS

A standard Tcl result is returned.  If TCL\_ERROR is returned, then *interp-\>result* will contain an error message.  The following errors may occur:

- •

  No tree exists as *name*. You can use **Tcl\_TreeExists** to determine if a tree exists beforehand.

- •

  Memory can't be allocated for the token.

## EXAMPLE

The following example allocated a token for an existing tree.

```

Blt_Tree token;
if (Blt_TreeGetToken(interp, "myTree", &token) != TCL_OK) {
    return TCL_ERROR;
}
printf("tree is %s\n", Blt_TreeName(token));
```

## SEE ALSO

Tcl\_TreeCreate, Tcl\_TreeExists, Tcl\_TreeReleaseToken
