Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

55 lines
1.3 KiB

  1. #if !defined( INCLUDED_TRAVERSE_H )
  2. #define INCLUDED_TRAVERSE_H
  3. #define MAX_LIST_VARIABLE_NAME_LENGTH 200
  4. typedef struct
  5. {
  6. int StructureIndex;
  7. int MemberIndex;
  8. ULONG prHeadContainingObject;
  9. ULONG prHeadLinkage;
  10. ULONG prCurrentLinkage;
  11. int cCurrentElement;
  12. } MEMBER_VARIABLE_INFO, *PMEMBER_VARIABLE_INFO;
  13. typedef VOID (*pfDumpStructure)( ULONG , VERBOSITY );
  14. typedef BOOL (*pfNextStructure)( ULONG Current, PULONG Next );
  15. typedef BOOL (*pfPrevStructure)( ULONG Current, PULONG Prev );
  16. typedef struct
  17. {
  18. PCHAR pchMemberName;
  19. LONG cbOffsetToHead;
  20. pfDumpStructure DumpStructure;
  21. pfNextStructure Next;
  22. pfPrevStructure Prev;
  23. LONG cbOffsetToLink;
  24. } MEMBER_TABLE, *PMEMBER_TABLE;
  25. typedef struct
  26. {
  27. PCHAR pchStructName;
  28. PMEMBER_TABLE pMemberTable;
  29. pfDumpStructure DumpStructure;
  30. } STRUCTURE_TABLE, *PSTRUCTURE_TABLE;
  31. BOOL ReadArgsForTraverse( const char *args, char *VarName );
  32. BOOL ReadMemberInfo( PMEMBER_VARIABLE_INFO pMemberInfo );
  33. BOOL WriteMemberInfo( PMEMBER_VARIABLE_INFO pMemberInfo );
  34. BOOL LocateMemberVariable( PCHAR pchStructName, PCHAR pchMemberName, PVOID pvStructure, PMEMBER_VARIABLE_INFO pMemberInfo );
  35. DECLARE_API( next );
  36. DECLARE_API( prev );
  37. extern BOOL NextListEntry( ULONG Current, PULONG Next );
  38. extern BOOL PrevListEntry( ULONG Current, PULONG Prev );
  39. #endif