home *** CD-ROM | disk | FTP | other *** search
/ Chip 2005 July / CHIP_CD_2005-07.iso / software / att / attsetup.exe / plugins / api / vc++ / plugins.h
Text File  |  2005-02-28  |  6KB  |  184 lines

  1. //
  2. // API for ATI Tray Tools
  3. // C++ version
  4. // (c) 2004 Ray Adams
  5. //
  6. //
  7. //
  8. //
  9. //
  10.  
  11. #define ATT_Sign 0x4154544C
  12.         //Plugin type
  13. #define        PL_STD 0       // standard plugin
  14. #define        PL_RunTime 1   //Run Time plugin
  15.  
  16. #define         atc_getversion 1
  17.         //Get ATT Version
  18.         //inData = 0
  19.         //outData pointer to word , hi byte - HI Version, low byte = Low version
  20.  
  21. #define        atc_getDriverRegKey 2
  22.         //Get currect registry path for catalyst driver
  23.         //inData=0
  24.         //outData = PChar,
  25.         //must be allocated in plugin and have enought space to store path, >=255 will be enought
  26.  
  27. #define        atc_IsLDInstalled 3
  28.         //Check if low lever driver was installed
  29.         //inData=0
  30.         //outData = pointer to byte
  31.         // 1 = yes
  32.         // 2 = no
  33.  
  34. #define        atc_inb 4
  35. #define        atc_inw 5
  36. #define        atc_ind 6
  37.         //read Byte/Word/Dword from port
  38.         //inData = pointer to TPortIO port
  39.         //outData = pointer to dword, result
  40. #define        atc_outb 7
  41. #define        atc_outw 8
  42. #define        atc_outd 9
  43.         //write Byte/Word/Dword to port
  44.         //inData = pointer to TPortIO record
  45.         //      port to write
  46.         //      value to write
  47.         //outData = pointer to dword, result
  48.  
  49. #define        atc_getPCIBusDataB 10
  50. #define        atc_getPCIBusDataW 11
  51. #define        atc_getPCIBusDataD 12
  52.  
  53.         //read Byte/Word/Dword from PCI registers
  54.         //inData = pointer to TPCIIO record
  55.         //     used only bus,device,func, offset
  56.         //outData = pointer to dword, result
  57.  
  58. #define        atc_getClocks 13
  59.         //read current clocks
  60.         //inData = 0
  61.         //outData = pointer to dword
  62.         //hi part : memory
  63.         //lo part : GPU
  64.  
  65. #define        atc_setClocks 14
  66.         //set clocks. PLEASE BE CAREFUL!!!
  67.         //inData = 0
  68.         //outData = pointer to dword (4 bytes)
  69.         //hi part : memory
  70.         //lo part : GPU
  71.  
  72. #define        atc_ReadDefaultClocks 15
  73.         //read default clocks from BIOS
  74.         //inData = 0
  75.         //outData = pointer to dword
  76.         //hi part : memory
  77.         //lo part : GPU
  78. #define        atc_MapMemory 16
  79.         //Map frame buffer from physical address space to linear
  80.         //inData = pointer to TMemoryMapping
  81.         //outData = pointer to dword (variable with address of mapped memory)
  82. #define        atc_UnMapMemory 17
  83.         //Unmap IO memory
  84.         //inData = pointer to variable returned by atc_MapMemory
  85.         //outData = 0
  86. #define        atc_MRRReadB 18
  87.         //Read byte from MMR
  88.         //inData = pointer to word as offset in MMR
  89.         //outDate = pointer to byte
  90. #define        atc_MRRReadW 19
  91.         //Read byte from MMR
  92.         //inData = pointer to word as offset in MMR
  93.         //outDate = pointer to word
  94. #define        atc_MRRReadD 20
  95.         //Read byte from MMR
  96.         //inData = pointer to word as offset in MMR
  97.         //outDate = pointer to dword
  98. #define        atc_MRRWriteB 21
  99.         //Writebyte from MMR
  100.         //inData = pointer to word as offset in MMR
  101.         //outDate = pointer to byte (value to write)
  102. #define        atc_MRRWriteW 22
  103.         //Write word to MMR
  104.         //inData = pointer to word as offset in MMR
  105.         //outDate = pointer to word (value to write)
  106. #define        atc_MRRWriteD 23
  107.         //Write dword to MMR
  108.         //inData = pointer to word as offset in MMR
  109.         //outDate = pointer to dword (value to write)
  110.  
  111. #define atc_setPCIBusDataB 24
  112. #define atc_setPCIBusDataW 25
  113. #define atc_setPCIBusDataD 26
  114.  
  115.         //write Byte/Word/Dword from PCI registers
  116.         //inData = pointer to TPCIIO record
  117.         //     used all values: bus,device,func, offset, value
  118.         //outData = nothing
  119.  
  120. #define  atc_VIDBusDataB 27
  121. #define  atc_VIDBusDataW 28
  122. #define  atc_VIDBusDataD 29
  123.         //Read registers from current video card
  124.         //inData - register
  125.         //outData - pointer to variable to receive value from registers
  126.  
  127.  
  128. #define  atc_tmsupport 30
  129.         //Read data from temperature sensore
  130.         //inData - void
  131.         //outData - pointer to TMonSuport struct
  132.  
  133. typedef struct tagTPortIO {
  134.          UINT port;
  135.          DWORD value;
  136. } TPortIO, *PPortIO;
  137.  
  138. typedef struct tagTPCIIO {
  139.          char bus,device,func,offset;
  140.          DWORD value;
  141. } TPCIIO, *PPCIIO;
  142.  
  143. typedef struct tagTPlugInfo {
  144.          DWORD Sign;    //std 4 chars to identify itself as a ATT plugin
  145.          char Menu_Text[51]; // text for menu
  146.          char PluginType; //type of plugin reserved must be PL_STD
  147. } TPlugInfo, *PPlugInfo;
  148.  
  149. typedef struct tagMemoryMapping {
  150.          DWORD addr; //address of memory for mapping
  151.          DWORD size; //size of memory to map
  152. } TMemoryMapping, *PMemoryMapping;
  153.  
  154. typedef struct tagTMonSuport {
  155.         DWORD SensorSupported;//0 if not supported
  156.         char SensorName[10]; //sensor name
  157.         DWORD TempGpu;
  158.         DWORD TempEnv;
  159.         DWORD FanDuty;
  160.  
  161. } TMonSuport, *PMonSuport;
  162.  
  163. typedef void (STDAPICALLTYPE*  lppget_plug_info)(PPlugInfo Data);
  164. typedef void (STDAPICALLTYPE*  lppatt_proc)(UINT ACommand, void* inData, void* outData);
  165. typedef void (STDAPICALLTYPE*  lppexec_plugin)(HWND Win_Handle, void* ATT_Proc);
  166.  
  167. //////////////////////////////////
  168. //Only for Run Time plugins
  169. //ATT Will execute this function before terminate.
  170. //////////////////////////////////
  171. typedef void (STDAPICALLTYPE*  lppdone_plugin)();
  172.  
  173. //////////////////////////////////
  174. //ATT will execute this function after resuming from suspend/hibernate mode
  175. //Plug-In must decide waht to do at this time.
  176. //if you don't need any actions just create dummy procedure
  177. //////////////////////////////////
  178. typedef void (STDAPICALLTYPE*  lppsuspend_restore)();
  179.  
  180. //////////////////////////////////
  181. //Run Configuration for plugin
  182. //////////////////////////////////
  183. typedef void (STDAPICALLTYPE*  lppconfig_plugin)();
  184.