1 /*#######################################################################
2 # RDOS operating system
3 # Copyright (C) 1988-2006, Leif Ekblad
5 # This library is free software; you can redistribute it and/or modify
6 # it under the terms of the GNU Lesser General Public License as published
7 # by the Free Software Foundation; either version 2.1 of the License, or
8 # (at your option) any later version.
10 # This library is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 # GNU Lesser General Public License for more details.
15 # You should have received a copy of the GNU Lesser General Public
16 # License along with this library; if not, write to the Free Software
17 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 # The author of this program may be contacted at leif@rdos.net
22 # GCC based interface to RDOS kernel
24 ##########################################################################*/
34 /*##########################################################################
36 # Name : RdosSwapShort
38 # Purpose....: Byte reverse a short int
42 ##########################################################################*/
55 /*##########################################################################
59 # Purpose....: Byte reverse a long int
63 ##########################################################################*/
78 /*##########################################################################
80 # Name : LocalToNetworkLong
82 # Purpose....: Convert a local long to network format
84 # Returns....: Network format
86 ##########################################################################*/
88 .global LocalToNetworkLong
100 /*##########################################################################
102 # Name : NetworkToLocalLong
104 # Purpose....: Convert a network long to local format
106 # Returns....: Local format
108 ##########################################################################*/
110 .global NetworkToLocalLong
122 /*##########################################################################
124 # Name : RdosGetThreadHandle
126 # Purpose....: Get current thread handle
128 # Returns....: Thread ID
130 ##########################################################################*/
132 .global RdosGetThreadHandle
137 UserGate get_thread_nr
142 /*##########################################################################
144 # Name : RdosGetThreadState
146 # Purpose....: Get thread state
148 # Parameters.: Thread #
151 ##########################################################################*/
153 .global RdosGetThreadState
162 UserGate get_thread_state_nr
176 /*##########################################################################
178 # Name : RdosSuspendThread
180 # Purpose....: Suspend thread
182 # Parameters.: Thread #
184 ##########################################################################*/
186 .global RdosSuspendThread
193 UserGate suspend_thread_nr
207 /*##########################################################################
211 # Purpose....: Execute a program
213 # Parameters.: Program
216 ##########################################################################*/
230 UserGate get_exit_code_nr
237 /*##########################################################################
241 # Purpose....: Create new process and run a program
243 # Parameters.: Program
247 ##########################################################################*/
266 UserGate spawn_exe_nr
284 /*##########################################################################
286 # Name : RdosCpuReset
288 # Purpose....: Cpu reset
290 ##########################################################################*/
297 UserGate cpu_reset_nr
301 /*##########################################################################
303 # Name : RdosGetVersion
305 # Purpose....: Get RDOS version
307 # Parameters.: &major
311 ##########################################################################*/
313 .global RdosGetVersion
323 UserGate get_version_nr
344 /*##########################################################################
346 # Name : RdosAllocateMem
348 # Purpose....: Allocate memory
350 # Parameters.: Bytes to allocate
352 # Returns....: Memory pointer
354 ##########################################################################*/
356 .global RdosAllocateMem
364 UserGate allocate_app_mem_nr
371 /*##########################################################################
375 # Purpose....: Free memory
377 # Parameters.: Memory pointer
379 ##########################################################################*/
389 UserGate free_app_mem_nr
395 /*##########################################################################
397 # Name : RdosAppDebug
399 # Purpose....: App debug
401 ##########################################################################*/
408 UserGate app_debug_nr
412 /*##########################################################################
414 # Name : RdosWaitMilli
416 # Purpose....: Wait a number of milliseconds
418 # Parameters.: Milliseconds to wait
420 ##########################################################################*/
422 .global RdosWaitMilli
430 UserGate wait_milli_nr
436 /*##########################################################################
438 # Name : RdosCreateSection
440 # Purpose....: Create section
442 # Returns....: Section handle
444 ##########################################################################*/
446 .global RdosCreateSection
453 UserGate create_user_section_nr
460 /*##########################################################################
462 # Name : RdosDeleteSection
464 # Purpose....: Delete section
466 # Parameters.: Section handle
468 ##########################################################################*/
470 .global RdosDeleteSection
478 UserGate delete_user_section_nr
484 /*##########################################################################
486 # Name : RdosEnterSection
488 # Purpose....: Enter section
490 # Parameters.: Section handle
492 ##########################################################################*/
494 .global RdosEnterSection
502 UserGate enter_user_section_nr
508 /*##########################################################################
510 # Name : RdosLeaveSection
512 # Purpose....: Leave section
514 # Parameters.: Section handle
516 ##########################################################################*/
518 .global RdosLeaveSection
526 UserGate leave_user_section_nr
532 /*##########################################################################
534 # Name : RdosCreateWait
536 # Purpose....: Create wait object
538 # Returns....: Wait handle
540 ##########################################################################*/
542 .global RdosCreateWait
549 UserGate create_wait_nr
556 /*##########################################################################
558 # Name : RdosCloseWait
560 # Purpose....: Close wait
562 # Parameters.: Wait handle
564 ##########################################################################*/
566 .global RdosCloseWait
574 UserGate close_wait_nr
580 /*##########################################################################
582 # Name : RdosCheckWait
584 # Purpose....: Check wait state
586 # Parameters.: Wait handle
588 # Returns....: Signalled ID or 0
590 ##########################################################################*/
592 .global RdosCheckWait
601 UserGate is_wait_idle_nr
609 /*##########################################################################
611 # Name : RdosWaitForever
613 # Purpose....: Wait forever
615 # Parameters.: Wait handle
617 # Returns....: Signalled ID or 0
619 ##########################################################################*/
621 .global RdosWaitForever
630 UserGate wait_no_timeout_nr
645 /*##########################################################################
647 # Name : RdosWaitTimeout
649 # Purpose....: Wait with timeout
651 # Parameters.: Wait handle
654 # Returns....: Signalled ID or 0
656 ##########################################################################*/
658 .global RdosWaitTimeout
672 UserGate get_system_time_nr
678 UserGate wait_timeout_nr
694 /*##########################################################################
696 # Name : RdosStopWait
698 # Purpose....: Stop wait
700 # Parameters.: Wait handle
702 ##########################################################################*/
712 UserGate stop_wait_nr
718 /*##########################################################################
720 # Name : RdosRemoveWait
722 # Purpose....: Remove wait object from wait handle
724 # Parameters.: Wait handle
727 ##########################################################################*/
729 .global RdosRemoveWait
739 UserGate remove_wait_nr
746 /*##########################################################################
748 # Name : RdosCreateSignal
750 # Purpose....: Create signal object
752 # Returns....: Signal handle
754 ##########################################################################*/
756 .global RdosCreateSignal
763 UserGate create_signal_nr
770 /*##########################################################################
772 # Name : RdosResetSignal
774 # Purpose....: Reset signal
776 # Parameters.: Signal handle
778 ##########################################################################*/
780 .global RdosResetSignal
788 UserGate reset_signal_nr
794 /*##########################################################################
796 # Name : RdosIsSignalled
798 # Purpose....: Check if signalled
800 # Parameters.: Signal handle
802 # Returns....: TRUE if signalled
804 ##########################################################################*/
806 .global RdosIsSignalled
814 UserGate is_signalled_nr
828 /*##########################################################################
830 # Name : RdosSetSignal
832 # Purpose....: Set signal
834 # Parameters.: Signal handle
836 ##########################################################################*/
838 .global RdosSetSignal
846 UserGate set_signal_nr
852 /*##########################################################################
854 # Name : RdosFreeSignal
856 # Purpose....: Free signal handle
858 # Parameters.: Signal handle
860 ##########################################################################*/
862 .global RdosFreeSignal
870 UserGate free_signal_nr
876 /*##########################################################################
878 # Name : RdosAddWaitForSignal
880 # Purpose....: Add signal object to wait handle
882 # Parameters.: Wait handle
886 ##########################################################################*/
888 .global RdosAddWaitForSignal
890 RdosAddWaitForSignal:
899 UserGate add_wait_for_signal_nr
906 /*##########################################################################
908 # Name : RdosAddWaitForKeyboard
910 # Purpose....: Add keyboard to wait handle
912 # Parameters.: Wait handle
915 ##########################################################################*/
917 .global RdosAddWaitForKeyboard
919 RdosAddWaitForKeyboard:
927 UserGate add_wait_for_keyboard_nr
934 /*##########################################################################
936 # Name : RdosAddWaitForMouse
938 # Purpose....: Add mouse to wait handle
940 # Parameters.: Wait handle
943 ##########################################################################*/
945 .global RdosAddWaitForMouse
955 UserGate add_wait_for_mouse_nr
962 /*##########################################################################
964 # Name : RdosAddWaitForCom
966 # Purpose....: Add com object to wait handle
968 # Parameters.: Wait handle
972 ##########################################################################*/
974 .global RdosAddWaitForCom
985 UserGate add_wait_for_com_nr
992 /*##########################################################################
994 # Name : RdosAddWaitForAdc
996 # Purpose....: Add ADC object to wait handle
998 # Parameters.: Wait handle
1002 ##########################################################################*/
1004 .global RdosAddWaitForAdc
1015 UserGate add_wait_for_adc_nr
1022 /*##########################################################################
1024 # Name : RdosSetTextMode
1026 # Purpose....: Set text mode
1028 ##########################################################################*/
1030 .global RdosSetTextMode
1037 UserGate set_video_mode_nr
1042 /*##########################################################################
1044 # Name : RdosSetVideoMode
1046 # Purpose....: Set video mode
1048 # Parameters.: &xres
1053 # Returns....: Bitmap handle
1055 ##########################################################################*/
1057 .global RdosSetVideoMode
1077 UserGate get_video_mode_nr
1080 UserGate set_video_mode_nr
1129 /*##########################################################################
1131 # Name : RdosSetClipRect
1133 # Purpose....: Set clip rectangle
1135 # Parameters.: Bitmap handle
1136 # xmin, xmax, ymin, ymax
1138 ##########################################################################*/
1140 .global RdosSetClipRect
1156 UserGate set_clip_rect_nr
1166 /*##########################################################################
1168 # Name : RdosClearClipRect
1170 # Purpose....: Clear clip rectangle
1172 # Parameters.: Bitmap handle
1174 ##########################################################################*/
1176 .global RdosClearClipRect
1184 UserGate clear_clip_rect_nr
1190 /*##########################################################################
1192 # Name : RdosSetDrawColor
1194 # Purpose....: Set draw color
1196 # Parameters.: Bitmap handle
1199 ##########################################################################*/
1201 .global RdosSetDrawColor
1211 UserGate set_drawcolor_nr
1218 /*##########################################################################
1220 # Name : RdosSetLGOP
1222 # Purpose....: Set draw color
1224 # Parameters.: Bitmap handle
1227 ##########################################################################*/
1239 UserGate set_lgop_nr
1246 /*##########################################################################
1248 # Name : RdosSetHollowStyle
1250 # Purpose....: Set hollow fill style
1252 # Parameters.: Bitmap handle
1254 ##########################################################################*/
1256 .global RdosSetHollowStyle
1264 UserGate set_hollow_style_nr
1270 /*##########################################################################
1272 # Name : RdosSetFilledStyle
1274 # Purpose....: Set filled fill style
1276 # Parameters.: Bitmap handle
1278 ##########################################################################*/
1280 .global RdosSetFilledStyle
1288 UserGate set_filled_style_nr
1294 /*##########################################################################
1296 # Name : RdosOpenFont
1298 # Purpose....: Open a font
1300 # Parameters.: height
1302 # Returns....: Font handle
1304 ##########################################################################*/
1306 .global RdosOpenFont
1314 UserGate open_font_nr
1321 /*##########################################################################
1323 # Name : RdosCloseFont
1325 # Purpose....: Close font handle
1327 # Parameters.: Font handle
1329 ##########################################################################*/
1331 .global RdosCloseFont
1339 UserGate close_font_nr
1345 /*##########################################################################
1347 # Name : RdosGetStringMetrics
1349 # Purpose....: Get string metrics for text using font
1351 # Parameters.: Font handle
1356 ##########################################################################*/
1358 .global RdosGetStringMetrics
1360 RdosGetStringMetrics:
1370 UserGate get_string_metrics_nr
1387 /*##########################################################################
1389 # Name : RdosSetFont
1391 # Purpose....: Set font
1393 # Parameters.: Bitmap handle
1396 ##########################################################################*/
1408 UserGate set_font_nr
1415 /*##########################################################################
1417 # Name : RdosGetPixel
1419 # Purpose....: Get pixel
1421 # Parameters.: Bitmap handle
1424 ##########################################################################*/
1426 .global RdosGetPixel
1438 UserGate get_pixel_nr
1446 /*##########################################################################
1448 # Name : RdosSetPixel
1450 # Purpose....: Set pixel
1452 # Parameters.: Bitmap handle
1455 ##########################################################################*/
1457 .global RdosSetPixel
1469 UserGate set_pixel_nr
1477 /*##########################################################################
1483 # Parameters.: SrcHandle
1489 ##########################################################################*/
1524 /*##########################################################################
1526 # Name : RdosDrawMask
1528 # Purpose....: Draw mask
1530 # Parameters.: Bitmap handle
1537 ##########################################################################*/
1539 .global RdosDrawMask
1563 UserGate draw_mask_nr
1574 /*##########################################################################
1576 # Name : RdosDrawLine
1578 # Purpose....: Draw a line
1580 # Parameters.: Bitmap handle
1584 ##########################################################################*/
1586 .global RdosDrawLine
1602 UserGate draw_line_nr
1612 /*##########################################################################
1614 # Name : RdosDrawString
1616 # Purpose....: Draw a string
1618 # Parameters.: Bitmap handle
1622 ##########################################################################*/
1624 .global RdosDrawString
1638 UserGate draw_string_nr
1647 /*##########################################################################
1649 # Name : RdosDrawRect
1651 # Purpose....: Draw a rect
1653 # Parameters.: Bitmap handle
1657 ##########################################################################*/
1659 .global RdosDrawRect
1675 UserGate draw_rect_nr
1685 /*##########################################################################
1687 # Name : RdosDrawEllipse
1689 # Purpose....: Draw an ellipse
1691 # Parameters.: Bitmap handle
1695 ##########################################################################*/
1697 .global RdosDrawEllipse
1713 UserGate draw_ellipse_nr
1723 /*##########################################################################
1725 # Name : RdosCreateBitmap
1727 # Purpose....: Create a bitmap
1729 # Parameters.: BitsPerPixel
1732 # Returns....: Bitmap handle
1734 ##########################################################################*/
1736 .global RdosCreateBitmap
1748 UserGate create_bitmap_nr
1757 /*##########################################################################
1759 # Name : RdosDuplicateBitmapHandle
1761 # Purpose....: Duplicate bitmap handle for use in another thread / object
1763 # Parameters.: Bitmap handle
1765 # Returns....: Bitmap handle
1767 ##########################################################################*/
1769 .global RdosDuplicateBitmapHandle
1771 RdosDuplicateBitmapHandle:
1777 UserGate dup_bitmap_handle_nr
1784 /*##########################################################################
1786 # Name : RdosCloseBitmap
1788 # Purpose....: Close bitmap handle
1790 # Parameters.: Bitmap handle
1792 ##########################################################################*/
1794 .global RdosCloseBitmap
1802 UserGate close_bitmap_nr
1808 /*##########################################################################
1810 # Name : RdosCreateStringBitmap
1812 # Purpose....: Create bitmap from string & font
1817 # Returns....: Bitmap handle
1819 ##########################################################################*/
1821 .global RdosCreateStringBitmap
1823 RdosCreateStringBitmap:
1831 UserGate create_string_bitmap_nr
1839 /*##########################################################################
1841 # Name : RdosGetBitmapInfo
1843 # Purpose....: Get info about bitmap
1845 # Parameters.: Bitmap handle
1851 ##########################################################################*/
1853 .global RdosGetBitmapInfo
1866 UserGate get_bitmap_info_nr
1918 /*##########################################################################
1920 # Name : RdosCreateSprite
1922 # Purpose....: Create a sprite
1929 # Returns....: Sprite handle
1931 ##########################################################################*/
1933 .global RdosCreateSprite
1946 UserGate create_sprite_nr
1955 /*##########################################################################
1957 # Name : RdosCloseSprite
1959 # Purpose....: Close sprite handle
1961 # Parameters.: Sprite handle
1963 ##########################################################################*/
1965 .global RdosCloseSprite
1973 UserGate close_sprite_nr
1979 /*##########################################################################
1981 # Name : RdosShowSprite
1983 # Purpose....: Show sprite
1985 # Parameters.: Sprite handle
1987 ##########################################################################*/
1989 .global RdosShowSprite
1997 UserGate show_sprite_nr
2003 /*##########################################################################
2005 # Name : RdosHideSprite
2007 # Purpose....: Hide sprite
2009 # Parameters.: Sprite handle
2011 ##########################################################################*/
2013 .global RdosHideSprite
2021 UserGate hide_sprite_nr
2027 /*##########################################################################
2029 # Name : RdosMoveSprite
2031 # Purpose....: Move sprite
2033 # Parameters.: Sprite handle
2036 ##########################################################################*/
2038 .global RdosMoveSprite
2050 UserGate move_sprite_nr
2058 /*##########################################################################
2060 # Name : RdosSetForeColor
2062 # Purpose....: Set text-mode fore color
2064 # Parameters.: palette index
2066 ##########################################################################*/
2068 .global RdosSetForeColor
2076 UserGate set_forecolor_nr
2082 /*##########################################################################
2084 # Name : RdosSetBackColor
2086 # Purpose....: Set text-mode back color
2088 # Parameters.: palette index
2090 ##########################################################################*/
2092 .global RdosSetBackColor
2100 UserGate set_backcolor_nr
2106 /*##########################################################################
2108 # Name : RdosGetSysTime
2110 # Purpose....: Get system time
2112 # Parameters.: &year, &month, &day
2113 # &hour, &min, &sec, &ms
2115 ##########################################################################*/
2117 .global RdosGetSysTime
2124 UserGate get_system_time_nr
2126 UserGate binary_to_time_nr
2154 UserGate time_to_binary_nr
2170 /*##########################################################################
2172 # Name : RdosGetTime
2174 # Purpose....: Get time
2176 # Parameters.: &year, &month, &day
2177 # &hour, &min, &sec, &ms
2179 ##########################################################################*/
2188 UserGate get_time_nr
2190 UserGate binary_to_time_nr
2218 UserGate time_to_binary_nr
2234 /*##########################################################################
2236 # Name : RdosSetTime
2238 # Purpose....: Set time
2240 # Parameters.: year, month, day
2241 # hour, min, sec, ms
2243 ##########################################################################*/
2258 UserGate time_to_binary_nr
2269 UserGate get_system_time_nr
2274 UserGate update_time_nr
2280 /*##########################################################################
2282 # Name : RdosTicsToRecord
2284 # Purpose....: Convert tics to record format
2286 # Parameters.: MSB, LSB
2287 # &year, &month, &day
2288 # &hour, &min, &sec, &ms
2290 ##########################################################################*/
2292 .global RdosTicsToRecord
2303 UserGate binary_to_time_nr
2331 UserGate time_to_binary_nr
2353 /*##########################################################################
2355 # Name : RdosRecordToTics
2357 # Purpose....: Convert from record format to tics
2359 # Parameters.: &MSB, &LSB
2361 # hour, min, sec, ms
2363 ##########################################################################*/
2365 .global RdosRecordToTics
2382 UserGate time_to_binary_nr
2397 /*##########################################################################
2399 # Name : RdosDecodeMsbTics
2401 # Purpose....: Decode MSB tics
2406 ##########################################################################*/
2408 .global RdosDecodeMsbTics
2430 /*##########################################################################
2432 # Name : RdosDecodeLsbTics
2434 # Purpose....: Decode LSB tics
2437 # &min, &sec, &ms, &us
2439 ##########################################################################*/
2441 .global RdosDecodeLsbTics
2473 /*##########################################################################
2475 # Name : RdosDayOfWeek
2477 # Purpose....: Get day of week
2479 # Parameters.: year, month, day
2481 # Returns....: day of week
2483 ##########################################################################*/
2485 .global RdosDayOfWeek
2499 UserGate adjust_time_nr
2507 UserGate passed_days_nr
2525 /*##########################################################################
2527 # Name : RdosGetTics
2529 # Purpose....: Get system tics
2531 # Parameters.: &MSB, &LSB
2533 ##########################################################################*/
2543 UserGate get_time_nr
2554 /*##########################################################################
2556 # Name : RdosAddTics
2558 # Purpose....: Add tics to binary time
2560 # Parameters.: &MSB, &LSB
2563 ##########################################################################*/
2582 /*##########################################################################
2584 # Name : RdosAddMilli
2586 # Purpose....: Add milliseconds to binary time
2588 # Parameters.: &MSB, &LSB
2591 ##########################################################################*/
2593 .global RdosAddMilli
2612 /*##########################################################################
2616 # Purpose....: Add milliseconds to binary time
2618 # Parameters.: &MSB, &LSB
2621 ##########################################################################*/
2642 /*##########################################################################
2646 # Purpose....: Add minutes to binary time
2648 # Parameters.: &MSB, &LSB
2651 ##########################################################################*/
2672 /*##########################################################################
2674 # Name : RdosAddHour
2676 # Purpose....: Add hour to binary time
2678 # Parameters.: &MSB, &LSB
2681 ##########################################################################*/
2698 /*##########################################################################
2702 # Purpose....: Add days to binary time
2704 # Parameters.: &MSB, &LSB
2707 ##########################################################################*/
2726 /*##########################################################################
2728 # Name : RdosSyncTime
2730 # Purpose....: Synchronize time with NTP
2734 ##########################################################################*/
2736 .global RdosSyncTime
2744 UserGate sync_time_nr
2748 jmp RdosSyncTimeDone
2758 /*##########################################################################
2760 # Name : RdosOpenCom
2762 # Purpose....: Open com-port
2772 # Returns...: Com handle
2774 ##########################################################################*/
2794 UserGate open_com_nr
2805 /*##########################################################################
2807 # Name : RdosCloseCom
2809 # Purpose....: Close com-port
2811 # Parameters.: Com handle
2813 ##########################################################################*/
2815 .global RdosCloseCom
2823 UserGate close_com_nr
2829 /*##########################################################################
2831 # Name : RdosFlushCom
2833 # Purpose....: Flush com-port
2835 # Parameters.: Com handle
2837 ##########################################################################*/
2839 .global RdosFlushCom
2847 UserGate flush_com_nr
2853 /*##########################################################################
2855 # Name : RdosReadCom
2857 # Purpose....: Read com-port
2859 # Parameters.: Com handle
2861 # Returns....: Character
2863 ##########################################################################*/
2873 UserGate read_com_nr
2879 /*##########################################################################
2881 # Name : RdosWriteCom
2883 # Purpose....: Write com-port
2885 # Parameters.: Com handle
2888 # Returns....: 0 for success
2890 ##########################################################################*/
2892 .global RdosWriteCom
2901 UserGate write_com_nr
2908 /*##########################################################################
2910 # Name : RdosWaitForSendCompletedCom
2912 # Purpose....: Wait until send buffer is empty
2914 # Parameters.: Com handle
2916 ##########################################################################*/
2918 .global RdosWaitForSendCompletedCom
2920 RdosWaitForSendCompletedCom:
2926 UserGate wait_for_send_completed_com_nr
2932 /*##########################################################################
2934 # Name : RdosEnableCts
2936 # Purpose....: Enable CTS signal
2938 # Parameters.: Com handle
2940 ##########################################################################*/
2942 .global RdosEnableCts
2950 UserGate enable_cts_nr
2956 /*##########################################################################
2958 # Name : RdosDisableCts
2960 # Purpose....: Disable CTS signal
2962 # Parameters.: Com handle
2964 ##########################################################################*/
2966 .global RdosDisableCts
2974 UserGate disable_cts_nr
2980 /*##########################################################################
2982 # Name : RdosEnableAutoRts
2984 # Purpose....: Enable auto RTS signal generation for RS485
2986 # Parameters.: Com handle
2988 ##########################################################################*/
2990 .global RdosEnableAutoRts
2998 UserGate enable_auto_rts_nr
3004 /*##########################################################################
3006 # Name : RdosDisableAutoRts
3008 # Purpose....: Disable auto RTS signal generation for RS485
3010 # Parameters.: Com handle
3012 ##########################################################################*/
3014 .global RdosDisableAutoRts
3022 UserGate disable_auto_rts_nr
3028 /*##########################################################################
3032 # Purpose....: Set DTR active
3034 # Parameters.: Com handle
3036 ##########################################################################*/
3052 /*##########################################################################
3054 # Name : RdosResetDtr
3056 # Purpose....: Set DTR inactive
3058 # Parameters.: Com handle
3060 ##########################################################################*/
3062 .global RdosResetDtr
3070 UserGate reset_dtr_nr
3076 /*##########################################################################
3080 # Purpose....: Set RTS active
3082 # Parameters.: Com handle
3084 ##########################################################################*/
3100 /*##########################################################################
3102 # Name : RdosResetRts
3104 # Purpose....: Set RTS inactive
3106 # Parameters.: Com handle
3108 ##########################################################################*/
3110 .global RdosResetRts
3118 UserGate reset_rts_nr
3124 /*##########################################################################
3126 # Name : RdosGetReceiveBufferSpace
3128 # Purpose....: Get receive buffer free space
3130 # Parameters.: Com handle
3132 # Returns....: Free bytes
3134 ##########################################################################*/
3136 .global RdosGetReceiveBufferSpace
3138 RdosGetReceiveBufferSpace:
3144 UserGate get_com_receive_space_nr
3150 /*##########################################################################
3152 # Name : RdosGetSendBufferSpace
3154 # Purpose....: Get send buffer free space
3156 # Parameters.: Com handle
3158 # Returns....: Free bytes
3160 ##########################################################################*/
3162 .global RdosGetSendBufferSpace
3164 RdosGetSendBufferSpace:
3170 UserGate get_com_send_space_nr
3176 /*##########################################################################
3178 # Name : RdosOpenFile
3180 # Purpose....: Open file
3182 # Parameters.: Filename
3185 # Returns...: File handle
3187 ##########################################################################*/
3189 .global RdosOpenFile
3200 UserGate open_file_nr
3216 /*##########################################################################
3218 # Name : RdosCreateFile
3220 # Purpose....: Create file
3222 # Parameters.: Filename
3225 # Returns...: File handle
3227 ##########################################################################*/
3229 .global RdosCreateFile
3240 UserGate create_file_nr
3256 /*##########################################################################
3258 # Name : RdosCloseFile
3260 # Purpose....: Close file
3262 # Parameters.: File handle
3264 ##########################################################################*/
3266 .global RdosCloseFile
3274 UserGate close_file_nr
3280 /*##########################################################################
3282 # Name : RdosIsDevice
3284 # Purpose....: Check if file is device
3286 # Parameters.: TRUE if device
3288 ##########################################################################*/
3290 .global RdosIsDevice
3298 UserGate get_ioctl_data_nr
3313 /*##########################################################################
3315 # Name : RdosDuplFile
3317 # Purpose....: Duplicate file handle
3319 # Parameters.: File handle
3321 # Returns....: File handle
3323 ##########################################################################*/
3325 .global RdosDuplFile
3333 UserGate dupl_file_nr
3347 /*##########################################################################
3349 # Name : RdosGetFileSize
3351 # Purpose....: Get file size
3353 # Parameters.: File handle
3357 ##########################################################################*/
3359 .global RdosGetFileSize
3367 UserGate get_file_size_nr
3378 /*##########################################################################
3380 # Name : RdosSetFileSize
3382 # Purpose....: Set file size
3384 # Parameters.: File handle
3387 ##########################################################################*/
3389 .global RdosSetFileSize
3399 UserGate set_file_size_nr
3406 /*##########################################################################
3408 # Name : RdosGetFilePos
3410 # Purpose....: Get file position
3412 # Parameters.: File handle
3414 # Returns....: Position
3416 ##########################################################################*/
3418 .global RdosGetFilePos
3426 UserGate get_file_pos_nr
3437 /*##########################################################################
3439 # Name : RdosSetFilePos
3441 # Purpose....: Set file position
3443 # Parameters.: File handle
3446 ##########################################################################*/
3448 .global RdosSetFilePos
3458 UserGate set_file_pos_nr
3465 /*##########################################################################
3467 # Name : RdosGetFileTime
3469 # Purpose....: Get file time & date
3471 # Parameters.: File handle
3474 ##########################################################################*/
3476 .global RdosGetFileTime
3485 UserGate get_file_time_nr
3500 /*##########################################################################
3502 # Name : RdosSetFileTime
3504 # Purpose....: Set file time & date
3506 # Parameters.: File handle
3509 ##########################################################################*/
3511 .global RdosSetFileTime
3523 UserGate set_file_time_nr
3531 /*##########################################################################
3533 # Name : RdosReadFile
3535 # Purpose....: Read from file
3537 # Parameters.: File handle
3541 # Returns....: Read count
3543 ##########################################################################*/
3545 .global RdosReadFile
3557 UserGate read_file_nr
3565 /*##########################################################################
3567 # Name : RdosWriteFile
3569 # Purpose....: Write to file
3571 # Parameters.: File handle
3575 # Returns....: Written count
3577 ##########################################################################*/
3579 .global RdosWriteFile
3591 UserGate write_file_nr
3599 /*##########################################################################
3601 # Name : RdosCreateMapping
3603 # Purpose....: Create file mapping
3607 # Returns...: Filemap handle
3609 ##########################################################################*/
3611 .global RdosCreateMapping
3619 UserGate create_mapping_nr
3626 /*##########################################################################
3628 # Name : RdosCreateNamedMapping
3630 # Purpose....: Create named file mapping
3635 # Returns...: Filemap handle
3637 ##########################################################################*/
3639 .global RdosCreateNamedMapping
3641 RdosCreateNamedMapping:
3649 UserGate create_named_mapping_nr
3657 /*##########################################################################
3659 # Name : RdosCreateNamedFileMapping
3661 # Purpose....: Create file named file mapping
3667 # Returns...: Filemap handle
3669 ##########################################################################*/
3671 .global RdosCreateNamedFileMapping
3673 RdosCreateNamedFileMapping:
3682 UserGate create_named_file_mapping_nr
3690 /*##########################################################################
3692 # Name : RdosOpenNamedMapping
3694 # Purpose....: Open named file mapping
3698 # Returns...: Filemap handle
3700 ##########################################################################*/
3702 .global RdosOpenNamedMapping
3704 RdosOpenNamedMapping:
3711 UserGate open_named_mapping_nr
3719 /*##########################################################################
3721 # Name : RdosSyncMapping
3723 # Purpose....: Sync file mapping
3725 # Parameters.: Filemap handle
3727 ##########################################################################*/
3729 .global RdosSyncMapping
3737 UserGate sync_mapping_nr
3743 /*##########################################################################
3745 # Name : RdosCloseMapping
3747 # Purpose....: Close file mapping
3749 # Parameters.: Filemap handle
3751 ##########################################################################*/
3753 .global RdosCloseMapping
3761 UserGate close_mapping_nr
3767 /*##########################################################################
3769 # Name : RdosMapView
3771 # Purpose....: Map view of file into memory
3773 # Parameters.: Filemap handle
3778 ##########################################################################*/
3793 UserGate map_view_nr
3801 /*##########################################################################
3803 # Name : RdosUnmapView
3805 # Purpose....: Unmap view of file
3807 # Parameters.: Filemap handle
3809 ##########################################################################*/
3811 .global RdosUnmapView
3819 UserGate unmap_view_nr
3825 /*##########################################################################
3827 # Name : RdosSetCurDrive
3829 # Purpose....: Set current drive
3831 # Parameters.: Drive
3833 ##########################################################################*/
3835 .global RdosSetCurDrive
3842 UserGate set_cur_drive_nr
3855 /*##########################################################################
3857 # Name : RdosGetCurDrive
3859 # Purpose....: Get current drive
3861 # Returns....: Drive
3863 ##########################################################################*/
3865 .global RdosGetCurDrive
3872 UserGate get_cur_drive_nr
3878 /*##########################################################################
3880 # Name : RdosSetCurDir
3882 # Purpose....: Set current directory
3884 # Parameters.: Pathname
3886 ##########################################################################*/
3888 .global RdosSetCurDir
3896 UserGate set_cur_dir_nr
3910 /*##########################################################################
3912 # Name : RdosGetCurDir
3914 # Purpose....: Get current directory
3916 # Parameters.: Drive
3919 ##########################################################################*/
3921 .global RdosGetCurDir
3930 UserGate get_cur_dir_nr
3944 /*##########################################################################
3946 # Name : RdosMakeDir
3948 # Purpose....: Create directory
3950 # Parameters.: Pathname
3952 ##########################################################################*/
3962 UserGate make_dir_nr
3976 /*##########################################################################
3978 # Name : RdosRemoveDir
3980 # Purpose....: Remove directory
3982 # Parameters.: Pathname
3984 ##########################################################################*/
3986 .global RdosRemoveDir
3994 UserGate remove_dir_nr
4008 /*##########################################################################
4010 # Name : RdosRenameFile
4012 # Purpose....: Rename file
4014 # Parameters.: ToName
4017 ##########################################################################*/
4019 .global RdosRenameFile
4029 UserGate rename_file_nr
4044 /*##########################################################################
4046 # Name : RdosDeleteFile
4048 # Purpose....: Delete file
4050 # Parameters.: Pathname
4052 ##########################################################################*/
4054 .global RdosDeleteFile
4062 UserGate delete_file_nr
4076 /*##########################################################################
4078 # Name : RdosGetFileAttribute
4080 # Purpose....: Get file attribute
4082 # Parameters.: Pathname
4085 ##########################################################################*/
4087 .global RdosGetFileAttribute
4089 RdosGetFileAttribute:
4096 UserGate get_file_attribute_nr
4114 /*##########################################################################
4116 # Name : RdosSetFileAttribute
4118 # Purpose....: Set file attribute
4120 # Parameters.: Pathname
4123 ##########################################################################*/
4125 .global RdosSetFileAttribute
4127 RdosSetFileAttribute:
4135 UserGate set_file_attribute_nr
4150 /*##########################################################################
4152 # Name : RdosOpenDir
4154 # Purpose....: Open directory
4156 # Parameters.: Pathname
4158 # Returns....: Dir handle
4160 ##########################################################################*/
4171 UserGate open_dir_nr
4186 /*##########################################################################
4188 # Name : RdosCloseDir
4190 # Purpose....: Close directory
4192 # Parameters.: Dir handle
4194 ##########################################################################*/
4196 .global RdosCloseDir
4204 UserGate close_dir_nr
4210 /*##########################################################################
4212 # Name : RdosReadDir
4214 # Purpose....: Read directory entry
4216 # Parameters.: Dir handle
4225 ##########################################################################*/
4240 UserGate read_dir_nr
4269 /*##########################################################################
4271 # Name : RdosSetFocus
4273 # Purpose....: Set input focus
4275 # Parameters.: Focus handle
4277 ##########################################################################*/
4279 .global RdosSetFocus
4286 UserGate set_focus_nr
4291 /*##########################################################################
4293 # Name : RdosGetFocus
4295 # Purpose....: Get input focus
4297 # Returns....: Focus handle
4299 ##########################################################################*/
4301 .global RdosGetFocus
4307 UserGate get_focus_nr
4312 /*##########################################################################
4314 # Name : RdosClearKeyboard
4316 # Purpose....: Clear keyboard buffer
4318 ##########################################################################*/
4320 .global RdosClearKeyboard
4326 UserGate flush_keyboard_nr
4331 /*##########################################################################
4333 # Name : RdosPollKeyboard
4335 # Purpose....: Poll keyboard buffer
4337 # Returns....: TRUE if non-empty
4339 ##########################################################################*/
4341 .global RdosPollKeyboard
4347 UserGate poll_keyboard_nr
4360 /*##########################################################################
4362 # Name : RdosReadKeyboard
4364 # Purpose....: Read keyboard buffer
4366 # Returns....: Scan code
4368 ##########################################################################*/
4370 .global RdosReadKeyboard
4376 UserGate read_keyboard_nr
4382 /*##########################################################################
4384 # Name : RdosGetKeyboardState
4386 # Purpose....: Get keyboard buffer
4388 # Returns....: Keyboard state
4390 ##########################################################################*/
4392 .global RdosGetKeyboardState
4394 RdosGetKeyboardState:
4398 UserGate get_keyboard_state_nr
4404 /*##########################################################################
4406 # Name : RdosPutKeyboard
4408 # Purpose....: Put scancode in keyboard buffer
4410 ##########################################################################*/
4412 .global RdosPutKeyboard
4422 UserGate put_keyboard_code_nr
4428 /*##########################################################################
4430 # Name : RdosPeekKeyEvent
4432 # Purpose....: Peek keyboard event
4434 ##########################################################################*/
4436 .global RdosPeekKeyEvent
4445 UserGate peek_key_event_nr
4477 /*##########################################################################
4479 # Name : RdosReadKeyEvent
4481 # Purpose....: Read keyboard event
4483 ##########################################################################*/
4485 .global RdosReadKeyEvent
4494 UserGate read_key_event_nr
4526 /*##########################################################################
4528 # Name : RdosHideMouse
4530 # Purpose....: Hide mouse cursor
4532 ##########################################################################*/
4534 .global RdosHideMouse
4540 UserGate hide_mouse_nr
4545 /*##########################################################################
4547 # Name : RdosShowMouse
4549 # Purpose....: Show mouse cursor
4551 ##########################################################################*/
4553 .global RdosShowMouse
4559 UserGate show_mouse_nr
4564 /*##########################################################################
4566 # Name : RdosGetMousePosition
4568 # Purpose....: Get mouse position
4570 # Parameters.: &x, &y
4572 ##########################################################################*/
4574 .global RdosGetMousePosition
4576 RdosGetMousePosition:
4582 UserGate get_mouse_position_nr
4597 /*##########################################################################
4599 # Name : RdosSetMousePosition
4601 # Purpose....: Set mouse position
4605 ##########################################################################*/
4607 .global RdosSetMousePosition
4609 RdosSetMousePosition:
4617 UserGate set_mouse_position_nr
4624 /*##########################################################################
4626 # Name : RdosSetMouseWindow
4628 # Purpose....: Set mouse window
4630 # Parameters.: start x, start y
4633 ##########################################################################*/
4635 .global RdosSetMouseWindow
4649 UserGate set_mouse_window_nr
4658 /*##########################################################################
4660 # Name : RdosSetMouseMickey
4662 # Purpose....: Set mouse mickey
4666 ##########################################################################*/
4668 .global RdosSetMouseMickey
4678 UserGate set_mouse_mickey_nr
4685 /*##########################################################################
4687 # Name : RdosGetCursorPosition
4689 # Purpose....: Get cursor position
4691 # Parameters.: &x, &y
4693 ##########################################################################*/
4695 .global RdosGetCursorPosition
4697 RdosGetCursorPosition:
4703 UserGate get_cursor_position_nr
4718 /*##########################################################################
4720 # Name : RdosSetCursorPosition
4722 # Purpose....: Set cursor position
4726 ##########################################################################*/
4728 .global RdosSetCursorPosition
4730 RdosSetCursorPosition:
4738 UserGate set_cursor_position_nr
4745 /*##########################################################################
4747 # Name : RdosGetLeftButton
4749 # Purpose....: Check if left button is pressed
4751 # Returns....: TRUE if pressed
4753 ##########################################################################*/
4755 .global RdosGetLeftButton
4761 UserGate get_left_button_nr
4774 /*##########################################################################
4776 # Name : RdosGetRightButton
4778 # Purpose....: Check if right button is pressed
4780 # Returns....: TRUE if pressed
4782 ##########################################################################*/
4784 .global RdosGetRightButton
4790 UserGate get_right_button_nr
4803 /*##########################################################################
4805 # Name : RdosGetLeftButtonPressPosition
4807 # Purpose....: Get left button press position
4809 # Parameters.: &x, &y
4811 ##########################################################################*/
4813 .global RdosGetLeftButtonPressPosition
4815 RdosGetLeftButtonPressPosition:
4822 UserGate get_left_button_press_position_nr
4837 /*##########################################################################
4839 # Name : RdosGetRightButtonPressPosition
4841 # Purpose....: Get right button press position
4843 # Parameters.: &x, &y
4845 ##########################################################################*/
4847 .global RdosGetRightButtonPressPosition
4849 RdosGetRightButtonPressPosition:
4856 UserGate get_right_button_press_position_nr
4871 /*##########################################################################
4873 # Name : RdosGetLeftButtonReleasePosition
4875 # Purpose....: Get left button release position
4877 # Parameters.: &x, &y
4879 ##########################################################################*/
4881 .global RdosGetLeftButtonReleasePosition
4883 RdosGetLeftButtonReleasePosition:
4890 UserGate get_left_button_release_position_nr
4905 /*##########################################################################
4907 # Name : RdosGetRightButtonReleasePosition
4909 # Purpose....: Get right button release position
4911 # Parameters.: &x, &y
4913 ##########################################################################*/
4915 .global RdosGetRightButtonReleasePosition
4917 RdosGetRightButtonReleasePosition:
4924 UserGate get_right_button_release_position_nr
4939 /*##########################################################################
4941 # Name : RdosReadLine
4943 # Purpose....: Read a line from keyboard
4945 # Parameters.: Buffer
4948 # Returns....: Read count
4950 ##########################################################################*/
4952 .global RdosReadLine
4962 UserGate read_con_nr
4969 /*##########################################################################
4971 # Name : RdosWriteChar
4973 # Purpose....: Write a character to screen
4977 ##########################################################################*/
4979 .global RdosWriteChar
4986 UserGate write_char_nr
4991 /*##########################################################################
4993 # Name : RdosWriteSizeString
4995 # Purpose....: Write a fixed number of characters to screen
4997 # Parameters.: String
5000 ##########################################################################*/
5002 .global RdosWriteSizeString
5004 RdosWriteSizeString:
5012 UserGate write_size_string_nr
5019 /*##########################################################################
5021 # Name : RdosWriteString
5023 # Purpose....: Write a string to screen
5025 # Parameters.: String
5027 ##########################################################################*/
5029 .global RdosWriteString
5037 UserGate write_asciiz_nr
5043 /*##########################################################################
5045 # Name : RdosNameToIp
5047 # Purpose....: Convert host name to IP address
5053 ##########################################################################*/
5055 .global RdosNameToIp
5063 UserGate name_to_ip_nr
5077 /*##########################################################################
5081 # Purpose....: Get my IP
5085 ##########################################################################*/
5093 UserGate get_ip_address_nr
5099 /*##########################################################################
5101 # Name : RdosIpToName
5103 # Purpose....: Convert IP address to host name
5109 ##########################################################################*/
5111 .global RdosIpToName
5123 UserGate ip_to_name_nr
5136 /*##########################################################################
5140 # Purpose....: Ping node
5145 ##########################################################################*/
5170 /*##########################################################################
5172 # Name : RdosOpenTcpConnection
5174 # Purpose....: Open an active connection over TCP
5176 # Parameters.: RemoteIp
5182 # Returns....: Conn handle
5184 ##########################################################################*/
5186 .global RdosOpenTcpConnection
5188 RdosOpenTcpConnection:
5200 UserGate open_tcp_connection_nr
5213 /*##########################################################################
5215 # Name : RdosCreateTcpListen
5217 # Purpose....: Create listen handle
5223 # Returns....: Listen handle
5225 ##########################################################################*/
5227 .global RdosCreateTcpListen
5229 RdosCreateTcpListen:
5238 UserGate create_tcp_listen_nr
5250 /*##########################################################################
5252 # Name : RdosGetTcpListen
5254 # Purpose....: Get connection from listen
5256 # Parameters.: Listen handle
5258 # Returns....: Conn handle
5260 ##########################################################################*/
5262 .global RdosGetTcpListen
5270 UserGate get_tcp_listen_nr
5281 /*##########################################################################
5283 # Name : RdosCloseTcpListen
5285 # Purpose....: Close TCP listen
5287 # Parameters.: Listen handle
5289 ##########################################################################*/
5291 .global RdosCloseTcpListen
5299 UserGate close_tcp_listen_nr
5305 /*##########################################################################
5307 # Name : RdosAddWaitForTcpListen
5309 # Purpose....: Add wait object to tcp listen
5311 # Parameters.: Wait handle
5315 ##########################################################################*/
5317 .global RdosAddWaitForTcpListen
5319 RdosAddWaitForTcpListen:
5328 UserGate add_wait_for_tcp_listen_nr
5340 /*##########################################################################
5342 # Name : RdosWaitForTcpConnection
5344 # Purpose....: Wait for Tcp connection to be established
5346 # Parameters.: Conn handle
5349 ##########################################################################*/
5351 .global RdosWaitForTcpConnection
5353 RdosWaitForTcpConnection:
5360 UserGate wait_for_tcp_connection_nr
5371 /*##########################################################################
5373 # Name : RdosAddWaitForTcpConnection
5375 # Purpose....: Add wait object to tcp connection
5377 # Parameters.: Wait handle
5381 ##########################################################################*/
5383 .global RdosAddWaitForTcpConnection
5385 RdosAddWaitForTcpConnection:
5394 UserGate add_wait_for_tcp_connection_nr
5406 /*##########################################################################
5408 # Name : RdosCloseTcpConnection
5410 # Purpose....: Close Tcp connection
5412 # Parameters.: Conn handle
5414 ##########################################################################*/
5416 .global RdosCloseTcpConnection
5418 RdosCloseTcpConnection:
5424 UserGate close_tcp_connection_nr
5430 /*##########################################################################
5432 # Name : RdosDeleteTcpConnection
5434 # Purpose....: Delete Tcp connection
5436 # Parameters.: Conn handle
5438 ##########################################################################*/
5440 .global RdosDeleteTcpConnection
5442 RdosDeleteTcpConnection:
5448 UserGate delete_tcp_connection_nr
5454 /*##########################################################################
5456 # Name : RdosAbortTcpConnection
5458 # Purpose....: Abort Tcp connection
5460 # Parameters.: Conn handle
5462 ##########################################################################*/
5464 .global RdosAbortTcpConnection
5466 RdosAbortTcpConnection:
5472 UserGate abort_tcp_connection_nr
5478 /*##########################################################################
5480 # Name : RdosPushTcpConnection
5482 # Purpose....: Push Tcp connection
5484 # Parameters.: Conn handle
5486 ##########################################################################*/
5488 .global RdosPushTcpConnection
5490 RdosPushTcpConnection:
5496 UserGate push_tcp_connection_nr
5502 /*##########################################################################
5504 # Name : RdosPollTcpConnection
5506 # Purpose....: Poll Tcp connection
5508 # Parameters.: Conn handle
5510 # Returns....: Available bytes in receive buffer
5512 ##########################################################################*/
5514 .global RdosPollTcpConnection
5516 RdosPollTcpConnection:
5522 UserGate poll_tcp_connection_nr
5528 /*##########################################################################
5530 # Name : RdosIsTcpConnectionClosed
5532 # Purpose....: Check if connection is closed
5534 # Parameters.: Conn handle
5536 # Returns....: TRUE if closed
5538 ##########################################################################*/
5540 .global RdosIsTcpConnectionClosed
5542 RdosIsTcpConnectionClosed:
5548 UserGate is_tcp_connection_closed_nr
5562 /*##########################################################################
5564 # Name : RdosGetRemoteTcpConnectionIp
5566 # Purpose....: Get remote IP
5568 # Parameters.: Conn handle
5572 ##########################################################################*/
5574 .global RdosGetRemoteTcpConnectionIp
5576 RdosGetRemoteTcpConnectionIp:
5582 UserGate get_remote_tcp_connection_ip_nr
5585 movl $0xFFFFFFFF,%eax
5592 /*##########################################################################
5594 # Name : RdosGetRemoteTcpConnectionPort
5596 # Purpose....: Get remote port
5598 # Parameters.: Conn handle
5602 ##########################################################################*/
5604 .global RdosGetRemoteTcpConnectionPort
5606 RdosGetRemoteTcpConnectionPort:
5612 UserGate get_remote_tcp_connection_port_nr
5623 /*##########################################################################
5625 # Name : RdosGetLocalTcpConnectionPort
5627 # Purpose....: Get local port
5629 # Parameters.: Conn handle
5633 ##########################################################################*/
5635 .global RdosGetLocalTcpConnectionPort
5637 RdosGetLocalTcpConnectionPort:
5643 UserGate get_local_tcp_connection_port_nr
5654 /*##########################################################################
5656 # Name : RdosReadTcpConnection
5658 # Purpose....: Read data from connection
5660 # Parameters.: Conn handle
5664 # Returns....: Read bytes
5666 ##########################################################################*/
5668 .global RdosReadTcpConnection
5670 RdosReadTcpConnection:
5680 UserGate read_tcp_connection_nr
5688 /*##########################################################################
5690 # Name : RdosWriteTcpConnection
5692 # Purpose....: Write data fto connection
5694 # Parameters.: Conn handle
5698 # Returns....: Written bytes
5700 ##########################################################################*/
5702 .global RdosWriteTcpConnection
5704 RdosWriteTcpConnection:
5714 UserGate write_tcp_connection_nr
5722 /*##########################################################################
5724 # Name : RdosGetLocalMailslot
5726 # Purpose....: Get local mailslot from name
5730 # Returns....: Mailslot handle
5732 ##########################################################################*/
5734 .global RdosGetLocalMailslot
5736 RdosGetLocalMailslot:
5743 UserGate get_local_mailslot_nr
5758 /*##########################################################################
5760 # Name : RdosGetRemoteMailslot
5762 # Purpose....: Get remote mailslot from name
5767 # Returns....: Mailslot handle
5769 ##########################################################################*/
5771 .global RdosGetRemoteMailslot
5773 RdosGetRemoteMailslot:
5782 UserGate get_remote_mailslot_nr
5798 /*##########################################################################
5800 # Name : RdosFreeMailslot
5802 # Purpose....: Free mailslot
5804 # Parameters.: Mailslot handle
5806 ##########################################################################*/
5808 .global RdosFreeMailslot
5816 UserGate free_mailslot_nr
5822 /*##########################################################################
5824 # Name : RdosSendMailslot
5826 # Purpose....: Send mailslot
5828 # Parameters.: Mailslot handle
5834 # Returns....: Size of reply
5836 ##########################################################################*/
5838 .global RdosSendMailslot
5852 UserGate send_mailslot_nr
5859 movl $0xFFFFFFFF,%eax
5868 /*##########################################################################
5870 # Name : RdosDefineMailslot
5872 # Purpose....: Define mailslot
5877 ##########################################################################*/
5879 .global RdosDefineMailslot
5889 UserGate define_mailslot_nr
5896 /*##########################################################################
5898 # Name : RdosReceiveMailslot
5900 # Purpose....: Receive from mailslot
5902 # Parameters.: Msg buffer
5904 # Returns....: Msg size
5906 ##########################################################################*/
5908 .global RdosReceiveMailslot
5910 RdosReceiveMailslot:
5917 UserGate receive_mailslot_nr
5925 /*##########################################################################
5927 # Name : RdosReplyMailslot
5929 # Purpose....: Reply to mailslot
5931 # Parameters.: Msg buffer
5934 ##########################################################################*/
5936 .global RdosReplyMailslot
5946 UserGate reply_mailslot_nr
5953 /*##########################################################################
5955 # Name : RdosGetIdeDisc
5957 # Purpose....: Get IDE disc
5959 # Parameters.: Unit #
5961 # Returns....: Disc #
5963 ##########################################################################*/
5965 .global RdosGetIdeDisc
5973 UserGate get_ide_disc_nr
5974 jc get_ide_disc_fail
5977 jmp get_ide_disc_done
5980 movl $0xFFFFFFFF,%eax
5987 /*##########################################################################
5989 # Name : RdosGetFloppyDisc
5991 # Purpose....: Get floppy disc
5993 # Parameters.: Unit #
5995 # Returns....: Disc #
5997 ##########################################################################*/
5999 .global RdosGetFloppyDisc
6007 UserGate get_floppy_disc_nr
6008 jc get_floppy_disc_fail
6011 jmp get_floppy_disc_done
6013 get_floppy_disc_fail:
6014 movl $0xFFFFFFFF,%eax
6016 get_floppy_disc_done:
6021 /*##########################################################################
6023 # Name : RdosGetDiscInfo
6025 # Purpose....: Get disc info
6027 # Parameters.: Disc #
6030 # BIOS sectors / cyl
6033 # Returns....: TRUE if ok
6035 ##########################################################################*/
6037 .global RdosGetDiscInfo
6049 UserGate get_disc_info_nr
6050 jc get_disc_info_fail
6068 jmp get_disc_info_done
6082 /*##########################################################################
6084 # Name : RdosSetDiscInfo
6086 # Purpose....: Set disc info
6088 # Parameters.: Disc #
6091 # BIOS sectors / cyl
6094 # Returns....: TRUE if ok
6096 ##########################################################################*/
6098 .global RdosSetDiscInfo
6114 UserGate set_disc_info_nr
6115 jc set_disc_info_fail
6118 jmp set_disc_info_done
6132 /*##########################################################################
6134 # Name : RdosReadDisc
6136 # Purpose....: Read from disc
6138 # Parameters.: Disc #
6143 # Returns....: TRUE if ok
6145 ##########################################################################*/
6147 .global RdosReadDisc
6160 UserGate read_disc_nr
6176 /*##########################################################################
6178 # Name : RdosWriteDisc
6180 # Purpose....: Write to disc
6182 # Parameters.: Disc #
6187 # Returns....: TRUE if ok
6189 ##########################################################################*/
6191 .global RdosWriteDisc
6204 UserGate write_disc_nr
6220 /*##########################################################################
6222 # Name : RdosAllocateFixedDrive
6224 # Purpose....: Allocate fixed drive
6226 # Parameters.: Drive #
6228 # Returns....: TRUE if ok
6230 ##########################################################################*/
6232 .global RdosAllocateFixedDrive
6234 RdosAllocateFixedDrive:
6239 UserGate allocate_fixed_drive_nr
6240 jc allocate_fixed_drive_fail
6243 jmp allocate_fixed_drive_done
6245 allocate_fixed_drive_fail:
6248 allocate_fixed_drive_done:
6252 /*##########################################################################
6254 # Name : RdosAllocateStaticDrive
6256 # Purpose....: Allocate static drive
6258 # Returns....: Drive #
6260 ##########################################################################*/
6262 .global RdosAllocateStaticDrive
6264 RdosAllocateStaticDrive:
6268 UserGate allocate_static_drive_nr
6269 jc allocate_static_drive_fail
6272 jmp allocate_static_drive_done
6274 allocate_static_drive_fail:
6277 allocate_static_drive_done:
6281 /*##########################################################################
6283 # Name : RdosAllocateDynamicDrive
6285 # Purpose....: Allocate dynamic drive
6287 # Returns....: Drive #
6289 ##########################################################################*/
6291 .global RdosAllocateDynamicDrive
6293 RdosAllocateDynamicDrive:
6297 UserGate allocate_dynamic_drive_nr
6298 jc allocate_dynamic_drive_fail
6301 jmp allocate_dynamic_drive_done
6303 allocate_dynamic_drive_fail:
6306 allocate_dynamic_drive_done:
6310 /*##########################################################################
6312 # Name : RdosGetRdfsInfo
6314 # Purpose....: Get rdfs info
6316 # Parameters.: Crypt tab
6320 ##########################################################################*/
6322 .global RdosGetRdfsInfo
6334 UserGate get_rdfs_info_nr
6342 /*##########################################################################
6344 # Name : RdosGetDriveInfo
6346 # Purpose....: Get drive info
6348 # Parameters.: Drive #
6353 # Returns....: TRUE if ok
6355 ##########################################################################*/
6357 .global RdosGetDriveInfo
6367 UserGate get_drive_info_nr
6368 jc get_drive_info_fail
6381 jmp get_drive_info_done
6383 get_drive_info_fail:
6386 get_drive_info_done:
6393 /*##########################################################################
6395 # Name : RdosDemandLoadDrive
6397 # Purpose....: Demand load drive
6399 # Parameters.: Drive #
6401 ##########################################################################*/
6403 .global RdosDemandLoadDrive
6405 RdosDemandLoadDrive:
6410 UserGate demand_load_drive_nr
6415 /*##########################################################################
6417 # Name : RdosGetDriveDiscParam
6419 # Purpose....: Get drive disc parameters
6421 # Parameters.: Drive #
6426 # Returns....: TRUE if ok
6428 ##########################################################################*/
6430 .global RdosGetDriveDiscParam
6432 RdosGetDriveDiscParam:
6440 UserGate get_drive_disc_param_nr
6441 jc get_drive_disc_param_fail
6454 jmp get_drive_disc_param_done
6456 get_drive_disc_param_fail:
6459 get_drive_disc_param_done:
6466 /*##########################################################################
6468 # Name : RdosFormatDrive
6470 # Purpose....: Format drive
6472 # Parameters.: Disc #
6477 # Returns....: Drive #
6479 ##########################################################################*/
6481 .global RdosFormatDrive
6494 UserGate format_drive_nr
6510 /*##########################################################################
6512 # Name : RdosGetExeName
6514 # Purpose....: Get name of executable file
6516 # Returns....: Exe pathname
6518 ##########################################################################*/
6520 .global RdosGetExeName
6527 UserGate get_exe_name_nr
6541 /*##########################################################################
6543 # Name : RdosOpenAdc
6545 # Purpose....: Open handle to ADC channel
6547 # Parameters.: Channel #
6549 # Returns....: Adc handle
6551 ##########################################################################*/
6561 UserGate open_adc_nr
6568 /*##########################################################################
6570 # Name : RdosCloseAdc
6572 # Purpose....: Close ADC handle
6574 # Parameters.: Adc handle
6576 ##########################################################################*/
6578 .global RdosCloseAdc
6586 UserGate close_adc_nr
6592 /*##########################################################################
6594 # Name : RdosDefineAdcTime
6596 # Purpose....: Define time of next conversion
6598 # Parameters.: Adc handle
6602 ##########################################################################*/
6604 .global RdosDefineAdcTime
6615 UserGate define_adc_time_nr
6622 /*##########################################################################
6624 # Name : RdosReadAdc
6626 # Purpose....: Read ADC
6628 # Parameters.: Adc handle
6630 # Returns....: Value
6632 ##########################################################################*/
6642 UserGate read_adc_nr
6648 /*##########################################################################
6650 # Name : RdosReadSerialLines
6652 # Purpose....: Read serial lines
6654 # Parameters.: Device
6657 # Returns....: TRUE if ok
6659 ##########################################################################*/
6661 .global RdosReadSerialLines
6663 RdosReadSerialLines:
6670 UserGate read_serial_lines_nr
6688 /*##########################################################################
6690 # Name : RdosToggleSerialLine
6692 # Purpose....: Toggle serial line
6694 # Parameters.: Device
6697 # Returns....: TRUE if ok
6699 ##########################################################################*/
6701 .global RdosToggleSerialLine
6703 RdosToggleSerialLine:
6710 UserGate toggle_serial_line_nr
6724 /*##########################################################################
6726 # Name : RdosReadSerialVal
6728 # Purpose....: Read serial value
6730 # Parameters.: Device
6734 # Returns....: TRUE if ok
6736 ##########################################################################*/
6738 .global RdosReadSerialVal
6748 UserGate read_serial_val_nr
6769 /*##########################################################################
6771 # Name : RdosWriteSerialVal
6773 # Purpose....: Write serial value
6775 # Parameters.: Device
6779 # Returns....: TRUE if ok
6781 ##########################################################################*/
6783 .global RdosWriteSerialVal
6794 UserGate write_serial_val_nr
6808 /*##########################################################################
6810 # Name : RdosReadSerialRaw
6812 # Purpose....: Read serial raw value
6814 # Parameters.: Device
6818 # Returns....: TRUE if ok
6820 ##########################################################################*/
6822 .global RdosReadSerialRaw
6832 UserGate read_serial_val_nr
6852 /*##########################################################################
6854 # Name : RdosWriteSerialRaw
6856 # Purpose....: Write serial raw value
6858 # Parameters.: Device
6862 # Returns....: TRUE if ok
6864 ##########################################################################*/
6866 .global RdosWriteSerialRaw
6876 UserGate write_serial_val_nr
6890 /*##########################################################################
6892 # Name : RdosOpenSysEnv
6894 # Purpose....: Open system environment
6896 # Returns....: Env handle
6898 ##########################################################################*/
6900 .global RdosOpenSysEnv
6907 UserGate open_sys_env_nr
6921 /*##########################################################################
6923 # Name : RdosOpenProcessEnv
6925 # Purpose....: Open process environment
6927 # Returns....: Env handle
6929 ##########################################################################*/
6931 .global RdosOpenProcessEnv
6938 UserGate open_proc_env_nr
6952 /*##########################################################################
6954 # Name : RdosCloseEnv
6956 # Purpose....: Close environment
6958 # Parameters.: Env handle
6960 ##########################################################################*/
6962 .global RdosCloseEnv
6970 UserGate close_env_nr
6976 /*##########################################################################
6978 # Name : RdosAddEnvVar
6980 # Purpose....: Add environment variable
6982 # Parameters.: Env handle
6986 ##########################################################################*/
6988 .global RdosAddEnvVar
7000 UserGate add_env_var_nr
7008 /*##########################################################################
7010 # Name : RdosDeleteEnvVar
7012 # Purpose....: Delete environment variable
7014 # Parameters.: Env handle
7017 ##########################################################################*/
7019 .global RdosDeleteEnvVar
7029 UserGate delete_env_var_nr
7036 /*##########################################################################
7038 # Name : RdosFindEnvVar
7040 # Purpose....: Find environment variable
7042 # Parameters.: Env handle
7046 ##########################################################################*/
7048 .global RdosFindEnvVar
7060 UserGate find_env_var_nr
7076 /*##########################################################################
7078 # Name : RdosGetEnvData
7080 # Purpose....: Get raw environment data
7082 # Parameters.: Env handle
7085 ##########################################################################*/
7087 .global RdosGetEnvData
7097 UserGate get_env_data_nr
7109 /*##########################################################################
7111 # Name : RdosSetEnvData
7113 # Purpose....: Set raw environment data
7115 # Parameters.: Env handle
7118 ##########################################################################*/
7120 .global RdosSetEnvData
7130 UserGate set_env_data_nr
7137 /*##########################################################################
7139 # Name : RdosOpenSysIni
7141 # Purpose....: Open system ini-file
7143 # Returns....: Ini handle
7145 ##########################################################################*/
7147 .global RdosOpenSysIni
7154 UserGate open_sys_ini_nr
7168 /*##########################################################################
7170 # Name : RdosCloseIni
7172 # Purpose....: Close ini-file
7174 # Parameters.: Ini handle
7176 ##########################################################################*/
7178 .global RdosCloseIni
7186 UserGate close_ini_nr
7192 /*##########################################################################
7194 # Name : RdosGotoIniSection
7196 # Purpose....: Goto ini section
7198 # Parameters.: Ini handle
7201 ##########################################################################*/
7203 .global RdosGotoIniSection
7213 UserGate goto_ini_section_nr
7228 /*##########################################################################
7230 # Name : RdosRemoveIniSection
7232 # Purpose....: Remove current ini section
7234 # Parameters.: Ini handle
7236 ##########################################################################*/
7238 .global RdosRemoveIniSection
7240 RdosRemoveIniSection:
7246 UserGate remove_ini_section_nr
7260 /*##########################################################################
7262 # Name : RdosReadIni
7264 # Purpose....: Read ini var in current section
7266 # Parameters.: Ini handle
7271 ##########################################################################*/
7287 UserGate read_ini_nr
7304 /*##########################################################################
7306 # Name : RdosWriteIni
7308 # Purpose....: Write ini var in current section
7310 # Parameters.: Ini handle
7314 ##########################################################################*/
7316 .global RdosWriteIni
7328 UserGate write_ini_nr
7344 /*##########################################################################
7346 # Name : RdosDeleteIni
7348 # Purpose....: Delete ini var in current section
7350 # Parameters.: Ini handle
7353 ##########################################################################*/
7355 .global RdosDeleteIni
7365 UserGate delete_ini_nr
7380 /*##########################################################################
7382 # Name : RdosCreateFileDrive
7384 # Purpose....: Create a new file-drive
7386 # Parameters.: Drive
7391 ##########################################################################*/
7393 .global RdosCreateFileDrive
7395 RdosCreateFileDrive:
7406 UserGate create_file_drive_nr
7422 /*##########################################################################
7424 # Name : RdosOpenFileDrive
7426 # Purpose....: Open a new file-drive
7428 # Parameters.: Drive
7431 ##########################################################################*/
7433 .global RdosOpenFileDrive
7442 UserGate open_file_drive_nr
7456 /*##########################################################################
7458 # Name : RdosEnableStatusLed
7460 # Purpose....: Enable status LED
7462 ##########################################################################*/
7464 .global RdosEnableStatusLed
7466 RdosEnableStatusLed:
7469 UserGate enable_status_led_nr
7473 /*##########################################################################
7475 # Name : RdosDisableStatusLed
7477 # Purpose....: Disable status LED
7479 ##########################################################################*/
7481 .global RdosDisableStatusLed
7483 RdosDisableStatusLed:
7486 UserGate disable_status_led_nr
7490 /*##########################################################################
7492 # Name : RdosStartWatchdog
7494 # Purpose....: Start watchdog
7496 # Parameters.: Timeout, ms
7498 ##########################################################################*/
7500 .global RdosStartWatchdog
7507 UserGate start_watchdog_nr
7512 /*##########################################################################
7514 # Name : RdosKickWatchdog
7516 # Purpose....: Kick watchdog
7518 ##########################################################################*/
7520 .global RdosKickWatchdog
7525 UserGate kick_watchdog_nr