+typedef DeviceTreeNode *RealDTEntry;
+
+typedef struct DTSavedScope {
+ struct DTSavedScope * nextScope;
+ RealDTEntry scope;
+ RealDTEntry entry;
+ unsigned long index;
+} *DTSavedScopePtr;
+
+/* Entry Iterator*/
+typedef struct OpaqueDTEntryIterator {
+ RealDTEntry outerScope;
+ RealDTEntry currentScope;
+ RealDTEntry currentEntry;
+ DTSavedScopePtr savedScope;
+ unsigned long currentIndex;
+} OpaqueDTEntryIterator, *DTEntryIterator;
+
+/* Property Iterator*/
+typedef struct OpaqueDTPropertyIterator {
+ RealDTEntry entry;
+ DeviceTreeNodeProperty *currentProperty;
+ unsigned long currentIndex;
+} OpaqueDTPropertyIterator, *DTPropertyIterator;
+
+/* Entry*/
+typedef struct OpaqueDTEntry* DTEntry;
+
+/* Entry Iterator*/
+typedef struct OpaqueDTEntryIterator* DTEntryIterator;
+
+/* Property Iterator*/
+typedef struct OpaqueDTPropertyIterator* DTPropertyIterator;
+
+
+/* status values*/
+enum {
+ kError = -1,
+ kIterationDone = 0,
+ kSuccess = 1
+};
+