Leaked source code of windows server 2003
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.

107 lines
1.9 KiB

  1. /*++
  2. Copyright (c) 1995 Microsoft Corporation
  3. Module Name:
  4. pdb.h
  5. Abstract:
  6. This header file contains typedefs and prototypes
  7. necessary for accessing pdb files thru the msvc pdb dll.
  8. Revision History:
  9. --*/
  10. #ifdef __cplusplus
  11. extern "C" {
  12. #endif
  13. __inline
  14. char *
  15. DataSymNameStart(
  16. DATASYM32 *dataSym
  17. )
  18. {
  19. switch (dataSym->rectyp) {
  20. case S_LDATA32_16t:
  21. case S_GDATA32_16t:
  22. case S_PUB32_16t:
  23. return (char *)&((DATASYM32_16t *)dataSym)->name[1];
  24. case S_LDATA32:
  25. case S_GDATA32:
  26. case S_PUB32:
  27. default:
  28. return (char *)&((DATASYM32 *)dataSym)->name[1];
  29. }
  30. }
  31. __inline
  32. unsigned char
  33. DataSymNameLength(
  34. DATASYM32 *dataSym
  35. )
  36. {
  37. switch (dataSym->rectyp) {
  38. case S_LDATA32_16t:
  39. case S_GDATA32_16t:
  40. case S_PUB32_16t:
  41. return(((DATASYM32_16t *)dataSym)->name[0]);
  42. case S_LDATA32:
  43. case S_GDATA32:
  44. case S_PUB32:
  45. default:
  46. return(((DATASYM32 *)dataSym)->name[0]);
  47. }
  48. }
  49. __inline
  50. unsigned short
  51. DataSymSeg(
  52. DATASYM32 *dataSym
  53. )
  54. {
  55. switch (dataSym->rectyp) {
  56. case S_LDATA32_16t:
  57. case S_GDATA32_16t:
  58. case S_PUB32_16t:
  59. return(((DATASYM32_16t *)dataSym)->seg);
  60. case S_LDATA32:
  61. case S_GDATA32:
  62. case S_PUB32:
  63. default:
  64. return(((DATASYM32 *)dataSym)->seg);
  65. }
  66. }
  67. __inline
  68. unsigned long
  69. DataSymOffset(
  70. DATASYM32 *dataSym
  71. )
  72. {
  73. switch (dataSym->rectyp) {
  74. case S_LDATA32_16t:
  75. case S_GDATA32_16t:
  76. case S_PUB32_16t:
  77. return(((DATASYM32_16t *)dataSym)->off);
  78. case S_LDATA32:
  79. case S_GDATA32:
  80. case S_PUB32:
  81. default:
  82. return(((DATASYM32 *)dataSym)->off);
  83. }
  84. }
  85. #ifdef __cplusplus
  86. }
  87. #endif