2015-12-22 19:38:06 +03:00
|
|
|
|
|
|
|
; KolibriOS system functions:
|
|
|
|
SF_TERMINATE_PROCESS=-1
|
|
|
|
SF_CREATE_WINDOW=0 ; define and draw the window
|
|
|
|
SF_PUT_PIXEL=1 ; draw pixel to the window
|
|
|
|
SF_GET_KEY=2 ; get code of the pressed key
|
|
|
|
SF_GET_SYS_TIME=3
|
|
|
|
SF_DRAW_TEXT=4
|
|
|
|
SF_SLEEP=5 ; pause process
|
|
|
|
SF_PUT_IMAGE=7 ; draw image to the window
|
|
|
|
SF_DEFINE_BUTTON=8 ; define/delete the button
|
|
|
|
SF_THREAD_INFO=9 ; information on execution thread
|
|
|
|
SF_WAIT_EVENT=10 ; wait for event
|
|
|
|
SF_CHECK_EVENT=11 ; check for event and return
|
|
|
|
SF_REDRAW=12
|
|
|
|
SSF_BEGIN_DRAW=1
|
|
|
|
SSF_END_DRAW=2
|
|
|
|
SF_DRAW_RECT=13 ; draw rectangle to the window
|
|
|
|
SF_GET_SCREEN_SIZE=14 ; get screen resolution
|
2017-10-26 23:17:02 +03:00
|
|
|
SF_BACKGROUND_SET=15 ; work with desktop background graphics
|
|
|
|
SSF_SIZE_BG=1 ; set a size of the background image
|
|
|
|
SSF_PIXEL_BG=2 ; put pixel on the background image
|
|
|
|
SSF_REDRAW_BG=3 ; redraw background
|
|
|
|
SSF_MODE_BG=4 ; set drawing mode for the background
|
|
|
|
SSF_IMAGE_BG=5 ; put block of pixels on the background image
|
2015-12-22 19:38:06 +03:00
|
|
|
SSF_MAP_BG=6 ; map background image to the address space of the process
|
2017-10-26 23:17:02 +03:00
|
|
|
SSF_UNMAP_BG=7 ; close mapped background data
|
2015-12-22 19:38:06 +03:00
|
|
|
SSF_LAST_DRAW=8 ; get coordinates of the last draw to the background
|
|
|
|
SSF_REDRAW_RECT=9 ; redraws a rectangular part of the background
|
|
|
|
SF_RD_TO_FLOPPY=16 ; save ramdisk on the floppy
|
|
|
|
SF_GET_BUTTON=17 ; get ID of the pressed button
|
|
|
|
SF_SYSTEM=18
|
|
|
|
SSF_UNFOCUS_WINDOW=1 ; take focus from the window of the given thread
|
|
|
|
SSF_TERMINATE_THREAD=2 ; terminate process/thread by the slot number
|
|
|
|
SSF_FOCUS_WINDOW=3 ; give focus to the window of the given thread
|
|
|
|
SSF_GET_IDLE_COUNT=4 ; get counter of idle cycles per second
|
2016-11-07 01:37:32 +03:00
|
|
|
SSF_GET_CPU_FREQUENCY=5 ; get CPU clock rate
|
2015-12-22 19:38:06 +03:00
|
|
|
SSF_RD_TO_HDD=6 ; save ramdisk to the file on hard disk
|
|
|
|
SSF_GET_ACTIVE_WINDOW=7 ; get slot number of the active window
|
|
|
|
SSF_SPEAKER=8
|
|
|
|
SSSF_GET_STATE=1
|
|
|
|
SSSF_TOGGLE=2
|
|
|
|
SSF_SHUTDOWN=9 ; system shutdown/reboot
|
|
|
|
SSF_MINIMIZE_WINDOW=10 ; minimize active window
|
|
|
|
SSF_INFO_DISC_SYS=11 ; get disk subsystem information
|
|
|
|
SSF_KERNEL_VERSION=13 ; get kernel version
|
|
|
|
SSF_WAIT_RETRACE=14 ; wait for screen retrace
|
|
|
|
SSF_CURSOR_CENTER=15 ; center mouse cursor on the screen
|
|
|
|
SSF_GET_FREE_RAM=16 ; get size of free RAM
|
|
|
|
SSF_GET_TOTAL_RAM=17 ; get total amount of RAM
|
|
|
|
SSF_TERMINATE_THREAD_ID=18 ; Terminate process/thread by the ID
|
|
|
|
SSF_MOUSE_SETTINGS=19
|
|
|
|
SSSF_GET_SPEED=0
|
|
|
|
SSSF_SET_SPEED=1
|
|
|
|
SSSF_GET_SPEEDUP=2
|
|
|
|
SSSF_SET_SPEEDUP=3 ; set mouse acceleration
|
|
|
|
SSSF_SET_POS=4 ; set mouse pointer position
|
|
|
|
SSSF_SET_BUTTON=5 ; simulate state of mouse buttons
|
|
|
|
SSSF_GET_DOUBLE_CLICK_DELAY=6
|
|
|
|
SSSF_SET_DOUBLE_CLICK_DELAY=7
|
|
|
|
SSF_GET_RAM_INFO=20 ; get information on RAM
|
|
|
|
SSF_GET_THREAD_SLOT=21 ; get slot number of process/thread by the ID
|
|
|
|
SSF_FOREIGN_WINDOW=22 ; operations with window of another thread by slot/ID
|
|
|
|
SSSF_MINIMIZE=0
|
|
|
|
SSSF_MINIMIZE_ID=1
|
|
|
|
SSSF_RESTORE=2
|
|
|
|
SSSF_RESTORE_ID=3
|
|
|
|
SSF_MINIMIZE_ALL=23
|
|
|
|
SSF_SET_SCREEN_LIMITS=24
|
|
|
|
SSF_WINDOW_BEHAVIOR=25 ; window focus relation with other windows
|
|
|
|
SSSF_GET_WB=1
|
|
|
|
SSSF_SET_WB=2
|
|
|
|
SF_MIDI=20
|
|
|
|
SSF_RESET=1
|
|
|
|
SSF_OUTPUT=2
|
|
|
|
SF_SYSTEM_SET=21
|
|
|
|
SSF_MPU_MIDI_BASE=1
|
|
|
|
SSF_KEYBOARD_LAYOUT=2
|
|
|
|
SSF_SYS_LANG=5
|
|
|
|
SSF_ACCESS_HD_LBA=11 ; setting of low-level access to HD
|
|
|
|
SSF_ACCESS_PCI=12 ; setting of low-level access to PCI
|
|
|
|
SF_SET_TIME_DATE=22
|
|
|
|
SF_WAIT_EVENT_TIMEOUT=23; wait for event with timeout
|
|
|
|
SF_CD=24
|
|
|
|
SSF_EJECT_TRAY=4
|
|
|
|
SSF_INSERT_TRAY=5
|
|
|
|
SF_SCREEN_PUT_IMAGE=25 ; put image on the background layer
|
|
|
|
SF_SYSTEM_GET=26
|
|
|
|
; Same as SF_SYSTEM_SET, plus:
|
|
|
|
SSF_TIME_COUNT=9
|
|
|
|
SSF_TIME_COUNT_PRO=10 ; get value of the high precision time counter
|
|
|
|
SF_GET_SYS_DATE=29
|
|
|
|
SF_CURRENT_FOLDER=30
|
|
|
|
SSF_SET_CF=1 ; set current folder for the thread
|
|
|
|
SSF_GET_CF=2
|
|
|
|
SSF_ADD_SYS_FOLDER=3 ; install the add.system directory for the kernel
|
|
|
|
SF_GET_PIXEL_OWNER=34 ; get slot number of the screen pixel owner
|
|
|
|
SF_GET_PIXEL=35 ; read the screen pixel color
|
|
|
|
SF_GET_IMAGE=36 ; read the screen area
|
|
|
|
SF_MOUSE_GET=37
|
|
|
|
SSF_SCREEN_POSITION=0
|
|
|
|
SSF_WINDOW_POSITION=1
|
|
|
|
SSF_BUTTON=2 ; states of the mouse buttons
|
|
|
|
SSF_BUTTON_EXT=3 ; states and events of the mouse buttons
|
|
|
|
SSF_LOAD_CURSOR=4
|
|
|
|
SSF_SET_CURSOR=5
|
|
|
|
SSF_DEL_CURSOR=6
|
|
|
|
SSF_SCROLL_DATA=7
|
|
|
|
SF_DRAW_LINE=38
|
|
|
|
SF_BACKGROUND_GET=39
|
|
|
|
;SSF_SIZE_BG=1
|
|
|
|
;SSF_PIXEL_BG=2
|
|
|
|
;SSF_MODE_BG=4
|
|
|
|
SF_SET_EVENTS_MASK=40 ; turn on/off desired events
|
|
|
|
SF_PORT_IN_OUT=43 ; input/output to a port
|
|
|
|
SF_SET_PORTS=46 ; reserve/free a group of input/output ports
|
|
|
|
SF_DRAW_NUMBER=47 ; draw number to the window
|
|
|
|
SF_STYLE_SETTINGS=48
|
|
|
|
SSF_APPLY=0 ; apply screen settings
|
|
|
|
SSF_SET_BUTTON_STYLE=1
|
|
|
|
SSF_SET_COLORS=2
|
|
|
|
SSF_GET_COLORS=3 ; get standard window colors
|
|
|
|
SSF_GET_SKIN_HEIGHT=4
|
|
|
|
SSF_GET_SCREEN_AREA=5 ; get screen working area
|
|
|
|
SSF_SET_SCREEN_AREA=6
|
|
|
|
SSF_GET_SKIN_MARGINS=7
|
|
|
|
SSF_SET_SKIN=8
|
|
|
|
SSF_GET_FONT_SMOOTH=9
|
|
|
|
SSF_SET_FONT_SMOOTH=10
|
|
|
|
SSF_GET_FONT_SIZE=11
|
|
|
|
SSF_SET_FONT_SIZE=12
|
|
|
|
SF_APM=49
|
|
|
|
SF_SET_WINDOW_SHAPE=50
|
|
|
|
SF_CREATE_THREAD=51
|
|
|
|
SF_CLIPBOARD=54
|
|
|
|
SSF_GET_SLOT_COUNT=0 ; get the number of slots in the clipboard
|
|
|
|
SSF_READ_CB=1
|
|
|
|
SSF_WRITE_CB=2
|
|
|
|
SSF_DEL_SLOT=3 ; delete the last slot in the clipboard
|
|
|
|
SSF_UNLOCK_BUFFER=4 ; emergency buffer unlock
|
|
|
|
SF_SPEAKER_PLAY=55
|
|
|
|
SF_PCI_BIOS=57
|
|
|
|
SF_IPC=60 ; Inter Process Communication
|
|
|
|
SSF_SET_AREA=1 ; set area for IPC receiving
|
|
|
|
SSF_SEND_MESSAGE=2
|
|
|
|
SF_GET_GRAPHICAL_PARAMS=61
|
|
|
|
SSF_SCREEN_SIZE=1
|
|
|
|
SSF_BITS_PER_PIXEL=2
|
|
|
|
SSF_BYTES_PER_LINE=3
|
|
|
|
SF_PCI=62
|
|
|
|
SSF_GET_VERSION=0 ; get version of PCI-interface
|
|
|
|
SSF_GET_LAST_BUS=1 ; get number of the last PCI-bus
|
|
|
|
SSF_GET_ADRR_MODE=2 ; get addressing mode of the PCI configuration space
|
|
|
|
SSF_READ_BYTE=4
|
|
|
|
SSF_READ_WORD=5
|
|
|
|
SSF_READ_DWORD=6
|
|
|
|
SSF_WRITE_BYTE=8
|
|
|
|
SSF_WRITE_WORD=9
|
|
|
|
SSF_WRITE_DWORD=10
|
|
|
|
SF_BOARD=63
|
|
|
|
SSF_DEBUG_WRITE=1
|
|
|
|
SSF_DEBUG_READ=2
|
|
|
|
SF_MEMORY_RESIZE=64 ; resize total application memory
|
|
|
|
SF_PUT_IMAGE_EXT=65 ; draw image with palette to the window
|
|
|
|
SF_KEYBOARD=66
|
|
|
|
SSF_SET_INPUT_MODE=1
|
|
|
|
SSF_GET_INPUT_MODE=2
|
|
|
|
SSF_GET_CONTROL_KEYS=3; get status of control keys
|
|
|
|
SSF_SET_SYS_HOTKEY=4
|
|
|
|
SSF_DEL_SYS_HOTKEY=5
|
|
|
|
SSF_LOCK_INPUT=6 ; block normal input
|
|
|
|
SSF_UNLOCK_INPUT=7 ; restore normal input
|
|
|
|
SF_CHANGE_WINDOW=67 ; change position/sizes of the window
|
|
|
|
SF_SYS_MISC=68
|
|
|
|
SSF_GET_TASK_SWITCH_COUNT=0
|
|
|
|
SSF_SWITCH_TASK=1
|
|
|
|
SSF_PERFORMANCE=2
|
|
|
|
SSSF_ALLOW_RDPMC=0
|
|
|
|
SSSF_CACHE_STATUS=1
|
|
|
|
SSSF_CACHE_ON=2
|
|
|
|
SSSF_CACHE_OFF=3
|
|
|
|
SSF_READ_MSR=3
|
|
|
|
SSF_WRITE_MSR=4
|
|
|
|
SSF_HEAP_INIT=11
|
|
|
|
SSF_MEM_ALLOC=12
|
|
|
|
SSF_MEM_FREE=13
|
|
|
|
SSF_WAIT_SIGNAL=14 ; wait for signal from another program/driver
|
|
|
|
SSF_LOAD_DRIVER=16
|
|
|
|
SSF_CONTROL_DRIVER=17
|
|
|
|
SSF_LOAD_DLL=19
|
|
|
|
SSF_MEM_REALLOC=20
|
|
|
|
SSF_LOAD_DRIVER_PE=21
|
|
|
|
SSF_MEM_OPEN=22 ; open named memory area
|
|
|
|
SSF_MEM_CLOSE=23
|
|
|
|
SSF_SET_EXCEPTION_HANDLER=24
|
|
|
|
SSF_SET_EXCEPTION_STATE=25
|
|
|
|
SSF_MEM_FREE_EXT=26
|
|
|
|
SSF_LOAD_FILE=27
|
|
|
|
SF_DEBUG=69
|
|
|
|
SSF_SET_MESSAGE_AREA=0
|
|
|
|
SSF_GET_REGISTERS=1
|
|
|
|
SSF_SET_REGISTERS=2
|
|
|
|
SSF_DETACH=3
|
|
|
|
SSF_SUSPEND=4
|
|
|
|
SSF_RESUME=5
|
|
|
|
SSF_READ_MEMORY=6
|
|
|
|
SSF_WRITE_MEMORY=7
|
|
|
|
SSF_TERMINATE=8
|
|
|
|
SSF_DEFINE_BREAKPOINT=9
|
|
|
|
SF_FILE=70
|
|
|
|
SSF_READ_FILE=0
|
|
|
|
SSF_READ_FOLDER=1
|
|
|
|
SSF_CREATE_FILE=2
|
|
|
|
SSF_WRITE_FILE=3
|
|
|
|
SSF_SET_END=4
|
|
|
|
SSF_GET_INFO=5
|
|
|
|
SSF_SET_INFO=6
|
|
|
|
SSF_START_APP=7
|
|
|
|
SSF_DELETE=8
|
|
|
|
SSF_CREATE_FOLDER=9
|
|
|
|
SF_SET_CAPTION=71
|
|
|
|
SF_SEND_MESSAGE=72
|
|
|
|
SF_BLITTER=73
|
2019-08-25 22:06:21 +03:00
|
|
|
SF_NETWORK_DEVICE=74
|
2015-12-22 19:38:06 +03:00
|
|
|
SSF_DEVICE_COUNT=255 ; get number of active network devices
|
|
|
|
SSF_DEVICE_TYPE=0
|
|
|
|
SSF_DEVICE_NAME=1
|
|
|
|
SSF_RESET_DEVICE=2
|
|
|
|
SSF_STOP_DEVICE=3
|
2019-08-25 22:06:21 +03:00
|
|
|
SSF_DEVICE_POINTER=4
|
2015-12-22 19:38:06 +03:00
|
|
|
SSF_TX_PACKET_COUNT=6
|
|
|
|
SSF_RX_PACKET_COUNT=7
|
|
|
|
SSF_TX_BYTE_COUNT=8
|
|
|
|
SSF_RX_BYTE_COUNT=9
|
|
|
|
SSF_LINK_STATUS=10
|
2021-07-07 22:26:17 +03:00
|
|
|
SSF_TX_PACKET_ERROR_COUNT=11
|
|
|
|
SSF_TX_PACKET_DROP_COUNT=12
|
|
|
|
SSF_TX_PACKET_MISS_COUNT=13
|
|
|
|
SSF_RX_PACKET_ERROR_COUNT=14
|
|
|
|
SSF_RX_PACKET_DROP_COUNT=15
|
|
|
|
SSF_RX_PACKET_MISS_COUNT=16
|
2015-12-22 19:38:06 +03:00
|
|
|
SF_NETWORK_SOCKET=75
|
|
|
|
SSF_OPEN=0
|
|
|
|
SSF_CLOSE=1
|
|
|
|
SSF_BIND=2
|
|
|
|
SSF_LISTEN=3
|
|
|
|
SSF_CONNECT=4
|
|
|
|
SSF_ACCEPT=5
|
|
|
|
SSF_SEND=6
|
|
|
|
SSF_RECEIVE=7
|
|
|
|
SSF_SET_OPTIONS=8
|
|
|
|
SSF_GET_OPTIONS=9
|
2019-08-25 22:06:21 +03:00
|
|
|
SSF_SOCKET_PAIR=10
|
2015-12-22 19:38:06 +03:00
|
|
|
SF_NETWORK_PROTOCOL=76
|
|
|
|
SSF_ETHERNET_READ_MAC=0
|
|
|
|
SSF_IP4_PACKETS_SENT=10000h
|
|
|
|
SSF_IP4_PACKETS_RECEIVED=10001h
|
|
|
|
SSF_IP4_READ_IP=10002h
|
|
|
|
SSF_IP4_WRITE_IP=10003h
|
|
|
|
SSF_IP4_READ_DNS=10004h
|
|
|
|
SSF_IP4_WRITE_DNS=10005h
|
|
|
|
SSF_IP4_READ_SUBNET=10006h
|
|
|
|
SSF_IP4_WRITE_SUBNET=10007h
|
|
|
|
SSF_IP4_READ_GATEWAY=10008h
|
|
|
|
SSF_IP4_WRITE_GATEWAY=10009h
|
|
|
|
SSF_ICMP_PACKETS_SENT=20000h
|
|
|
|
SSF_ICMP_PACKETS_RECEIVED=20001h
|
|
|
|
SSF_ICMP_ECHO_REPLY=20003h
|
|
|
|
SSF_UDP_PACKETS_SENT=30000h
|
|
|
|
SSF_UDP_PACKETS_RECEIVED=30001h
|
|
|
|
SSF_TCP_PACKETS_SENT=40000h
|
|
|
|
SSF_TCP_PACKETS_RECEIVED=40001h
|
|
|
|
SSF_ARP_PACKETS_SENT=50000h
|
|
|
|
SSF_ARP_PACKETS_RECEIVED=50001h
|
|
|
|
SSF_ARP_GET_ENTRY_COUNT=50002h
|
|
|
|
SSF_ARP_READ_ENTRY=50003h
|
|
|
|
SSF_ARP_ADD_STATIC_ENTRY=50004h
|
|
|
|
SSF_ARP_DEL_ENTRY=50005h
|
|
|
|
SSF_ARP_SEND_ANNOUNCE=50006h
|
|
|
|
SSF_ARP_CONFLICTS_COUNT=50007h
|
2016-02-15 22:46:08 +03:00
|
|
|
SF_FUTEX=77
|
|
|
|
SSF_CREATE=0
|
|
|
|
SSF_DESTROY=1
|
|
|
|
SSF_WAIT=2
|
|
|
|
SSF_WAKE=3
|
2015-12-22 19:38:06 +03:00
|
|
|
|
|
|
|
; File system errors:
|
2016-02-15 22:46:08 +03:00
|
|
|
FSERR_SUCCESS=0
|
2015-12-22 19:38:06 +03:00
|
|
|
FSERR_UNSUPPORTED=2
|
|
|
|
FSERR_UNKNOWN=3
|
|
|
|
FSERR_FILE_NOT_FOUND=5
|
|
|
|
FSERR_END_OF_FILE=6
|
|
|
|
FSERR_INVALID_BUFFER=7
|
|
|
|
FSERR_DISK_FULL=8
|
|
|
|
FSERR_FAIL=9
|
|
|
|
FSERR_ACCESS_DENIED=10
|
|
|
|
FSERR_DEVICE_FAIL=11
|
|
|
|
FSERR_OUT_OF_MEMORY=12
|