diff options
author | Adam <you@example.com> | 2020-05-17 05:51:50 +0200 |
---|---|---|
committer | Adam <you@example.com> | 2020-05-17 05:51:50 +0200 |
commit | e611b132f9b8abe35b362e5870b74bce94a1e58e (patch) | |
tree | a5781d2ec0e085eeca33cf350cf878f2efea6fe5 /private/ntos/tdi/isn/isnext/traverse.h | |
download | NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.gz NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.bz2 NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.lz NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.xz NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.zst NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.zip |
Diffstat (limited to 'private/ntos/tdi/isn/isnext/traverse.h')
-rw-r--r-- | private/ntos/tdi/isn/isnext/traverse.h | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/private/ntos/tdi/isn/isnext/traverse.h b/private/ntos/tdi/isn/isnext/traverse.h new file mode 100644 index 000000000..287b57a13 --- /dev/null +++ b/private/ntos/tdi/isn/isnext/traverse.h @@ -0,0 +1,55 @@ +#if !defined( INCLUDED_TRAVERSE_H ) +#define INCLUDED_TRAVERSE_H + +#define MAX_LIST_VARIABLE_NAME_LENGTH 200 + +typedef struct +{ + int StructureIndex; + int MemberIndex; + + ULONG prHeadContainingObject; + ULONG prHeadLinkage; + ULONG prCurrentLinkage; + int cCurrentElement; +} MEMBER_VARIABLE_INFO, *PMEMBER_VARIABLE_INFO; + +typedef VOID (*pfDumpStructure)( ULONG , VERBOSITY ); +typedef BOOL (*pfNextStructure)( ULONG Current, PULONG Next ); +typedef BOOL (*pfPrevStructure)( ULONG Current, PULONG Prev ); + +typedef struct +{ + PCHAR pchMemberName; + + LONG cbOffsetToHead; + + pfDumpStructure DumpStructure; + pfNextStructure Next; + pfPrevStructure Prev; + LONG cbOffsetToLink; + +} MEMBER_TABLE, *PMEMBER_TABLE; + +typedef struct +{ + PCHAR pchStructName; + PMEMBER_TABLE pMemberTable; + + pfDumpStructure DumpStructure; +} STRUCTURE_TABLE, *PSTRUCTURE_TABLE; + +BOOL ReadArgsForTraverse( const char *args, char *VarName ); +BOOL ReadMemberInfo( PMEMBER_VARIABLE_INFO pMemberInfo ); +BOOL WriteMemberInfo( PMEMBER_VARIABLE_INFO pMemberInfo ); +BOOL LocateMemberVariable( PCHAR pchStructName, PCHAR pchMemberName, PVOID pvStructure, PMEMBER_VARIABLE_INFO pMemberInfo ); + + +DECLARE_API( next ); +DECLARE_API( prev ); + +extern BOOL NextListEntry( ULONG Current, PULONG Next ); +extern BOOL PrevListEntry( ULONG Current, PULONG Prev ); + + +#endif |