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.

49 lines
1.8 KiB

  1. /*
  2. -- isymfile.h : from _isym.h : .sym file i/o
  3. */
  4. typedef WORD DPARA; /* PARA relative to start of file */
  5. /* * STANDARD .SYM FORMAT */
  6. /* For each symbol table (map): (MAPDEF) */
  7. typedef struct _smm
  8. {
  9. DPARA dparaSmmNext; /* 16 bit ptr to next map (0 if end) */
  10. WORD psLoad; /* ignored */
  11. WORD segEntry; /* ignored */
  12. WORD csyAbs; /* count of absolute symbols */
  13. WORD offRgpsmb; /* offset to table of symbol pointers */
  14. WORD cseg; /* # of executable segments */
  15. DPARA dparaSmsFirst; /* segment symbol chain */
  16. BYTE cchNameMax; /* max symbol name */
  17. char stName[1]; /* length prefixed name */
  18. } SMM; /* SyMbol MAP */
  19. #define cbSmmNoname (((SMM *)0)->stName)
  20. /* For each segment/group within a symbol table: (SEGDEF) */
  21. typedef struct _sms
  22. {
  23. DPARA dparaSmsNext; /* next segment (cyclic) */
  24. WORD csy; /* # of symbols */
  25. WORD offRgpsmb; /* offset to table of symbol pointers */
  26. WORD psLoad; /* ignored */
  27. WORD psLoad0; /* ignored */
  28. WORD psLoad1; /* ignored */
  29. WORD psLoad2; /* ignored */
  30. WORD psLoad3; /* ignored */
  31. DPARA dparaLinFirst; /* point to first line # */
  32. BYTE fLoaded; /* ignored */
  33. BYTE instCur; /* ignored */
  34. char stName[1]; /* length prefixed name */
  35. } SMS; /* SyMbol Segment */
  36. #define cbSmsNoname (unsigned int) (((SMS *)0)->stName)
  37. /* * End of symbol table */
  38. typedef struct _sme
  39. {
  40. DPARA dparaEnd; /* 0 */
  41. BYTE rel, ver; /* SYMBOL release, version */
  42. } SME; /* SyMbol End */