*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->IRIX man pages -> Tcl/handles (3)              
Title
Content
Arch
Section
 

Contents


Handles(3Tcl)							 Handles(3Tcl)


NAME    [Toc]    [Back]

     Tcl_HandleAlloc, Tcl_HandleFree, Tcl_HandleTblInit, Tcl_HandleTblRelease,
     Tcl_HandleTblUseCount Tcl_HandleWalk, Tcl_HandleXlate - Dynamic, handle
     addressable tables.

SYNOPSIS    [Toc]    [Back]

     #include <tclExtend.h>

     void_pt
     Tcl_HandleTblInit (const char *handleBase,
			int	    entrySize,
			int	    initEntries);

     int
     Tcl_HandleTblUseCount (void_pt  headerPtr,
			    int	     amount);

     void
     Tcl_HandleTblRelease (void_pt headerPtr);

     void_pt
     Tcl_HandleAlloc (void_pt	headerPtr,
		      char     *handlePtr);

     void_pt
     Tcl_HandleXlate (Tcl_Interp *interp,
		      void_pt	  headerPtr,
		      const char *handle);

     void_pt
     Tcl_HandleWalk (void_pt   headerPtr,
		     int      *walkKeyPtr);

     void
     Tcl_WalkKeyToHandle (void_pt   headerPtr,
			  int	    walkKey,
			  char	   *handlePtr);

     void
     Tcl_HandleFree (void_pt headerPtr,
		     void_pt entryPtr);

DESCRIPTION    [Toc]    [Back]

     The Tcl handle facility provides a	way to manage table entries that may
     be	referenced by a	textual	handle from Tcl	code.  This is provided	for
     applications that need to create data structures in one command, return a
     reference (i.e. pointer) to that particular data structure	and then
     access that data structure	in other commands. An example application is
     file handles.





									Page 1






Handles(3Tcl)							 Handles(3Tcl)



     A handle consists of a base name, which is	some unique, meaningful	name,
     such as `file' and	a numeric value	appended to the	base name (e.g.
     `file3').	The handle facility is designed	to provide a standard
     mechanism for building Tcl	commands that allocate and access table
     entries based on an entry index.  The tables are expanded when needed,
     consequently pointers to entries should not be kept, as they will become
     invalid when the table is expanded.  If the table entries are large or
     pointers must be kept to the entries, then	the the	entries	should be
     allocated separately and pointers kept in the handle table.  A use	count
     is	kept on	the table.  This use count is intended to determine when a
     table shared by multiple commands is to be	release.

   Tcl_HandleTblInit    [Toc]    [Back]
     Create and	initialize a Tcl dynamic handle	table.	The use	count on the
     table is set to one.

     Parameters:
       o handleBase - The base name of the handle, the handle will be returned
       in the form "baseNN", where NN is the table entry number.
       o entrySize - The size of an entry, in bytes.
       o initEntries - Initial size of the table, in entries.

     Returns:
       A pointer to the	table header.

   Tcl_HandleTblUseCount    [Toc]    [Back]
     Alter the handle table use	count by the specified amount, which can be
     positive or negative.  Amount may be zero to retrieve the use count.

     Parameters:
       o headerPtr - Pointer to	the table header.
       o amount	- The amount to	alter the use count by.

     Returns:
       The resulting use count.

   Tcl_HandleTblRelease    [Toc]    [Back]
     Decrement the use count on	a Tcl dynamic handle table.  If	the count goes
     to	zero or	negative, then release the table.

     Parameters:
       o headerPtr - Pointer to	the table header.

   Tcl_HandleAlloc    [Toc]    [Back]
     Allocate an entry and associate a handle with it.

     Parameters:
       o headerPtr - A pointer to the table header.
       o handlePtr - Buffer to return handle in. It must be big	enough to hold
       the name.





									Page 2






Handles(3Tcl)							 Handles(3Tcl)



     Returns:
       A pointer to the	allocated entry	(user part).

   Tcl_HandleXlate    [Toc]    [Back]
     Translate a handle	to a entry pointer.

     Parameters:
       o interp	- A error message may be returned in result.
       o headerPtr - A pointer to the table header.

       o handle	- The handle assigned to the entry.

     Returns:
       A pointer to the	entry, or NULL if an error occured.

   Tcl_HandleWalk    [Toc]    [Back]
     Walk through and find every allocated entry in a table.  Entries may be
     deallocated during	a walk,	but should not be allocated.

     Parameters:
       o headerPtr - A pointer to the table header.
       o walkKeyPtr - Pointer to a variable to use to keep track of the	place
       in the table.  The variable should be initialized to -1 before the
       first call.
     Returns:
       A pointer to the	next allocated entry, or NULL if there are not more.

   Tcl_WalkKeyToHandle    [Toc]    [Back]
     Convert a walk key, as returned from a call to Tcl_HandleWalk into	a
     handle.  The Tcl_HandleWalk must have succeeded.

     Parameters:
       o headerPtr - A pointer to the table header.
       o walkKey - The walk key.
       o handlePtr - Buffer to return handle in. It must be big	enough to hold
       the name.

   Tcl_HandleFree    [Toc]    [Back]
     Frees a handle table entry.

     Parameters:
       o headerPtr - A pointer to the table header.
       o entryPtr - Entry to free.


									PPPPaaaaggggeeee 3333
[ Back ]
 Similar pages
Name OS Title
st_addr_to_line Tru64 convert an address in an object to a file handle, procedure handle, line number, or symbol handle an...
st_text_addr_to_sym Tru64 convert an address in an object to a file handle, procedure handle, line number, or symbol handle an...
st_data_addr_to_sym Tru64 convert an address in an object to a file handle, procedure handle, line number, or symbol handle an...
st_addr_to_file Tru64 convert an address in an object to a file handle, procedure handle, line number, or symbol handle an...
st_addr_to_sym Tru64 convert an address in an object to a file handle, procedure handle, line number, or symbol handle an...
st_addr_to_proc Tru64 convert an address in an object to a file handle, procedure handle, line number, or symbol handle an...
yyfix FreeBSD extract tables from y.tab.c
iptables-restore Linux Restore IP Tables
iptables-save Linux Save IP Tables
yyfix OpenBSD extract tables from y.tab.c
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service