This graph shows which files directly or indirectly include this file:

Go to the source code of this file.
Data Structures | |
| struct | shaResNode |
| struct | shaResList |
Functions | |
| void | shaUnlink (struct shaResNode *node) |
| void | shaLink (struct shaResNode *node) |
| shaResNode * | shaNewNode (struct shaResList *list, char *name, void *data) |
| void | shaCleanup (struct shaResList *list) |
| void | shaInit (struct shaResList *list, void(*freeData)(void *pData)) |
| void shaCleanup | ( | struct shaResList * | list | ) |
Definition at line 63 of file shaRes.c.
References shaResList::head, shaResNode::list, shaResNode::next, and shaFreeNode().
00065 { 00066 struct shaResNode *node, *next; 00067 00068 for (node = list->head;node != NULL;node = next) 00069 { 00070 next = node->next; 00071 shaFreeNode(node); 00072 } 00073 list->head = NULL; 00074 }
Here is the call graph for this function:

| void shaInit | ( | struct shaResList * | list, | |
| void(*)(void *pData) | freeData | |||
| ) |
Definition at line 76 of file shaRes.c.
References shaResList::freeData, shaResList::head, and shaResNode::list.
| void shaLink | ( | struct shaResNode * | node | ) |
Definition at line 36 of file shaRes.c.
References shaResNode::links.
00038 { 00039 ++node->links; 00040 }
| struct shaResNode* shaNewNode | ( | struct shaResList * | list, | |
| char * | name, | |||
| void * | data | |||
| ) | [read] |
Definition at line 42 of file shaRes.c.
References cloneString(), shaResList::head, shaResNode::list, needMem(), and shaResNode::prev.
00044 { 00045 struct shaResNode *nn = needMem(sizeof(*nn)); 00046 struct shaResNode *head = list->head; 00047 00048 /* Store the goods and what list we're on, and start with one link. */ 00049 nn->list = list; 00050 nn->data = data; 00051 nn->links = 1; 00052 nn->name = cloneString(name); 00053 00054 /* Put us at the front of the list. */ 00055 nn->next = head; 00056 nn->prev = NULL; 00057 if (head != NULL) 00058 head->prev = nn; 00059 list->head = nn; 00060 return nn; 00061 }
Here is the call graph for this function:

| void shaUnlink | ( | struct shaResNode * | node | ) |
Definition at line 29 of file shaRes.c.
References shaResNode::links, and shaFreeNode().
00031 { 00032 if (--node->links <= 0) 00033 shaFreeNode(node); 00034 }
Here is the call graph for this function:

1.5.2