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.

134 lines
2.4 KiB

  1. /****** EDID.H ******/
  2. typedef struct
  3. {
  4. word DispWidth;
  5. word DispHeight;
  6. word RefreshRate;
  7. bool Support;
  8. Vidset VideoSet;
  9. } VesaSet;
  10. typedef struct
  11. {
  12. dword edi;
  13. dword esi;
  14. dword ebp;
  15. dword res;
  16. dword ebx;
  17. dword edx;
  18. dword ecx;
  19. dword eax;
  20. word flag;
  21. word es;
  22. word ds;
  23. word fs;
  24. word gs;
  25. word ip;
  26. word cs;
  27. word sp;
  28. word ss;
  29. } RealIntStruct;
  30. typedef struct
  31. {
  32. word pixel_clock;
  33. byte h_active;
  34. byte h_blanking;
  35. byte ratio_hor;
  36. byte v_active;
  37. byte v_blanking;
  38. byte ratio_vert;
  39. byte h_sync_offset;
  40. byte h_sync_pulse_width;
  41. byte ratio_sync;
  42. byte mix;
  43. byte h_image_size;
  44. byte v_image_size;
  45. byte ratio_image_size;
  46. byte h_border;
  47. byte v_border;
  48. byte flags;
  49. } DET_TIM;
  50. #ifdef WINDOWS_NT
  51. #pragma pack(1)
  52. #endif
  53. typedef struct
  54. {
  55. byte header[8];
  56. struct
  57. {
  58. word id_manufacture_name;
  59. word id_product_code;
  60. dword id_serial_number;
  61. byte week_of_manufacture;
  62. byte year_of_manufacture;
  63. } product_id;
  64. struct
  65. {
  66. byte version;
  67. byte revision;
  68. } edid_ver_rev;
  69. struct
  70. {
  71. byte video_input_definition;
  72. byte max_h_image_size;
  73. byte max_v_image_size;
  74. byte display_transfer_charac;
  75. byte feature_support_dpms;
  76. } features;
  77. struct
  78. {
  79. byte red_green_low_bits;
  80. byte blue_white_low_bits;
  81. byte redx;
  82. byte redy;
  83. byte greenx;
  84. byte greeny;
  85. byte bluex;
  86. byte bluey;
  87. byte whitex;
  88. byte whitey;
  89. } color_char;
  90. struct
  91. {
  92. byte est_timings_I;
  93. byte est_timings_II;
  94. byte man_res_timings;
  95. } established_timings;
  96. word standard_timing_id[8];
  97. DET_TIM detailed_timing[4];
  98. byte extension_flag;
  99. byte checksum;
  100. } EDID;
  101. #ifdef WINDOWS_NT
  102. #pragma pack( )
  103. #endif
  104. extern byte SupportDDC;
  105. extern VesaSet VesaParam[15];
  106. extern EDID DataEdid;
  107. extern bool IsCOMPAQDDCSupport(void);
  108. extern bool callInt15(byte *dest);
  109. extern bool FindCOMPAQBIOS(void);
  110. extern byte InDDCTable(dword DispWidth);
  111. extern byte ReportDDCcapabilities(void);
  112. extern byte ReadEdid(void);
  113. #if !defined(_WINDOWS_DLL16)
  114. extern word GetDDCIdentifier(dword bios32add);
  115. extern word GetCPQDDCDataEdid(void);
  116. #endif
  117. #ifndef WINDOWS_NT
  118. extern volatile byte _Far *setmgasel(dword MgaSel, dword phyadr, dword limit);
  119. #endif
  120. extern dword getmgasel(void);