Subversion Repositories Kolibri OS

Rev

Rev 6712 | Rev 6790 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 6712 Rev 6758
Line 3668... Line 3668...
3668
Parameters:
3668
Parameters:
3669
  * eax = 69 - function number
3669
  * eax = 69 - function number
3670
  * ebx = 2 - subfunction number
3670
  * ebx = 2 - subfunction number
3671
  * ecx = thread identifier
3671
  * ecx = thread identifier
3672
  * edx = size of context structure, must be 0x28=40 bytes
3672
  * edx = size of context structure, must be 0x28=40 bytes
-
 
3673
  * esi -> context structure
3673
Returned value:
3674
Returned value:
3674
  * function does not return value
3675
  * function does not return value
3675
Format of context structure is shown in the description of
3676
Format of context structure is shown in the description of
3676
subfunction 1.
3677
subfunction 1.
3677
Remarks:
3678
Remarks:
Line 3853... Line 3854...
3853
  * +20 = +0x14: ?: path - zero terminated string
3854
  * +20 = +0x14: ?: path - zero terminated string
3854
  or
3855
  or
3855
  * +20 = +0x14: byte: 0
3856
  * +20 = +0x14: byte: 0
3856
  * +21 = +0x15: dword: pointer to string
3857
  * +21 = +0x15: dword: pointer to string
3857
Case sensitivity depends on filesystem.
3858
Case sensitivity depends on filesystem.
-
 
3859
If a path not begins with '/', it is considered a relative.
-
 
3860
To get or set the current folder, use the function 30.
-
 
3861
'../' in the beginning means a lift by one folder relatively current folder.
3858
To set the encoding, put at the start of the string a byte with next values:
3862
To set the encoding, put at the start of the string a byte with next values:
3859
  * 1 = cp866
3863
  * 1 = cp866
3860
  * 2 = UTF-16LE
3864
  * 2 = UTF-16LE
3861
  * 3 = UTF-8
3865
  * 3 = UTF-8
3862
  otherwise will be used cp866.
3866
  otherwise will be used cp866. In an absolute path
-
 
3867
  you may put this byte after the '/' or put an additional '/' before it.
3863
Format of filename:
3868
Format of an absolute path:
3864
  /base/number/dir1/dir2/.../dirn/file,
3869
  /base/number/dir1/dir2/.../dirn/file,
3865
where base/number identifies device, on which file is located:
3870
where base/number identifies device, on which file is located:
3866
  * RD/1 = ramdisk
3871
  * RD/1 = ramdisk
3867
  * FD/1 = first floppy drive,
3872
  * FD/1 = first floppy drive,
3868
    FD/2 = second floppy drive
3873
    FD/2 = second floppy drive
Line 3877... Line 3882...
3877
  * '/sys/example.asm',0
3882
  * '/sys/example.asm',0
3878
  * '/rd/1/example.asm',0
3883
  * '/rd/1/example.asm',0
3879
  * '/HD0/1/folder/file.txt',0
3884
  * '/HD0/1/folder/file.txt',0
3880
  * '/hd2/2/pics/tanzania.bmp',0
3885
  * '/hd2/2/pics/tanzania.bmp',0
3881
  * 2,'/',0,'sys','/',0,'F',0,'I',0,'L',0,'E',0,0,0
3886
  * 2,'/',0,'sys','/',0,'F',0,'I',0,'L',0,'E',0,0,0
3882
Also function supports relative names.  If the path begins not
-
 
3883
with '/', it is considered relative to a current folder. To get or
-
 
3884
set a current folder, use the function 30.
-
 
Line 3885... Line 3887...
3885
 
3887
 
3886
Available subfunctions:
3888
Available subfunctions:
3887
  * subfunction 0 - read file
3889
  * subfunction 0 - read file
3888
  * subfunction 1 - read folder
3890
  * subfunction 1 - read folder
Line 4092... Line 4094...
4092
  * +20 = +0x14: path, general rules of names forming
4094
  * +20 = +0x14: path, general rules of names forming
4093
Returned value:
4095
Returned value:
4094
  * eax = 0 - success, otherwise file system error code
4096
  * eax = 0 - success, otherwise file system error code
4095
  * ebx destroyed
4097
  * ebx destroyed
4096
Remarks:
4098
Remarks:
4097
  * If the new file size is less than old one, file is truncated.
4099
  * If new file size is less than old one, file will be truncated.
4098
    If the new size is greater than old one, file is expanded with
4100
    If new size is greater than old one, file will be expanded, and if
4099
    characters with code 0. If the new size is equal to old one,
-
 
4100
    the only result of call is set date/time of modification and
4101
    size difference is up to 16 MB, new space will be cleared with 0.
4101
    access to the current date/time.
-
 
4102
  * If there is not enough free space on disk for expansion, the
4102
  * If there is not enough free space on disk for expansion, the
4103
    function will expand to maximum possible size and then return
4103
    function will expand to maximum possible size and then return
4104
    error code 8.
4104
    error code 8.
4105
  * The function is not supported for CD (returns error code 2).
4105
  * The function is not supported for CD (returns error code 2).