diff options
author | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-03-03 18:14:35 +0000 |
---|---|---|
committer | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-03-03 18:14:35 +0000 |
commit | a7de4be0d5d01425755a1bb33dd81c811b52c579 (patch) | |
tree | a99936572577ee64e1dc351307de1bd656809a91 /1.2-netsec/doc/linkedlists.README | |
parent | 67da2f8263b4e9bb5522fa59b27e143381d69774 (diff) |
remove improperly created directory
git-svn-id: http://svn.digium.com/svn/asterisk/tags/1.2.5@11748 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to '1.2-netsec/doc/linkedlists.README')
-rw-r--r-- | 1.2-netsec/doc/linkedlists.README | 98 |
1 files changed, 0 insertions, 98 deletions
diff --git a/1.2-netsec/doc/linkedlists.README b/1.2-netsec/doc/linkedlists.README deleted file mode 100644 index 340933548..000000000 --- a/1.2-netsec/doc/linkedlists.README +++ /dev/null @@ -1,98 +0,0 @@ -As of 2004-12-23, this documentation is no longer maintained. The doxygen documentation -generated from linkedlists.h should be referred to in its place, as it is more complete -and better maintained. - -2nd version, implemented as macros. - - include <asterisk/linkedlists.h> - -AST_LIST_ENTRY declares pointers inside the object structure : - - struct ast_var_t { - char *name; - char *value; - AST_LIST_ENTRY(ast_var_t) listpointers; - }; - -AST_LIST_HEAD declares a head structure, which is initialized -to AST_LIST_HEAD_NULL : - - AST_LIST_HEAD(head, ast_var_t) head - -Next, we declare a pointer to this structure : - - struct headtype *headp = head; - -AST_LIST_INIT initializes the head pointer to a null value - - AST_LIST_INIT(headp); - -AST_LIST_INSERT_HEAD inserts an element to the head of the list : - - struct ast_var_t *node; - - node=malloc(sizeof(struct ast_var_t)); - (...we fill data in struct....) - data->name=malloc(100); - strcpy(data->name,"lalalalaa"); - etc etc - - (then we insert the node in the head of the list :) - - AST_LIST_INSERT_HEAD(headp,node,listpointers); - -AST_LIST_INSERT_HEAD_AFTER inserts an element after another : - - struct ast_var_t *node1; - ... - AST_LIST_INSERT_AFTER(node,node1,listpointers); - -AST_LIST_REMOVE removes an arbitrary element from the head: - - AST_LIST_REMOVE(headp,node1,ast_var_t,listpointers); - -AST_LIST_REMOVE_HEAD removes the entry at the head of the list and -returns a pointer to the removed entry: - - AST_LIST_REMOVE_HEAD(headp,node,listpointers); - -AST_LIST_FIRST returns a pointer to the first element of the list; - - struct ast_var_t *firstnode; - firstnode=AST_LIST_FIRST(headp); - -AST_LIST_NEXT returns a pointer to the next element : - - struct ast_var_t *nextnode; - nextnode=AST_LIST_NEXT(firstnode,listpointers); - -AST_LIST_TRAVERSE traverses all elements of the list : - - struct ast_var_t *node; - - AST_LIST_TRAVERSE(headp,node,listpointers) { - printf("%s\n",node->name); - } - -AST_LIST_EMPTY evaluates to a true condition if there are no elements on -the list. - -To completely delete a list : - - struct ast_var_t *vardata; - - while (!AST_LIST_EMPTY(headp)) { /* List Deletion. */ - vardata = AST_LIST_REMOVE_HEAD(head, ast_var_t, listpointers); - free(vardata->name); - free(vardata->value); - } - -AST_LIST_LOCK returns true if it can lock the list, AST_LIST_UNLOCK unlocks -the list : - -if (AST_LIST_LOCK(headp)) { - ...do all list operations here... - AST_LIST_UNLOCK(headp); -} else { - ast_log(LOG_WARNING,"List locked bla bla bla\n"); -} |