Subversion Repositories Kolibri OS

Rev

Rev 7291 | Rev 7774 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. #define MEMSIZE 0xA0000
  2. #include "..\lib\kolibri.h"
  3. #include "..\lib\mem.h"
  4. #include "..\lib\strings.h"
  5. #include "..\lib\fs.h"
  6.  
  7. #include "..\lib\dll.h"
  8. #include "..\lib\obj\libio.h"
  9. #include "..\lib\obj\libini.h"
  10.  
  11. #ifndef AUTOBUILD
  12. #include "lang.h--"
  13. #endif
  14.  
  15. /////////////////////////////////////////////////////////////////////////////////////////
  16. /////////////////////////              Program data                  ////////////////////
  17. /////////////////////////////////////////////////////////////////////////////////////////
  18.  
  19. struct ioctl_struct
  20. {
  21.         dword   handle;
  22.         dword   io_code;
  23.         dword   input;
  24.         dword   inp_size;
  25.         dword   output;
  26.         dword   out_size;
  27. };
  28.  
  29. #define DEV_ADD_DISK 1  //input = structure add_disk_struc
  30. #define DEV_DEL_DISK 2  //input = structure del_disk_struc
  31.  
  32. struct add_disk_struc
  33. {
  34.         dword DiskSize; // in sectors, 1 sector = 512 bytes. Include FAT service data
  35.         unsigned char DiskId; // from 0 to 9
  36. };
  37.  
  38. struct del_disk_struc
  39. {
  40.         unsigned char DiskId; //from 0 to 9
  41. };
  42.  
  43.  
  44. ioctl_struct ioctl;
  45. add_disk_struc add_disk;
  46. del_disk_struc del_disk;
  47.  
  48. int driver_handle;
  49.  
  50. dword disk_sizes[10];
  51.  
  52. _ini ini = { "/sys/settings/system.ini", "DiskSizes" };
  53.  
  54. /////////////////////////////////////////////////////////////////////////////////////////
  55. /////////////////////////                    Code                    ////////////////////
  56. /////////////////////////////////////////////////////////////////////////////////////////
  57. #include "t_console.c"
  58. #include "t_gui.c"
  59.  
  60.  
  61. void main()
  62. {  
  63.         driver_handle = LoadDriver("tmpdisk");
  64.         if (driver_handle==0)
  65.         {
  66.                 notify("'TmpDisk\nError: /rd1/1/drivers/tmpdisk.obj driver loading failed\nvirtual disk wouldn't be added' -tE");
  67.                 ExitProcess();
  68.         }
  69.  
  70.         GetDiskSizesFromIni();
  71.        
  72.         if (param)
  73.                 Console_Work();
  74.         else
  75.                 Main_Window();
  76.                
  77.         SaveDiskSizesToIni();
  78.         ExitProcess();
  79. }
  80.  
  81.  
  82. void GetDiskSizesFromIni()
  83. {
  84.         char i, key[2];
  85.         load_dll(libini, #lib_init, 1);
  86.         key[1]=0;
  87.         for (i=0; i<=9; i++)
  88.         {
  89.                 key[0]=i+'0';
  90.                 disk_sizes[i] = ini.GetInt(#key, 0);
  91.         }
  92. }
  93.  
  94. void SaveDiskSizesToIni()
  95. {
  96.         char i, key[2];
  97.         key[1]=0;
  98.         for (i=0; i<=9; i++)
  99.         {
  100.                 key[0]=i+'0';
  101.                 if (disk_sizes[i]) ini.SetInt(#key, disk_sizes[i]);
  102.         }
  103. }
  104.  
  105.  
  106. stop:
  107.