Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

  1. #ifndef INCLUDE_LIBFS_H
  2. #define INCLUDE_LIBFS_H
  3. #print "[include <obj/fs.h>]\n"
  4.  
  5. #ifndef INCLUDE_KOLIBRI_H
  6. #include "../lib/kolibri.h"
  7. #endif
  8.  
  9. #ifndef INCLUDE_DLL_H
  10. #include "../lib/dll.h"
  11. #endif
  12.  
  13. :struct FILE_SYSTEM_FUNCTION
  14. {
  15.         dword remove_pointer;
  16.         byte remove(dword path);
  17.        
  18.         dword move_pointer;
  19.         byte move(dword path1,path2);
  20.        
  21.         dword copy_pointer;
  22.         byte copy(dword path1,path2);
  23.        
  24.         dword get_size_pointer;
  25.         qword get_size(dword path);
  26. } fs;
  27.  
  28. :byte FILE_SYSTEM_FUNCTION::remove(dword path)
  29. {
  30.         dword tmp = path;
  31.         remove_pointer stdcall(tmp);
  32.         return EAX;
  33. }
  34.  
  35. :qword FILE_SYSTEM_FUNCTION::get_size(dword path)
  36. {
  37.         dword tmp = path;
  38.         get_size_pointer stdcall(tmp);
  39.         return EAX;
  40. }
  41.  
  42. :byte FILE_SYSTEM_FUNCTION::move(dword path1,path2)
  43. {
  44.         dword tmp1 = path1;
  45.         dword tmp2 = path2;
  46.         move_pointer stdcall(tmp1,tmp2);
  47.         return EAX;
  48. }
  49.  
  50. :byte FILE_SYSTEM_FUNCTION::copy(dword path1,path2)
  51. {
  52.         dword tmp1 = path1;
  53.         dword tmp2 = path2;
  54.         copy_pointer stdcall(tmp1,tmp2);
  55.         return EAX;
  56. }
  57.  
  58. :void lib_init_fs()
  59. {
  60.         library.load("/sys/LIB/FS.OBJ");
  61.         fs.remove_pointer = library.get("fs.remove");
  62.         fs.get_size_pointer = library.get("fs.get_size");
  63.         fs.move_pointer = library.get("fs.move");
  64.         fs.copy_pointer = library.get("fs.copy");
  65.         //alert(itoa(fs.get_size("/sys/")));
  66. }
  67.  
  68. #endif