summaryrefslogtreecommitdiff
path: root/Core/EM/usb/tree.h
diff options
context:
space:
mode:
Diffstat (limited to 'Core/EM/usb/tree.h')
-rw-r--r--Core/EM/usb/tree.h95
1 files changed, 95 insertions, 0 deletions
diff --git a/Core/EM/usb/tree.h b/Core/EM/usb/tree.h
new file mode 100644
index 0000000..6dba1c6
--- /dev/null
+++ b/Core/EM/usb/tree.h
@@ -0,0 +1,95 @@
+//****************************************************************************
+//****************************************************************************
+//** **
+//** (C)Copyright 1985-2008, American Megatrends, Inc. **
+//** **
+//** All Rights Reserved. **
+//** **
+//** 5555 Oakbrook Pkwy, Norcross, GA 30093 **
+//** **
+//** Phone (770)-246-8600 **
+//** **
+//****************************************************************************
+//****************************************************************************
+
+//****************************************************************************
+// $Header: /Alaska/SOURCE/Modules/USB/ALASKA/tree.h 7 9/05/08 4:13p Olegi $
+//
+// $Revision: 7 $
+//
+// $Date: 9/05/08 4:13p $
+//
+//****************************************************************************
+// Revision History
+// ----------------
+// $Log: /Alaska/SOURCE/Modules/USB/ALASKA/tree.h $
+//
+// 7 9/05/08 4:13p Olegi
+//
+// 6 5/16/08 12:02p Olegi
+// Compliance with AMI coding standard.
+//
+// 5 3/20/07 1:29p Olegi
+//
+// 3 3/20/06 3:37p Olegi
+// Version 8.5 - x64 compatible.
+//
+// 2 6/15/05 1:59p Andriyn
+// Comments were changed
+//****************************************************************************
+
+//<AMI_FHDR_START>
+//----------------------------------------------------------------------------
+//
+// Name: Tree.h
+//
+// Description: Tree routines header
+//
+//----------------------------------------------------------------------------
+//<AMI_FHDR_END>
+
+#ifndef __TREE_H__
+#define __TREE_H__
+
+typedef struct _TREENODE_T TREENODE_T;
+typedef struct _TREENODE_T{
+ VOID* data;
+ TREENODE_T* right;
+ TREENODE_T* left;
+ TREENODE_T* child;
+ TREENODE_T* parent;
+} TREENODE_T;
+
+typedef struct QUEUE_T;
+
+typedef int (*TREE_PREDICATE1_T)(VOID* n, VOID* context);
+typedef VOID (*TREE_CALLBACK_T)(VOID* n, VOID* context );
+
+TREENODE_T* TreeCreate( TREENODE_T* n, VOID* d);
+VOID TreeAddChild( TREENODE_T* p, TREENODE_T* c );
+VOID TreeRemove( TREENODE_T* n );
+TREENODE_T* TreeSearchSibling(TREENODE_T* n, TREE_PREDICATE1_T pr, VOID* data );
+TREENODE_T* TreeSearchDeep(TREENODE_T* n, TREE_PREDICATE1_T pr, VOID* data );
+VOID TreeForEachSibling(TREENODE_T* n, TREE_CALLBACK_T pr, VOID* data );
+
+VOID* QueueGet( QUEUE_T* q);
+int QueueSize(QUEUE_T* q);
+VOID QueuePut( QUEUE_T* q, VOID * d);
+VOID* QueueRemoveMsg( QUEUE_T* q, int sz);
+VOID QueuePutMsg( QUEUE_T* q, VOID * d, int sz );
+
+#endif //__TREE_H__
+
+//****************************************************************************
+//****************************************************************************
+//** **
+//** (C)Copyright 1985-2008, American Megatrends, Inc. **
+//** **
+//** All Rights Reserved. **
+//** **
+//** 5555 Oakbrook Pkwy, Norcross, GA 30093 **
+//** **
+//** Phone (770)-246-8600 **
+//** **
+//****************************************************************************
+//****************************************************************************