Graphviz 12.1.0~dev.20240716.0947
|
#include <stdint.h>
#include <tcl.h>
Go to the source code of this file.
Data Structures | |
struct | tblHeader_t |
struct | entryHeader_t |
Macros | |
#define | ROUND_ENTRY_SIZE(size) |
#define | NULL_IDX UINT64_MAX |
#define | ALLOCATED_IDX (UINT64_MAX - 1) |
#define | ENTRY_HEADER_SIZE (ROUND_ENTRY_SIZE(sizeof(entryHeader_t))) |
#define | TBL_INDEX(hdrPtr, idx) ((entryHeader_pt)(hdrPtr->bodyPtr + (hdrPtr->entrySize * idx))) |
#define | USER_AREA(entryPtr) (void *)(((ubyte_pt)entryPtr) + ENTRY_HEADER_SIZE); |
#define | HEADER_AREA(entryPtr) (entryHeader_pt)(((ubyte_pt)entryPtr) - ENTRY_HEADER_SIZE); |
Typedefs | |
typedef unsigned char | ubyte_t |
typedef ubyte_t * | ubyte_pt |
typedef tblHeader_t * | tblHeader_pt |
typedef entryHeader_t * | entryHeader_pt |
Functions | |
void * | tclhandleFreeIndex (tblHeader_pt headerPtr, uint64_t entryIdx) |
void * | tclhandleFree (tblHeader_pt headerPtr, char *handle) |
tblHeader_pt | tclhandleInit (char *prefix, uint64_t entrySize, uint64_t initEntries) |
void * | tclhandleXlateIndex (tblHeader_pt headerPtr, uint64_t entryIdx) |
void * | tclhandleXlate (tblHeader_pt headerPtr, char *handle) |
entryHeader_pt | tclhandleAlloc (tblHeader_pt tblHdrPtr, char **handle, uint64_t *entryIdxPtr) |
int | tclhandleIndex (tblHeader_pt tblHdrPtr, char *handle, uint64_t *entryIdxPtr) |
#define ALLOCATED_IDX (UINT64_MAX - 1) |
Definition at line 27 of file tclhandle.h.
#define ENTRY_HEADER_SIZE (ROUND_ENTRY_SIZE(sizeof(entryHeader_t))) |
Definition at line 56 of file tclhandle.h.
#define HEADER_AREA | ( | entryPtr | ) | (entryHeader_pt)(((ubyte_pt)entryPtr) - ENTRY_HEADER_SIZE); |
Definition at line 69 of file tclhandle.h.
#define NULL_IDX UINT64_MAX |
Definition at line 26 of file tclhandle.h.
#define ROUND_ENTRY_SIZE | ( | size | ) |
Definition at line 22 of file tclhandle.h.
#define TBL_INDEX | ( | hdrPtr, | |
idx | |||
) | ((entryHeader_pt)(hdrPtr->bodyPtr + (hdrPtr->entrySize * idx))) |
Definition at line 61 of file tclhandle.h.
#define USER_AREA | ( | entryPtr | ) | (void *)(((ubyte_pt)entryPtr) + ENTRY_HEADER_SIZE); |
Definition at line 68 of file tclhandle.h.
typedef entryHeader_t* entryHeader_pt |
Definition at line 54 of file tclhandle.h.
typedef tblHeader_t* tblHeader_pt |
Definition at line 49 of file tclhandle.h.
Definition at line 30 of file tclhandle.h.
typedef unsigned char ubyte_t |
Definition at line 29 of file tclhandle.h.
entryHeader_pt tclhandleAlloc | ( | tblHeader_pt | tblHdrPtr, |
char ** | handle, | ||
uint64_t * | entryIdxPtr | ||
) |
Definition at line 123 of file tclhandle.c.
References agxbdisown(), agxbprint(), ALLOCATED_IDX, tblHeader_t::freeHeadIdx, entryHeader_t::freeLink, tblHeader_t::handleFormat, NULL_IDX, TBL_INDEX, tclhandleExpandTable(), and USER_AREA.
Referenced by vgpane().
void * tclhandleFree | ( | tblHeader_pt | headerPtr, |
char * | handle | ||
) |
Definition at line 293 of file tclhandle.c.
References NULL, tclhandleFreeIndex(), and tclhandleIndex().
Referenced by vgpanecmd().
void * tclhandleFreeIndex | ( | tblHeader_pt | headerPtr, |
uint64_t | entryIdx | ||
) |
Definition at line 261 of file tclhandle.c.
References ALLOCATED_IDX, tblHeader_t::bodyPtr, tblHeader_t::entrySize, tblHeader_t::freeHeadIdx, entryHeader_t::freeLink, HEADER_AREA, NULL, tblHeader_t::tableSize, TBL_INDEX, and USER_AREA.
Referenced by tclhandleFree().
int tclhandleIndex | ( | tblHeader_pt | tblHdrPtr, |
char * | handle, | ||
uint64_t * | entryIdxPtr | ||
) |
Definition at line 195 of file tclhandle.c.
References tblHeader_t::handleFormat.
Referenced by tclhandleFree(), and tclhandleXlate().
tblHeader_pt tclhandleInit | ( | char * | prefix, |
uint64_t | entrySize, | ||
uint64_t | initEntries | ||
) |
Definition at line 158 of file tclhandle.c.
References tblHeader_t::bodyPtr, ENTRY_HEADER_SIZE, tblHeader_t::entrySize, tblHeader_t::freeHeadIdx, tblHeader_t::handleFormat, malloc(), NULL_IDX, prefix, ROUND_ENTRY_SIZE, tblHeader_t::tableSize, and tclhandleLinkInNewEntries().
Referenced by Tclpathplan_Init().
void * tclhandleXlate | ( | tblHeader_pt | headerPtr, |
char * | handle | ||
) |
Definition at line 241 of file tclhandle.c.
References NULL, tclhandleIndex(), and tclhandleXlateIndex().
Referenced by vgpanecmd().
void * tclhandleXlateIndex | ( | tblHeader_pt | headerPtr, |
uint64_t | entryIdx | ||
) |
Definition at line 217 of file tclhandle.c.
References ALLOCATED_IDX, entryHeader_t::freeLink, NULL, tblHeader_t::tableSize, TBL_INDEX, and USER_AREA.
Referenced by tclhandleXlate().