Subversion Repositories Kolibri OS

Rev

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: