Rev 142 | Rev 180 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 142 | Rev 147 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | SYSTEM FUNCTIONS of OS Kolibri 0.5.8.1 |
1 | SYSTEM FUNCTIONS of OS Kolibri 0.6.0.0 |
Line 2... | Line 2... | ||
2 | 2 | ||
3 | Number of the function is located in the register eax. |
3 | Number of the function is located in the register eax. |
4 | The call of the system function is executed by "int 0x40" command. |
4 | The call of the system function is executed by "int 0x40" command. |
5 | All registers except explicitly declared in the returned value, |
5 | All registers except explicitly declared in the returned value, |
Line 872... | Line 872... | ||
872 | * function does not return value |
872 | * function does not return value |
873 | Structure of the buffer: |
873 | Structure of the buffer: |
874 | db a,b,c,d for version a.b.c.d |
874 | db a,b,c,d for version a.b.c.d |
875 | db UID_xxx: one of UID_NONE=0, UID_MENUET=1, UID_KOLIBRI=2 |
875 | db UID_xxx: one of UID_NONE=0, UID_MENUET=1, UID_KOLIBRI=2 |
876 | db 'name',0 - ASCIIZ-string with the name |
876 | db 'name',0 - ASCIIZ-string with the name |
877 | For Kolibri 0.5.8.1 kernel: |
877 | For Kolibri 0.6.0.0 kernel: |
878 | db 0,5,8,1 |
878 | db 0,6,0,0 |
879 | db 2 |
879 | db 2 |
880 | db 'Kolibri',0 |
880 | db 'Kolibri',0 |
Line 881... | Line 881... | ||
881 | 881 | ||
882 | ====================================================================== |
882 | ====================================================================== |
Line 999... | Line 999... | ||
999 | its call find out current screen resolution (with function 14) |
999 | its call find out current screen resolution (with function 14) |
1000 | and check that the value of position is inside the limits of the |
1000 | and check that the value of position is inside the limits of the |
1001 | screen. |
1001 | screen. |
Line 1002... | Line 1002... | ||
1002 | 1002 | ||
1003 | ====================================================================== |
- | |
1004 | ============ Function 19 - start application from ramdisk. =========== |
- | |
1005 | ====================================================================== |
- | |
1006 | Parameters: |
- | |
1007 | * eax = 19 - function number |
- | |
1008 | * ebx = pointer to the application name in format similar |
- | |
1009 | to function 6 |
- | |
1010 | * ecx = 0 or ecx = pointer to command line parameters |
- | |
1011 | Returned value: |
- | |
1012 | * If eax > 0, then eax contains PID of the created process |
- | |
1013 | * If eax < 0, then -eax - file system error code |
- | |
1014 | Remarks: |
- | |
1015 | * This function is obsolete; use subfunction 7 of function 70. |
- | |
1016 | * Command line must be terminated by the character with the code 0 |
- | |
1017 | (ASCIIZ-string); function takes into account either all characters |
- | |
1018 | up to terminating zero inclusively or first 256 character |
- | |
1019 | regarding what is less. |
- | |
1020 | - | ||
1021 | ====================================================================== |
1003 | ====================================================================== |
1022 | ==================== Function 20 - MIDI interface. =================== |
1004 | ==================== Function 20 - MIDI interface. =================== |
Line 1023... | Line 1005... | ||
1023 | ====================================================================== |
1005 | ====================================================================== |
1024 | 1006 | ||
Line 2895... | Line 2877... | ||
2895 | * subfunction 2 - delete file/folder |
2877 | * subfunction 2 - delete file/folder |
2896 | * subfunction 4 - make folder |
2878 | * subfunction 4 - make folder |
2897 | * subfunction 5 - rename/move file/folder |
2879 | * subfunction 5 - rename/move file/folder |
2898 | * subfunction 8 - LBA-read from device |
2880 | * subfunction 8 - LBA-read from device |
2899 | * subfunction 15 - get file system information |
2881 | * subfunction 15 - get file system information |
2900 | * subfunction 16 - start application |
- | |
Line 2901... | Line 2882... | ||
2901 | 2882 | ||
2902 | ====================================================================== |
2883 | ====================================================================== |
2903 | =========== Function 58, subfunction 0 - read file/folder. =========== |
2884 | =========== Function 58, subfunction 0 - read file/folder. =========== |
2904 | ====================================================================== |
2885 | ====================================================================== |
Line 3154... | Line 3135... | ||
3154 | of disk subsystem it is possible to deduce cluster size (there |
3135 | of disk subsystem it is possible to deduce cluster size (there |
3155 | it is stored in sectors) and total number of clusters |
3136 | it is stored in sectors) and total number of clusters |
3156 | for hard disks. |
3137 | for hard disks. |
Line 3157... | Line 3138... | ||
3157 | 3138 | ||
3158 | ====================================================================== |
- | |
3159 | ========== Function 58, subfunction 16 - start application. ========== |
- | |
3160 | ====================================================================== |
- | |
3161 | Parameters: |
- | |
3162 | * eax = 58 - function number |
- | |
3163 | * ebx = pointer to the information structure |
- | |
3164 | Format of the information structure: |
- | |
3165 | * +0: dword: 16 = subfunction number |
- | |
3166 | * +4: dword: flags: |
- | |
3167 | * bit 0: start the process as debugged |
- | |
3168 | * other bits are reserved and must be cleared |
- | |
3169 | * +8: dword: 0 or pointer to ASCIIZ-string with parameters |
- | |
3170 | * +12 = +0xC: dword: ignored |
- | |
3171 | * +16 = +0x10: dword: pointer to buffer for system operations |
- | |
3172 | (4096 bytes) |
- | |
3173 | * +20 = +0x14: ASCIIZ-name of file, the rules of names forming are |
- | |
3174 | given in the general description |
- | |
3175 | Returned value: |
- | |
3176 | * eax > 0 - the program is loaded, eax contains PID |
- | |
3177 | * eax < 0 - an error has occured, -eax contains |
- | |
3178 | file system error code |
- | |
3179 | Remarks: |
- | |
3180 | * This function is obsolete, use subfunction 7 of function 70. |
- | |
3181 | * Command line must be terminated by character with code 0 |
- | |
3182 | (ASCIIZ-string); function takes into account either all characters |
- | |
3183 | up to terminating null inclusively or the first 256 charachters |
- | |
3184 | depending on what is less. |
- | |
3185 | * If the process is started as debugged, it is created in |
- | |
3186 | the suspended state; to run use subfunction 5 of function 69. |
- | |
3187 | - | ||
3188 | ====================================================================== |
3139 | ====================================================================== |
3189 | =============== Function 59 - trace last system calls. =============== |
3140 | =============== Function 59 - trace last system calls. =============== |
3190 | ====================================================================== |
3141 | ====================================================================== |
3191 | Gets data on all system calls of all processes. |
3142 | Gets data on all system calls of all processes. |
3192 | Parameters: |
3143 | Parameters: |