home *** CD-ROM | disk | FTP | other *** search
/ Chip 2005 July / CHIP_CD_2005-07.iso / software / att / attsetup.exe / plugins / api / delphi / plugins.pas
Pascal/Delphi Source File  |  2005-02-28  |  6KB  |  173 lines

  1. //
  2. // API for ATI Tray Tools v1.01
  3. // Delphi version
  4. // (c) 2004 Ray Adams
  5. //
  6. //
  7. //
  8. //
  9. unit plugins;
  10.  
  11. interface
  12. uses windows;
  13. const ATT_Sign:dword=$4154544C;
  14. const
  15.         //Plugins type
  16.         PL_STD=0;// standard plugin
  17.         PL_RunTime=1;//Run Time plugin not implemented yet do not use 
  18.  
  19.         atc_getversion=1;
  20.         //Get ATT Version
  21.         //inData = 0
  22.         //outData pointer to word , hi byte - HI Version, low byte = Low version
  23.  
  24.         atc_getDriverRegKey=2;
  25.         //Get currect registry path for catalyst driver
  26.         //inData=0
  27.         //outData = PChar,
  28.         //Must be allocated in plug-in and have enough space to store path, >=255 will be enough
  29.  
  30.         atc_IsLDInstalled=3;
  31.         //Check if low lever driver was installed
  32.         //inData=0
  33.         //outData = pointer to byte
  34.         // 1 = yes
  35.         // 2 = no
  36.  
  37.         atc_inb=4;
  38.         atc_inw=5;
  39.         atc_ind=6;
  40.         //read Byte/Word/Dword from port
  41.         //inData = pointer to TPortIO port
  42.         //outData = pointer to dword, result
  43.         atc_outb=7;
  44.         atc_outw=8;
  45.         atc_outd=9;
  46.         //write Byte/Word/Dword to port
  47.         //inData = pointer to TPortIO record
  48.         //      port to write
  49.         //      value to write
  50.         //outData = pointer to dword, result
  51.  
  52.         atc_getPCIBusDataB=10;
  53.         atc_getPCIBusDataW=11;
  54.         atc_getPCIBusDataD=12;
  55.  
  56.         //read Byte/Word/Dword from PCI registers
  57.         //inData = pointer to TPCIIO record
  58.         //     used only bus,device,func, offset
  59.         //outData = pointer to dword, result
  60.  
  61.         atc_getClocks=13;
  62.         //read current clocks
  63.         //inData = 0
  64.         //outData = pointer to dword
  65.         //hi part : memory
  66.         //lo part : GPU
  67.  
  68.         atc_setClocks=14;
  69.         //set clocks. PLEASE BE CAREFUL!!!
  70.         //inData = pointer to dword (4 bytes)
  71.         //hi part : memory
  72.         //lo part : GPU
  73.         // outData=0
  74.         atc_ReadDefaultClocks=15;
  75.         //read default clocks from BIOS
  76.         //inData = 0
  77.         //outData = pointer to dword
  78.         //hi part : memory
  79.         //lo part : GPU
  80.         atc_MapMemory=16;
  81.         //Map frame buffer from physical address space to linear
  82.         //inData = pointer to TMemoryMapping
  83.         //outData = pointer to dword (variable with address of mapped memory)
  84.         atc_UnMapMemory=17;
  85.         //Unmap IO memory
  86.         //inData = pointer to variable returned by atc_MapMemory
  87.         //outData = 0
  88.         atc_MRRReadB=18;
  89.         //Read byte from MMR
  90.         //inData = pointer to word as offset in MMR
  91.         //outDate = pointer to byte
  92.         atc_MRRReadW=19;
  93.         //Read byte from MMR
  94.         //inData = pointer to word as offset in MMR
  95.         //outDate = pointer to word
  96.         atc_MRRReadD=20;
  97.         //Read byte from MMR
  98.         //inData = pointer to word as offset in MMR
  99.         //outDate = pointer to dword
  100.         atc_MRRWriteB=21;
  101.         //Writebyte from MMR
  102.         //inData = pointer to word as offset in MMR
  103.         //outDate = pointer to byte (value to write)
  104.         atc_MRRWriteW=22;
  105.         //Write word to MMR
  106.         //inData = pointer to word as offset in MMR
  107.         //outDate = pointer to word (value to write)
  108.         atc_MRRWriteD=23;
  109.         //Write dword to MMR
  110.         //inData = pointer to word as offset in MMR
  111.         //outDate = pointer to dword (value to write)
  112.  
  113.         atc_setPCIBusDataB=24;
  114.         atc_setPCIBusDataW=25;
  115.         atc_setPCIBusDataD=26;
  116.  
  117.         //write Byte/Word/Dword to PCI registers
  118.         //inData = pointer to TPCIIO record
  119.         //     used all values: bus,device,func, offset, value
  120.         //outData = nothing
  121.  
  122.         atc_VIDBusDataB=27;
  123.         atc_VIDBusDataW=28;
  124.         atc_VIDBusDataD=29;
  125.         //Read PCI registers from current video card
  126.         //inData - register
  127.         //outData - pointer to variable to receive value from registers
  128.         //Temperature monitoring
  129.         atc_tmsupport=30;
  130.         //inData - none
  131.         //outData - pointer to to TMonSupport record
  132.     type TPortIO=packed record
  133.          port:word;
  134.          value:dword;
  135.     end;
  136.     type TPCIIO=packed record
  137.          bus,device,func,offset:byte;
  138.          value:dword;
  139.     end;
  140.     type TMemoryMapping=packed record
  141.          addr:dword;
  142.          size:dword;
  143.          end;
  144.     type TPlugInfo=packed record
  145.          Sign:dword;//std 4 chars to identofy itself as a ATT plugin
  146.          Menu_Text:array[0..50] of char; // text for menu
  147.          PuginType:byte; //type of plugin reserved must be PL_STD
  148.     end;
  149.     type TMonSupport=packed record
  150.          SensorSupported:dword; //1 if supported
  151.          SensorName:array[0..10] of char; //sensor name (lm63, fintek)
  152.          TempGpu:dword;
  153.          TempEnv:dword;
  154.          FanDuty:dword;
  155.     end;
  156.     type PMonSupport=^TMonSupport;
  157.  
  158.     Tget_plug_info=procedure (var Info:TPlugInfo);stdcall;
  159.     Texec_plugin=procedure(Win_Handle:integer;ATT_Proc:Pointer);stdcall;
  160.     Tatt_proc=procedure (ACommand:longint;inData,outData:pointer);stdcall;
  161.     //Only for RunTime plugins
  162.     //This procedure will be executed by ATT before terminate
  163.     Tdone_plugin=procedure();stdcall;
  164.     //This procedure will be exceuted after restoring system from suspend/hibernate mode
  165.     //Plug-In must decide what to do at this time.
  166.     //if you don't need any actions just create dummy procedure
  167.     Tsuspend_restore=procedure();stdcall;
  168.     //Run Configuration for plugin
  169.     Tconfig_plugin=procedure();stdcall;
  170. implementation
  171.  
  172. end.
  173.