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). |