Subversion Repositories Kolibri OS

Rev

Rev 5883 | 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 read_pointer;
  19.         dword read(dword path);
  20.        
  21.         dword move_pointer;
  22.         byte move(dword path1,path2);
  23.        
  24.         dword copy_pointer;
  25.         byte copy(dword path1,path2);
  26.        
  27.         dword get_size_pointer;
  28.         qword get_size(dword path);
  29. } fs;
  30.  
  31. :byte FILE_SYSTEM_FUNCTION::remove(dword path)
  32. {
  33.         dword tmp = path;
  34.         remove_pointer stdcall(tmp);
  35.         return EAX;
  36. }
  37.  
  38. :dword FILE_SYSTEM_FUNCTION::read(dword path)
  39. {
  40.         dword tmp = path;
  41.         read_pointer stdcall(tmp);
  42.         return EAX;
  43. }
  44.  
  45. :qword FILE_SYSTEM_FUNCTION::get_size(dword path)
  46. {
  47.         dword tmp = path;
  48.         get_size_pointer stdcall(tmp);
  49.         return EAX;
  50. }
  51.  
  52. :byte FILE_SYSTEM_FUNCTION::move(dword path1,path2)
  53. {
  54.         dword tmp1 = path1;
  55.         dword tmp2 = path2;
  56.         move_pointer stdcall(tmp1,tmp2);
  57.         return EAX;
  58. }
  59.  
  60. :byte FILE_SYSTEM_FUNCTION::copy(dword path1,path2)
  61. {
  62.         dword tmp1 = path1;
  63.         dword tmp2 = path2;
  64.         copy_pointer stdcall(tmp1,tmp2);
  65.         return EAX;
  66. }
  67.  
  68. :byte __CHECK_FS__ = 0;
  69. :void lib_init_fs()
  70. {
  71.         IF(__CHECK_FS__)return;
  72.         library.load("/sys/LIB/FS.OBJ");
  73.         fs.remove_pointer = library.get("fs.remove");
  74.         fs.get_size_pointer = library.get("fs.get_size");
  75.         fs.move_pointer = library.get("fs.move");
  76.         fs.copy_pointer = library.get("fs.copy");
  77.         fs.read_pointer = library.get("fs.read");
  78.         __CHECK_FS__ = true;
  79. }
  80.  
  81. #endif