فهرست منبع

Merge pull request #175 from prife/simulator

simulator: add createdef.py to generate def file for VS
Bernard Xiong 11 سال پیش
والد
کامیت
887076bab1
5فایلهای تغییر یافته به همراه37 افزوده شده و 1438 حذف شده
  1. 5 6
      bsp/simulator/SConstruct
  2. 23 0
      bsp/simulator/createdef.py
  3. 1 1
      bsp/simulator/drivers/module_win32.c
  4. 0 1430
      bsp/simulator/rtthread.def
  5. 8 1
      include/rtm.h

+ 5 - 6
bsp/simulator/SConstruct

@@ -122,13 +122,12 @@ if GetDepend('RT_USING_MODULE'):
       default=False,
       help='create rthread.def of rtthread.dll on windows')
     if GetOption('def'):
-        if rtconfig.PLATFORM != 'mingw':
-            print "scons error: `--def' can only work with mingw"
-            exit(1)
+        if rtconfig.PLATFORM == 'mingw':
+            env['LINKFLAGS'] = rtconfig.DEFFILE_LFLAGS
+        else:
+            rtconfig.POST_ACTION = 'createdef.py $TARGET rtthread.def'
 
-        env['LINKFLAGS'] = rtconfig.DEFFILE_LFLAGS
-        env.SharedLibrary("rtthread.dll", objs)
-        program = ''
+        program = env.Program(TARGET, objs)
     else:
         if rtconfig.PLATFORM == 'cl':
             objs += ['rtthread.def']

+ 23 - 0
bsp/simulator/createdef.py

@@ -0,0 +1,23 @@
+import re
+import sys
+
+fsrc = "rtthread.dll"
+fname ="rtthread.def"
+prefix = "__vs_rtm_"
+
+if len(sys.argv) >= 2:
+    fsrc = sys.argv[1]
+    fname = sys.argv[2]
+
+#restr = r"__vs_rtm_.*?\0"
+restr = prefix + r".*?\0"
+s = open(fsrc, 'rb').read()
+l = re.findall(restr, s, re.S)
+lines = [i[len(prefix):-1] for i in l]
+
+s = '\n'.join(lines)
+
+fout = open(fname, 'w')
+fout.write('EXPORTS\n')
+fout.write('main\n')
+fout.write(s)

+ 1 - 1
bsp/simulator/drivers/module_win32.c

@@ -128,7 +128,7 @@ void rt_module_unload_sethook(void (*hook)(rt_module_t module))
  *
  * This function will initialize system module
  */
-void rt_system_module_init(void)
+int rt_system_module_init(void)
 {
 }
 

+ 0 - 1430
bsp/simulator/rtthread.def

@@ -1,1430 +0,0 @@
-EXPORTS
-    MS_VC_EXCEPTION @1 DATA
-    OP_add_byte @2
-    OP_add_dword @3
-    OP_add_word @4
-    OP_and_byte @5
-    OP_and_dword @6
-    OP_and_word @7
-    OP_bw_byte @8
-    OP_bw_dword @9
-    OP_bw_word @10
-    OP_call @11
-    OP_div_byte @12
-    OP_div_dword @13
-    OP_div_word @14
-    OP_ld_byte @15
-    OP_ld_dword @16
-    OP_ld_value_byte @17
-    OP_ld_value_byte_stack @18
-    OP_ld_value_dword @19
-    OP_ld_value_dword_stack @20
-    OP_ld_value_word @21
-    OP_ld_value_word_stack @22
-    OP_ld_word @23
-    OP_mod_byte @24
-    OP_mod_dword @25
-    OP_mod_word @26
-    OP_mul_byte @27
-    OP_mul_dword @28
-    OP_mul_word @29
-    OP_no_op @30
-    OP_or_byte @31
-    OP_or_dword @32
-    OP_or_word @33
-    OP_pop @34
-    OP_shl_byte @35
-    OP_shl_dword @36
-    OP_shl_word @37
-    OP_shr_byte @38
-    OP_shr_dword @39
-    OP_shr_word @40
-    OP_st_byte @41
-    OP_st_dword @42
-    OP_st_word @43
-    OP_sub_byte @44
-    OP_sub_dword @45
-    OP_sub_word @46
-    OP_xor_byte @47
-    OP_xor_dword @48
-    OP_xor_word @49
-    RegisterSimulateInterrupt @50
-    SysTickInterruptHandle @51
-    TriggerSimulateInterrupt @52
-    WinThreadScheduler @53
-    YieldInterruptHandle @54
-    _BufFlush @55
-    _CheckObjBufRef @56
-    _FindMinimunPageIdFromDirtyList @57
-    __fsym_application @58 DATA
-    __fsym_application_desc @59 DATA
-    __fsym_application_name @60 DATA
-    __fsym_cat @61 DATA
-    __fsym_cat_desc @62 DATA
-    __fsym_cat_name @63 DATA
-    __fsym_copy @64 DATA
-    __fsym_copy_desc @65 DATA
-    __fsym_copy_name @66 DATA
-    __fsym_demo_xml @67 DATA
-    __fsym_demo_xml_desc @68 DATA
-    __fsym_demo_xml_name @69 DATA
-    __fsym_df @70 DATA
-    __fsym_df_desc @71 DATA
-    __fsym_df_name @72 DATA
-    __fsym_digfont_file @73 DATA
-    __fsym_digfont_file_desc @74 DATA
-    __fsym_digfont_file_name @75 DATA
-    __fsym_dump_tree @76 DATA
-    __fsym_dump_tree_desc @77 DATA
-    __fsym_dump_tree_name @78 DATA
-    __fsym_hello @79 DATA
-    __fsym_hello_desc @80 DATA
-    __fsym_hello_name @81 DATA
-    __fsym_list @82 DATA
-    __fsym_list_desc @83 DATA
-    __fsym_list_device @84 DATA
-    __fsym_list_device_desc @85 DATA
-    __fsym_list_device_name @86 DATA
-    __fsym_list_event @87 DATA
-    __fsym_list_event_desc @88 DATA
-    __fsym_list_event_name @89 DATA
-    __fsym_list_mailbox @90 DATA
-    __fsym_list_mailbox_desc @91 DATA
-    __fsym_list_mailbox_name @92 DATA
-    __fsym_list_mem @93 DATA
-    __fsym_list_mem_desc @94 DATA
-    __fsym_list_mem_name @95 DATA
-    __fsym_list_mod_detail @96 DATA
-    __fsym_list_mod_detail_desc @97 DATA
-    __fsym_list_mod_detail_name @98 DATA
-    __fsym_list_module @99 DATA
-    __fsym_list_module_desc @100 DATA
-    __fsym_list_module_name @101 DATA
-    __fsym_list_msgqueue @102 DATA
-    __fsym_list_msgqueue_desc @103 DATA
-    __fsym_list_msgqueue_name @104 DATA
-    __fsym_list_mutex @105 DATA
-    __fsym_list_mutex_desc @106 DATA
-    __fsym_list_mutex_name @107 DATA
-    __fsym_list_name @108 DATA
-    __fsym_list_sem @109 DATA
-    __fsym_list_sem_desc @110 DATA
-    __fsym_list_sem_name @111 DATA
-    __fsym_list_thread @112 DATA
-    __fsym_list_thread_desc @113 DATA
-    __fsym_list_thread_name @114 DATA
-    __fsym_list_timer @115 DATA
-    __fsym_list_timer_desc @116 DATA
-    __fsym_list_timer_name @117 DATA
-    __fsym_ls @118 DATA
-    __fsym_ls_desc @119 DATA
-    __fsym_ls_name @120 DATA
-    __fsym_mkdir @121 DATA
-    __fsym_mkdir_desc @122 DATA
-    __fsym_mkdir_name @123 DATA
-    __fsym_mkfs @124 DATA
-    __fsym_mkfs_desc @125 DATA
-    __fsym_mkfs_name @126 DATA
-    __fsym_nand_eraseall @127 DATA
-    __fsym_nand_eraseall_desc @128 DATA
-    __fsym_nand_eraseall_name @129 DATA
-    __fsym_rm @130 DATA
-    __fsym_rm_desc @131 DATA
-    __fsym_rm_name @132 DATA
-    __fsym_rt_hw_exit @133 DATA
-    __fsym_rt_hw_exit_desc @134 DATA
-    __fsym_rt_hw_exit_name @135 DATA
-    __fsym_rt_module_open @136 DATA
-    __fsym_rt_module_open_desc @137 DATA
-    __fsym_rt_module_open_name @138 DATA
-    __fsym_screenshot @139 DATA
-    __fsym_screenshot_desc @140 DATA
-    __fsym_screenshot_name @141 DATA
-    __fsym_sd_erase @142 DATA
-    __fsym_sd_erase_desc @143 DATA
-    __fsym_sd_erase_name @144 DATA
-    __fsym_snake_main @145 DATA
-    __fsym_snake_main_desc @146 DATA
-    __fsym_snake_main_name @147 DATA
-    __fsym_version @148 DATA
-    __fsym_version_desc @149 DATA
-    __fsym_version_name @150 DATA
-    __vsym_dummy @151 DATA
-    __vsym_dummy_desc @152 DATA
-    __vsym_dummy_name @153 DATA
-    _device @154 DATA
-    _draw_default @155
-    _driver @156 DATA
-    _framebuffer_mono_ops @157 DATA
-    _framebuffer_rgb565_ops @158 DATA
-    _framebuffer_rgb565p_ops @159 DATA
-    _onidle @160
-    _pipe @161 DATA
-    _pixel_mono_ops @162 DATA
-    _pixel_rgb565_ops @163 DATA
-    _pixel_rgb565p_ops @164 DATA
-    _pixel_rgb888_ops @165 DATA
-    _rt_errno @166
-    _rtgui_application @167 DATA
-    _rtgui_box @168 DATA
-    _rtgui_button @169 DATA
-    _rtgui_checkbox @170 DATA
-    _rtgui_combobox @171 DATA
-    _rtgui_container @172 DATA
-    _rtgui_cursor @173 DATA
-    _rtgui_digtube @174 DATA
-    _rtgui_edit @175 DATA
-    _rtgui_edit_constructor @176
-    _rtgui_edit_deconstructor @177
-    _rtgui_filelist @178 DATA
-    _rtgui_groupbox @179 DATA
-    _rtgui_iconbox @180 DATA
-    _rtgui_label @181 DATA
-    _rtgui_listbox @182 DATA
-    _rtgui_listctrl @183 DATA
-    _rtgui_listctrl_item_draw @184
-    _rtgui_listview @185 DATA
-    _rtgui_menu @186 DATA
-    _rtgui_mv_model @187 DATA
-    _rtgui_mv_view @188 DATA
-    _rtgui_mywidget @189 DATA
-    _rtgui_notebook @190 DATA
-    _rtgui_object @191 DATA
-    _rtgui_panel @192 DATA
-    _rtgui_plot @193 DATA
-    _rtgui_plot_curve @194 DATA
-    _rtgui_progressbar @195 DATA
-    _rtgui_radiobox @196 DATA
-    _rtgui_scrollbar @197 DATA
-    _rtgui_scrollbar_get_length @198
-    _rtgui_slider @199 DATA
-    _rtgui_staticline @200 DATA
-    _rtgui_textbox @201 DATA
-    _rtgui_textview @202 DATA
-    _rtgui_widget @203 DATA
-    _rtgui_win @204 DATA
-    _rtgui_wintitle @205 DATA
-    _syscall_table_begin @206 DATA
-    _syscall_table_end @207 DATA
-    _sysvar_table_begin @208 DATA
-    _sysvar_table_end @209 DATA
-    animation_event_handler @210
-    application @211
-    application_init @212
-    asc12 @213 DATA
-    asc12_font @214 DATA
-    asc16 @215 DATA
-    asc16_font @216 DATA
-    atoi @217
-    auto_window_close @218
-    benchmark_event_handler @219
-    black @220 DATA
-    blue @221 DATA
-    bmp_align_write @222
-    bmp_font_engine @223 DATA
-    bmpdt @224 DATA
-    cat @225
-    close @226
-    closedir @227
-    clust2sect @228
-    copy @229
-    cos_ydata @230 DATA
-    dark_grey @231 DATA
-    dc_client_engine @232 DATA
-    dc_event_handler @233
-    dc_hw_engine @234 DATA
-    default_background @235 DATA
-    default_foreground @236 DATA
-    demo_bitmap_open @237
-    demo_bitmap_showbox @238
-    demo_edit_event_handler @239
-    demo_edit_get_mem @240
-    demo_edit_readin_file @241
-    demo_edit_saveas_file @242
-    demo_image_rotate @243
-    demo_image_zoom_in @244
-    demo_image_zoom_out @245
-    demo_plot @246
-    demo_view @247
-    demo_view_animation @248
-    demo_view_benchmark @249
-    demo_view_bmp @250
-    demo_view_box @251
-    demo_view_buffer_animation @252
-    demo_view_button @253
-    demo_view_checkbox @254
-    demo_view_combobox @255
-    demo_view_dc @256
-    demo_view_dc_buffer @257
-    demo_view_digtube @258
-    demo_view_edit @259
-    demo_view_get_logic_rect @260
-    demo_view_get_rect @261
-    demo_view_instrument_panel @262
-    demo_view_label @263
-    demo_view_listbox @264
-    demo_view_listctrl @265
-    demo_view_menu @266
-    demo_view_mywidget @267
-    demo_view_next @268
-    demo_view_notebook @269
-    demo_view_prev @270
-    demo_view_progressbar @271
-    demo_view_radiobox @272
-    demo_view_scrollbar @273
-    demo_view_slider @274
-    demo_view_textbox @275
-    demo_view_window @276
-    demo_xml @277
-    df @278
-    dfs_elm_close @279
-    dfs_elm_flush @280
-    dfs_elm_getdents @281
-    dfs_elm_ioctl @282
-    dfs_elm_lseek @283
-    dfs_elm_mkfs @284
-    dfs_elm_mount @285
-    dfs_elm_open @286
-    dfs_elm_read @287
-    dfs_elm_rename @288
-    dfs_elm_stat @289
-    dfs_elm_statfs @290
-    dfs_elm_unlink @291
-    dfs_elm_unmount @292
-    dfs_elm_write @293
-    dfs_file_close @294
-    dfs_file_flush @295
-    dfs_file_getdents @296
-    dfs_file_ioctl @297
-    dfs_file_lseek @298
-    dfs_file_open @299
-    dfs_file_read @300
-    dfs_file_rename @301
-    dfs_file_stat @302
-    dfs_file_unlink @303
-    dfs_file_write @304
-    dfs_filesystem_get_partition @305
-    dfs_filesystem_lookup @306
-    dfs_init @307
-    dfs_lock @308
-    dfs_mkfs @309
-    dfs_mount @310
-    dfs_normalize_path @311
-    dfs_register @312
-    dfs_statfs @313
-    dfs_subdir @314
-    dfs_uffs_init @315
-    dfs_unlock @316
-    dfs_unmount @317
-    dfs_win32_dirdup @318
-    dfs_win32_init @319
-    diag_close @320
-    digfont_file @321
-    digitfont_40 @322 DATA
-    digtube_code_table @323 DATA
-    disable_foreground @324 DATA
-    disk_initialize @325
-    disk_ioctl @326
-    disk_read @327
-    disk_status @328
-    disk_write @329
-    dump_tree @330
-    ecc_hamming_compute256x @331
-    elm_get_vol @332
-    elm_init @333
-    f_chmod @334
-    f_close @335
-    f_getfree @336
-    f_lseek @337
-    f_mkdir @338
-    f_mkfs @339
-    f_mount @340
-    f_open @341
-    f_opendir @342
-    f_read @343
-    f_readdir @344
-    f_rename @345
-    f_seekdir @346
-    f_stat @347
-    f_sync @348
-    f_truncate @349
-    f_unlink @350
-    f_utime @351
-    f_write @352
-    fd_get @353
-    fd_is_open @354
-    fd_new @355
-    fd_put @356
-    fd_table @357 DATA
-    ff_cre_syncobj @358
-    ff_del_syncobj @359
-    ff_rel_grant @360
-    ff_req_grant @361
-    filesystem_operation_table @362 DATA
-    filesystem_table @363 DATA
-    finsh_auto_complete @364
-    finsh_compile_pc @365 DATA
-    finsh_compile_sp @366 DATA
-    finsh_compiler_run @367
-    finsh_errno @368
-    finsh_error_init @369
-    finsh_error_set @370
-    finsh_error_string @371
-    finsh_flush @372
-    finsh_get_device @373
-    finsh_get_echo @374
-    finsh_handle_history @375
-    finsh_heap @376 DATA
-    finsh_heap_allocate @377
-    finsh_heap_free @378
-    finsh_heap_init @379
-    finsh_init @380
-    finsh_node_allocate @381
-    finsh_node_init @382
-    finsh_node_new_char @383
-    finsh_node_new_id @384
-    finsh_node_new_int @385
-    finsh_node_new_long @386
-    finsh_node_new_ptr @387
-    finsh_node_new_string @388
-    finsh_parser_init @389
-    finsh_parser_run @390
-    finsh_pc @391 DATA
-    finsh_push_history @392
-    finsh_reset @393
-    finsh_run_line @394
-    finsh_set_device @395
-    finsh_set_echo @396
-    finsh_sp @397 DATA
-    finsh_stack_bottom @398
-    finsh_syscall_append @399
-    finsh_syscall_lookup @400
-    finsh_system_function_init @401
-    finsh_system_init @402
-    finsh_system_var_init @403
-    finsh_sysvar_append @404
-    finsh_sysvar_lookup @405
-    finsh_thread_entry @406
-    finsh_token_get_token @407
-    finsh_token_init @408
-    finsh_token_token @409
-    finsh_var_delete @410
-    finsh_var_init @411
-    finsh_var_insert @412
-    finsh_var_lookup @413
-    finsh_vm_run @414
-    finsh_vm_stack @415 DATA
-    food_deinit @416
-    food_init @417
-    food_num @418 DATA
-    fstat @419
-    get_fat @420
-    get_fattime @421
-    get_sbar_active_len @422
-    get_scrollbar_pos @423
-    getcwd @424
-    global_errno @425 DATA
-    global_node_table @426 DATA
-    global_syscall_list @427 DATA
-    global_sysvar_list @428 DATA
-    global_variable @429 DATA
-    green @430 DATA
-    heap @431 DATA
-    hello @432
-    high_light @433 DATA
-    hz16 @434 DATA
-    hz16_font @435 DATA
-    hz_bmp_font_engine @436 DATA
-    instrument_panel_event_handler @437
-    isalpha @438
-    isprint @439
-    items @440 DATA
-    kbd_event_set_key @441
-    light_grey @442 DATA
-    list @443
-    list_device @444
-    list_event @445
-    list_mailbox @446
-    list_mem @447
-    list_mod_detail @448
-    list_module @449
-    list_msgqueue @450
-    list_mutex @451
-    list_prefix @452
-    list_sem @453
-    list_thread @454
-    list_timer @455
-    ls @456
-    lseek @457
-    main @458
-    main_win @459 DATA
-    map @460 DATA
-    map_deinit @461
-    map_init @462
-    mkdir @463
-    mkfs @464
-    nand_eraseall @465
-    nand_ops @466 DATA
-    newdir @467 DATA
-    normal_window @468 DATA
-    normal_window_label @469 DATA
-    op_table @470 DATA
-    open @471
-    opendir @472
-    play_image @473 DATA
-    prevdir @474 DATA
-    progressbar_timeout @475
-    put_fat @476
-    read @477
-    readdir @478
-    red @479 DATA
-    rename @480
-    rewinddir @481
-    rgbRecord @482 DATA
-    rm @483
-    rmdir @484
-    rt_application_init @485
-    rt_calloc @486
-    rt_completion_done @487
-    rt_completion_init @488
-    rt_completion_wait @489
-    rt_components_init @490
-    rt_console_get_device @491
-    rt_console_set_device @492
-    rt_current_priority @493 DATA
-    rt_current_thread @494 DATA
-    rt_data_queue_init @495
-    rt_data_queue_peak @496
-    rt_data_queue_pop @497
-    rt_data_queue_push @498
-    rt_data_queue_reset @499
-    rt_device_close @500
-    rt_device_control @501
-    rt_device_find @502
-    rt_device_init @503
-    rt_device_init_all @504
-    rt_device_open @505
-    rt_device_read @506
-    rt_device_register @507
-    rt_device_set_rx_indicate @508
-    rt_device_set_tx_complete @509
-    rt_device_unregister @510
-    rt_device_write @511
-    rt_enter_critical @512
-    rt_event_control @513
-    rt_event_create @514
-    rt_event_delete @515
-    rt_event_detach @516
-    rt_event_init @517
-    rt_event_recv @518
-    rt_event_send @519
-    rt_exit_critical @520
-    rt_free @521
-    rt_free_align @522
-    rt_free_sethook @523
-    rt_get_errno @524
-    rt_hw_board_init @525
-    rt_hw_context_switch @526
-    rt_hw_context_switch_interrupt @527
-    rt_hw_context_switch_to @528
-    rt_hw_exit @529
-    rt_hw_interrupt_disable @530
-    rt_hw_interrupt_enable @531
-    rt_hw_mtd_nand_init @532
-    rt_hw_sdcard_init @533
-    rt_hw_sdl_start @534
-    rt_hw_serial_init @535
-    rt_hw_serial_register @536
-    rt_hw_sram_init @537
-    rt_hw_stack_init @538
-    rt_hw_usart_init @539
-    rt_hw_win32_low_cpu @540
-    rt_init_thread_entry @541
-    rt_interrupt_enter @542
-    rt_interrupt_from_thread @543 DATA
-    rt_interrupt_get_nest @544
-    rt_interrupt_leave @545
-    rt_interrupt_nest @546 DATA
-    rt_interrupt_to_thread @547 DATA
-    rt_kprintf @548
-    rt_lowest_bitmap @549 DATA
-    rt_malloc @550
-    rt_malloc_align @551
-    rt_malloc_sethook @552
-    rt_mb_control @553
-    rt_mb_create @554
-    rt_mb_delete @555
-    rt_mb_detach @556
-    rt_mb_init @557
-    rt_mb_recv @558
-    rt_mb_send @559
-    rt_mb_send_wait @560
-    rt_memcmp @561
-    rt_memcpy @562
-    rt_memmove @563
-    rt_memory_info @564
-    rt_memset @565
-    rt_module_destroy @566
-    rt_module_find @567
-    rt_module_load_sethook @568
-    rt_module_open @569
-    rt_module_self @570
-    rt_module_unload_sethook @571
-    rt_mq_control @572
-    rt_mq_create @573
-    rt_mq_delete @574
-    rt_mq_detach @575
-    rt_mq_init @576
-    rt_mq_recv @577
-    rt_mq_send @578
-    rt_mq_urgent @579
-    rt_mtd_nand_register_device @580
-    rt_mutex_control @581
-    rt_mutex_create @582
-    rt_mutex_delete @583
-    rt_mutex_detach @584
-    rt_mutex_init @585
-    rt_mutex_release @586
-    rt_mutex_take @587
-    rt_object_allocate @588
-    rt_object_attach_sethook @589
-    rt_object_container @590 DATA
-    rt_object_delete @591
-    rt_object_detach @592
-    rt_object_detach_sethook @593
-    rt_object_find @594
-    rt_object_get_information @595
-    rt_object_init @596
-    rt_object_is_systemobject @597
-    rt_object_put_hook @598 DATA
-    rt_object_put_sethook @599
-    rt_object_take_hook @600 DATA
-    rt_object_take_sethook @601
-    rt_object_trytake_hook @602 DATA
-    rt_object_trytake_sethook @603
-    rt_pipe_create @604
-    rt_pipe_destroy @605
-    rt_platform_init @606
-    rt_realloc @607
-    rt_ringbuffer_get @608
-    rt_ringbuffer_getchar @609
-    rt_ringbuffer_init @610
-    rt_ringbuffer_put @611
-    rt_ringbuffer_putchar @612
-    rt_schedule @613
-    rt_schedule_insert_thread @614
-    rt_schedule_remove_thread @615
-    rt_scheduler_sethook @616
-    rt_sem_control @617
-    rt_sem_create @618
-    rt_sem_delete @619
-    rt_sem_detach @620
-    rt_sem_init @621
-    rt_sem_release @622
-    rt_sem_take @623
-    rt_sem_trytake @624
-    rt_set_errno @625
-    rt_show_version @626
-    rt_snprintf @627
-    rt_sprintf @628
-    rt_strcasecmp @629
-    rt_strcmp @630
-    rt_strdup @631
-    rt_strlen @632
-    rt_strncmp @633
-    rt_strncpy @634
-    rt_strstr @635
-    rt_system_heap_init @636
-    rt_system_module_init @637
-    rt_system_object_init @638
-    rt_system_scheduler_init @639
-    rt_system_scheduler_start @640
-    rt_system_tick_init @641
-    rt_system_timer_init @642
-    rt_system_timer_thread_init @643
-    rt_thread_control @644
-    rt_thread_create @645
-    rt_thread_defunct @646 DATA
-    rt_thread_delay @647
-    rt_thread_delete @648
-    rt_thread_detach @649
-    rt_thread_find @650
-    rt_thread_idle_excute @651
-    rt_thread_idle_init @652
-    rt_thread_idle_sethook @653
-    rt_thread_init @654
-    rt_thread_priority_table @655 DATA
-    rt_thread_ready_priority_group @656 DATA
-    rt_thread_resume @657
-    rt_thread_self @658
-    rt_thread_sleep @659
-    rt_thread_startup @660
-    rt_thread_suspend @661
-    rt_thread_switch_interrupt_flag @662 DATA
-    rt_thread_timeout @663
-    rt_thread_yield @664
-    rt_tick_from_millisecond @665
-    rt_tick_get @666
-    rt_tick_increase @667
-    rt_tick_set @668
-    rt_timer_check @669
-    rt_timer_control @670
-    rt_timer_create @671
-    rt_timer_delete @672
-    rt_timer_detach @673
-    rt_timer_init @674
-    rt_timer_next_timeout_tick @675
-    rt_timer_start @676
-    rt_timer_stop @677
-    rt_timer_timeout_sethook @678
-    rt_vsprintf @679
-    rt_win_sharedir_init @680
-    rtgui_ack @681
-    rtgui_app_activate @682
-    rtgui_app_close @683
-    rtgui_app_create @684
-    rtgui_app_destroy @685
-    rtgui_app_event_handler @686
-    rtgui_app_exit @687
-    rtgui_app_get_onidle @688
-    rtgui_app_run @689
-    rtgui_app_self @690
-    rtgui_app_set_as_wm @691
-    rtgui_app_set_main_win @692
-    rtgui_app_set_onidle @693
-    rtgui_bitmap_font_draw_char @694
-    rtgui_blit_line_2_2_inv @695
-    rtgui_blit_line_direct @696
-    rtgui_blit_line_get @697
-    rtgui_blit_line_get_inv @698
-    rtgui_box_create @699
-    rtgui_box_destroy @700
-    rtgui_box_layout @701
-    rtgui_box_layout_rect @702
-    rtgui_button_create @703
-    rtgui_button_destroy @704
-    rtgui_button_event_handler @705
-    rtgui_button_set_onbutton @706
-    rtgui_button_set_pressed_image @707
-    rtgui_button_set_unpressed_image @708
-    rtgui_checkbox_create @709
-    rtgui_checkbox_destroy @710
-    rtgui_checkbox_event_handler @711
-    rtgui_checkbox_get_checked @712
-    rtgui_checkbox_set_checked @713
-    rtgui_checkbox_set_onbutton @714
-    rtgui_combobox_create @715
-    rtgui_combobox_destroy @716
-    rtgui_combobox_event_handler @717
-    rtgui_combobox_pdwin_ondeactive @718
-    rtgui_combobox_pdwin_onitem @719
-    rtgui_combobox_set_onselected @720
-    rtgui_combox_get_select @721
-    rtgui_container_add_child @722
-    rtgui_container_broadcast_event @723
-    rtgui_container_create @724
-    rtgui_container_destroy @725
-    rtgui_container_destroy_children @726
-    rtgui_container_dispatch_event @727
-    rtgui_container_dispatch_mouse_event @728
-    rtgui_container_event_handler @729
-    rtgui_container_get_first_child @730
-    rtgui_container_layout @731
-    rtgui_container_remove_child @732
-    rtgui_container_set_box @733
-    rtgui_dc_begin_drawing @734
-    rtgui_dc_buffer_create @735
-    rtgui_dc_buffer_get_pixel @736
-    rtgui_dc_client_create @737
-    rtgui_dc_client_init @738
-    rtgui_dc_destory @739
-    rtgui_dc_draw_annulus @740
-    rtgui_dc_draw_arc @741
-    rtgui_dc_draw_border @742
-    rtgui_dc_draw_byte @743
-    rtgui_dc_draw_circle @744
-    rtgui_dc_draw_digitfont @745
-    rtgui_dc_draw_digitfont_code @746
-    rtgui_dc_draw_ellipse @747
-    rtgui_dc_draw_focus_rect @748
-    rtgui_dc_draw_horizontal_line @749
-    rtgui_dc_draw_line @750
-    rtgui_dc_draw_mono_bmp @751
-    rtgui_dc_draw_polygon @752
-    rtgui_dc_draw_rect @753
-    rtgui_dc_draw_regular_polygon @754
-    rtgui_dc_draw_round_rect @755
-    rtgui_dc_draw_sector @756
-    rtgui_dc_draw_shaded_rect @757
-    rtgui_dc_draw_text @758
-    rtgui_dc_draw_text_stroke @759
-    rtgui_dc_draw_vertical_line @760
-    rtgui_dc_draw_word @761
-    rtgui_dc_end_drawing @762
-    rtgui_dc_fill_circle @763
-    rtgui_dc_fill_ellipse @764
-    rtgui_dc_fill_polygon @765
-    rtgui_dc_fill_rect_forecolor @766
-    rtgui_dc_fill_round_rect @767
-    rtgui_dc_fill_sector @768
-    rtgui_dc_hw_create @769
-    rtgui_digitfont_create @770
-    rtgui_digtube_create @771
-    rtgui_digtube_destroy @772
-    rtgui_digtube_event_handler @773
-    rtgui_edit_append_line @774
-    rtgui_edit_connect_line @775
-    rtgui_edit_create @776
-    rtgui_edit_delete_line @777
-    rtgui_edit_destroy @778
-    rtgui_edit_event_handler @779
-    rtgui_edit_get_current_point @780
-    rtgui_edit_get_index_by_line @781
-    rtgui_edit_get_line_by_index @782
-    rtgui_edit_get_mem_consume @783
-    rtgui_edit_insert_line @784
-    rtgui_edit_ondraw @785
-    rtgui_edit_readin_file @786
-    rtgui_edit_saveas_file @787
-    rtgui_edit_set_text @788
-    rtgui_edit_update @789
-    rtgui_empty_point @790 DATA
-    rtgui_empty_rect @791 DATA
-    rtgui_filelist_view_create @792
-    rtgui_filelist_view_destroy @793
-    rtgui_filelist_view_event_handler @794
-    rtgui_filelist_view_get_fullpath @795
-    rtgui_filelist_view_ondraw @796
-    rtgui_filelist_view_set_directory @797
-    rtgui_filelist_view_update_current @798
-    rtgui_filerw_close @799
-    rtgui_filerw_create_file @800
-    rtgui_filerw_create_mem @801
-    rtgui_filerw_eof @802
-    rtgui_filerw_mem_getdata @803
-    rtgui_filerw_read @804
-    rtgui_filerw_seek @805
-    rtgui_filerw_tell @806
-    rtgui_filerw_unlink @807
-    rtgui_filerw_write @808
-    rtgui_font_asc12 @809 DATA
-    rtgui_font_asc16 @810 DATA
-    rtgui_font_default @811
-    rtgui_font_derefer @812
-    rtgui_font_draw @813
-    rtgui_font_get_metrics @814
-    rtgui_font_get_string_width @815
-    rtgui_font_hz16 @816 DATA
-    rtgui_font_refer @817
-    rtgui_font_set_defaut @818
-    rtgui_font_system_add_font @819
-    rtgui_font_system_init @820
-    rtgui_font_system_remove_font @821
-    rtgui_framebuffer_get_ops @822
-    rtgui_free @823
-    rtgui_get_digfont_metrics @824
-    rtgui_get_mainwin_rect @825
-    rtgui_get_screen_rect @826
-    rtgui_get_server @827
-    rtgui_graphic_driver_get_default @828
-    rtgui_graphic_driver_get_default_framebuffer @829
-    rtgui_graphic_driver_get_framebuffer @830
-    rtgui_graphic_driver_get_rect @831
-    rtgui_graphic_driver_screen_update @832
-    rtgui_graphic_set_device @833
-    rtgui_groupbox_add_widget @834
-    rtgui_groupbox_create @835
-    rtgui_groupbox_destroy @836
-    rtgui_groupbox_event_handler @837
-    rtgui_groupbox_get_selected @838
-    rtgui_groupbox_layout @839
-    rtgui_groupbox_select_widget @840
-    rtgui_iconbox_create @841
-    rtgui_iconbox_destroy @842
-    rtgui_iconbox_event_handler @843
-    rtgui_iconbox_set_selected @844
-    rtgui_iconbox_set_text_position @845
-    rtgui_image_blit @846
-    rtgui_image_bmp_engine @847 DATA
-    rtgui_image_bmp_header_cfg @848
-    rtgui_image_bmp_init @849
-    rtgui_image_create @850
-    rtgui_image_create_from_file @851
-    rtgui_image_create_from_mem @852
-    rtgui_image_destroy @853
-    rtgui_image_get_engine_by_filename @854
-    rtgui_image_get_rect @855
-    rtgui_image_hdc_engine @856 DATA
-    rtgui_image_hdc_init @857
-    rtgui_image_hdcmm_engine @858 DATA
-    rtgui_image_palette_create @859
-    rtgui_image_register_engine @860
-    rtgui_image_rotate @861
-    rtgui_image_xpm_engine @862 DATA
-    rtgui_image_xpm_init @863
-    rtgui_image_zoom @864
-    rtgui_label_create @865
-    rtgui_label_destroy @866
-    rtgui_label_event_handler @867
-    rtgui_label_get_text @868
-    rtgui_label_set_text @869
-    rtgui_list_view_create @870
-    rtgui_list_view_destroy @871
-    rtgui_list_view_event_handler @872
-    rtgui_list_view_ondraw @873
-    rtgui_list_view_update_list @874
-    rtgui_listbox_create @875
-    rtgui_listbox_destroy @876
-    rtgui_listbox_event_handler @877
-    rtgui_listbox_ondraw @878
-    rtgui_listbox_set_current_item @879
-    rtgui_listbox_set_items @880
-    rtgui_listbox_set_onitem @881
-    rtgui_listctrl_create @882
-    rtgui_listctrl_destroy @883
-    rtgui_listctrl_event_handler @884
-    rtgui_listctrl_get_item_rect @885
-    rtgui_listctrl_set_current_item @886
-    rtgui_listctrl_set_itemheight @887
-    rtgui_listctrl_set_items @888
-    rtgui_listctrl_set_onitem @889
-    rtgui_mainwin_create @890
-    rtgui_malloc @891
-    rtgui_menu_create @892
-    rtgui_menu_destroy @893
-    rtgui_menu_hide @894
-    rtgui_menu_pop @895
-    rtgui_menu_set_onmenuhide @896
-    rtgui_menu_set_onmenupop @897
-    rtgui_mouse_fini @898
-    rtgui_mouse_init @899
-    rtgui_mouse_monitor_append @900
-    rtgui_mouse_monitor_contains_point @901
-    rtgui_mouse_monitor_remove @902
-    rtgui_mouse_moveto @903
-    rtgui_mouse_set_position @904
-    rtgui_mv_model_add_view @905
-    rtgui_mv_model_create @906
-    rtgui_mv_model_destroy @907
-    rtgui_mv_model_get_data @908
-    rtgui_mv_model_has_view @909
-    rtgui_mv_model_notify @910
-    rtgui_mv_model_remove_view @911
-    rtgui_mv_model_set_data @912
-    rtgui_mv_model_set_dimension @913
-    rtgui_mv_view_create @914
-    rtgui_mv_view_destroy @915
-    rtgui_mv_view_foreach_in_model @916
-    rtgui_mywidget_create @917
-    rtgui_mywidget_destroy @918
-    rtgui_mywidget_event_handler @919
-    rtgui_notebook_add @920
-    rtgui_notebook_add_image @921
-    rtgui_notebook_create @922
-    rtgui_notebook_destroy @923
-    rtgui_notebook_event_handler @924
-    rtgui_notebook_get_client_rect @925
-    rtgui_notebook_get_count @926
-    rtgui_notebook_get_current @927
-    rtgui_notebook_get_current_index @928
-    rtgui_notebook_get_widget_at @929
-    rtgui_notebook_remove @930
-    rtgui_notebook_set_current @931
-    rtgui_notebook_set_current_by_index @932
-    rtgui_object_check_cast @933
-    rtgui_object_create @934
-    rtgui_object_destroy @935
-    rtgui_object_event_handler @936
-    rtgui_object_object_type_get @937
-    rtgui_object_set_event_handler @938
-    rtgui_panel_create @939
-    rtgui_panel_destroy @940
-    rtgui_panel_event_handler @941
-    rtgui_pixel_device_get_ops @942
-    rtgui_plot_create @943
-    rtgui_plot_curve_create @944
-    rtgui_plot_curve_destroy @945
-    rtgui_plot_curve_get_x @946
-    rtgui_plot_curve_get_y @947
-    rtgui_plot_curve_set_x @948
-    rtgui_plot_curve_set_y @949
-    rtgui_plot_destroy @950
-    rtgui_plot_event_handler @951
-    rtgui_plot_ondraw @952
-    rtgui_plot_onmvmodel @953
-    rtgui_plot_set_base @954
-    rtgui_progressbar_create @955
-    rtgui_progressbar_destroy @956
-    rtgui_progressbar_event_handler @957
-    rtgui_progressbar_get_range @958
-    rtgui_progressbar_get_value @959
-    rtgui_progressbar_set_range @960
-    rtgui_progressbar_set_value @961
-    rtgui_pushbutton_create @962
-    rtgui_radiobox_create @963
-    rtgui_radiobox_event_handler @964
-    rtgui_radiobox_get_selection @965
-    rtgui_radiobox_set_orientation @966
-    rtgui_radiobox_set_selection @967
-    rtgui_realloc @968
-    rtgui_rect_contains_point @969
-    rtgui_rect_inflate @970
-    rtgui_rect_intersect @971
-    rtgui_rect_is_empty @972
-    rtgui_rect_is_equal @973
-    rtgui_rect_is_intersect @974
-    rtgui_rect_moveto @975
-    rtgui_rect_moveto_align @976
-    rtgui_rect_set @977
-    rtgui_recv @978
-    rtgui_recv_filter @979
-    rtgui_recv_nosuspend @980
-    rtgui_region_append @981
-    rtgui_region_contains_point @982
-    rtgui_region_contains_rectangle @983
-    rtgui_region_copy @984
-    rtgui_region_dump @985
-    rtgui_region_empty @986
-    rtgui_region_extents @987
-    rtgui_region_fini @988
-    rtgui_region_init @989
-    rtgui_region_init_rect @990
-    rtgui_region_init_with_extents @991
-    rtgui_region_intersect @992
-    rtgui_region_intersect_rect @993
-    rtgui_region_inverse @994
-    rtgui_region_is_flat @995
-    rtgui_region_not_empty @996
-    rtgui_region_num_rects @997
-    rtgui_region_rects @998
-    rtgui_region_reset @999
-    rtgui_region_subtract @1000
-    rtgui_region_subtract_rect @1001
-    rtgui_region_translate @1002
-    rtgui_region_union @1003
-    rtgui_region_union_rect @1004
-    rtgui_region_validate @1005
-    rtgui_screen_lock @1006
-    rtgui_screen_unlock @1007
-    rtgui_scrollbar_create @1008
-    rtgui_scrollbar_destroy @1009
-    rtgui_scrollbar_event_handler @1010
-    rtgui_scrollbar_get_thumb_rect @1011
-    rtgui_scrollbar_hide @1012
-    rtgui_scrollbar_ondraw @1013
-    rtgui_scrollbar_set_line_step @1014
-    rtgui_scrollbar_set_onscroll @1015
-    rtgui_scrollbar_set_orientation @1016
-    rtgui_scrollbar_set_page_step @1017
-    rtgui_scrollbar_set_range @1018
-    rtgui_scrollbar_set_thumbbar_len @1019
-    rtgui_scrollbar_set_value @1020
-    rtgui_send @1021
-    rtgui_send_sync @1022
-    rtgui_send_urgent @1023
-    rtgui_server_handle_kbd @1024
-    rtgui_server_handle_monitor_add @1025
-    rtgui_server_handle_monitor_remove @1026
-    rtgui_server_handle_mouse_btn @1027
-    rtgui_server_handle_mouse_motion @1028
-    rtgui_server_handle_update @1029
-    rtgui_server_init @1030
-    rtgui_server_post_event @1031
-    rtgui_server_post_event_sync @1032
-    rtgui_set_mainwin_rect @1033
-    rtgui_slider_create @1034
-    rtgui_slider_event_handler @1035
-    rtgui_slider_get_value @1036
-    rtgui_slider_set_orientation @1037
-    rtgui_slider_set_range @1038
-    rtgui_slider_set_value @1039
-    rtgui_staticline_create @1040
-    rtgui_staticline_destroy @1041
-    rtgui_staticline_event_handler @1042
-    rtgui_staticline_set_orientation @1043
-    rtgui_system_image_init @1044
-    rtgui_system_server_init @1045
-    rtgui_system_theme_init @1046
-    rtgui_textbox_create @1047
-    rtgui_textbox_destroy @1048
-    rtgui_textbox_event_handler @1049
-    rtgui_textbox_get_edit_rect @1050
-    rtgui_textbox_get_mask_char @1051
-    rtgui_textbox_get_value @1052
-    rtgui_textbox_ondraw @1053
-    rtgui_textbox_set_line_length @1054
-    rtgui_textbox_set_mask_char @1055
-    rtgui_textbox_set_value @1056
-    rtgui_textview_create @1057
-    rtgui_textview_destroy @1058
-    rtgui_textview_event_handler @1059
-    rtgui_textview_set_text @1060
-    rtgui_theme_default_bc @1061
-    rtgui_theme_default_fc @1062
-    rtgui_theme_draw_button @1063
-    rtgui_theme_draw_checkbox @1064
-    rtgui_theme_draw_iconbox @1065
-    rtgui_theme_draw_label @1066
-    rtgui_theme_draw_progressbar @1067
-    rtgui_theme_draw_radiobox @1068
-    rtgui_theme_draw_radiobutton @1069
-    rtgui_theme_draw_selected @1070
-    rtgui_theme_draw_slider @1071
-    rtgui_theme_draw_staticline @1072
-    rtgui_theme_draw_textbox @1073
-    rtgui_theme_draw_win @1074
-    rtgui_theme_get_selected_height @1075
-    rtgui_timer_create @1076
-    rtgui_timer_destory @1077
-    rtgui_timer_start @1078
-    rtgui_timer_stop @1079
-    rtgui_topwin_activate @1080
-    rtgui_topwin_activate_topwin @1081
-    rtgui_topwin_add @1082
-    rtgui_topwin_append_monitor_rect @1083
-    rtgui_topwin_dump_tree @1084
-    rtgui_topwin_get_focus @1085
-    rtgui_topwin_get_wnd @1086
-    rtgui_topwin_get_wnd_no_modaled @1087
-    rtgui_topwin_hide @1088
-    rtgui_topwin_init @1089
-    rtgui_topwin_modal_enter @1090
-    rtgui_topwin_move @1091
-    rtgui_topwin_remove @1092
-    rtgui_topwin_remove_monitor_rect @1093
-    rtgui_topwin_resize @1094
-    rtgui_topwin_show @1095
-    rtgui_topwin_title_onmouse @1096
-    rtgui_type_destructors_call @1097
-    rtgui_type_inherits_from @1098
-    rtgui_type_name_get @1099
-    rtgui_type_object_construct @1100
-    rtgui_type_parent_type_get @1101
-    rtgui_widget_create @1102
-    rtgui_widget_destroy @1103
-    rtgui_widget_event_handler @1104
-    rtgui_widget_focus @1105
-    rtgui_widget_get_extent @1106
-    rtgui_widget_get_next_sibling @1107
-    rtgui_widget_get_parent_background @1108
-    rtgui_widget_get_parent_foreground @1109
-    rtgui_widget_get_prev_sibling @1110
-    rtgui_widget_get_rect @1111
-    rtgui_widget_get_toplevel @1112
-    rtgui_widget_hide @1113
-    rtgui_widget_move_to_logic @1114
-    rtgui_widget_onhide @1115
-    rtgui_widget_onshow @1116
-    rtgui_widget_onupdate_toplvl @1117
-    rtgui_widget_point_to_device @1118
-    rtgui_widget_point_to_logic @1119
-    rtgui_widget_rect_to_device @1120
-    rtgui_widget_rect_to_logic @1121
-    rtgui_widget_set_border @1122
-    rtgui_widget_set_minheight @1123
-    rtgui_widget_set_minsize @1124
-    rtgui_widget_set_minwidth @1125
-    rtgui_widget_set_onfocus @1126
-    rtgui_widget_set_onunfocus @1127
-    rtgui_widget_set_parent @1128
-    rtgui_widget_set_rect @1129
-    rtgui_widget_set_rectangle @1130
-    rtgui_widget_show @1131
-    rtgui_widget_unfocus @1132
-    rtgui_widget_update @1133
-    rtgui_widget_update_clip @1134
-    rtgui_win_activate @1135
-    rtgui_win_close @1136
-    rtgui_win_create @1137
-    rtgui_win_destroy @1138
-    rtgui_win_end_modal @1139
-    rtgui_win_event_handler @1140
-    rtgui_win_get_title @1141
-    rtgui_win_hide @1142
-    rtgui_win_is_activated @1143
-    rtgui_win_move @1144
-    rtgui_win_set_onactivate @1145
-    rtgui_win_set_onclose @1146
-    rtgui_win_set_ondeactivate @1147
-    rtgui_win_set_onkey @1148
-    rtgui_win_set_rect @1149
-    rtgui_win_set_title @1150
-    rtgui_win_show @1151
-    rtgui_win_update_clip @1152
-    rtgui_wintitle_create @1153
-    rtgui_wintitle_destroy @1154
-    rtgui_wintitle_get_title @1155
-    rtgui_wintitle_set_title @1156
-    rtgui_xml_create @1157
-    rtgui_xml_destroy @1158
-    rtgui_xml_event_str @1159
-    rtgui_xml_parse @1160
-    rtthread_startup @1161
-    run_state @1162 DATA
-    screenshot @1163
-    sd_erase @1164
-    second_node @1165 DATA
-    seekdir @1166
-    seial_save_byte @1167
-    selected_color @1168 DATA
-    serial1 @1169 DATA
-    shell @1170 DATA
-    sin_ydata @1171 DATA
-    snake_deinit @1172
-    snake_head @1173 DATA
-    snake_init @1174
-    snake_len @1175 DATA
-    snake_main @1176
-    snake_restart @1177
-    snake_step @1178
-    stat @1179
-    statfs @1180
-    stop_image @1181 DATA
-    strcasecmp @1182
-    strcmp @1183
-    strdup @1184
-    telldir @1185
-    text_segment @1186 DATA
-    the_notebook @1187 DATA
-    timeout @1188
-    token_get_string @1189
-    uffs_BadBlockAdd @1190
-    uffs_BadBlockInit @1191
-    uffs_BadBlockProcess @1192
-    uffs_BadBlockProcessSuspend @1193
-    uffs_BadBlockRecover @1194
-    uffs_BlockInfoExpire @1195
-    uffs_BlockInfoExpireAll @1196
-    uffs_BlockInfoFindInCache @1197
-    uffs_BlockInfoGet @1198
-    uffs_BlockInfoInitCache @1199
-    uffs_BlockInfoIsAllFree @1200
-    uffs_BlockInfoLoad @1201
-    uffs_BlockInfoPut @1202
-    uffs_BlockInfoReleaseCache @1203
-    uffs_BreakFromEntry @1204
-    uffs_BufClone @1205
-    uffs_BufDecRef @1206
-    uffs_BufFind @1207
-    uffs_BufFindFreeGroupSlot @1208
-    uffs_BufFindFrom @1209
-    uffs_BufFindGroupSlot @1210
-    uffs_BufFlush @1211
-    uffs_BufFlushAll @1212
-    uffs_BufFlushEx @1213
-    uffs_BufFlushGroup @1214
-    uffs_BufFlushGroupEx @1215
-    uffs_BufFlushGroupMatchParent @1216
-    uffs_BufFlushMostDirtyGroup @1217
-    uffs_BufFreeClone @1218
-    uffs_BufGet @1219
-    uffs_BufGetEx @1220
-    uffs_BufIncRef @1221
-    uffs_BufInit @1222
-    uffs_BufInspect @1223
-    uffs_BufIsAllEmpty @1224
-    uffs_BufIsAllFree @1225
-    uffs_BufLoadPhyData @1226
-    uffs_BufLockGroup @1227
-    uffs_BufMarkEmpty @1228
-    uffs_BufNew @1229
-    uffs_BufPut @1230
-    uffs_BufRead @1231
-    uffs_BufReleaseAll @1232
-    uffs_BufSetAllEmpty @1233
-    uffs_BufUnLockGroup @1234
-    uffs_BufWrite @1235
-    uffs_BuildTree @1236
-    uffs_CloseObject @1237
-    uffs_CompareFileName @1238
-    uffs_CreateNewFile @1239
-    uffs_CreateObject @1240
-    uffs_CreateObjectEx @1241
-    uffs_DeleteObject @1242
-    uffs_DeviceInitLock @1243
-    uffs_DeviceLock @1244
-    uffs_DeviceReleaseLock @1245
-    uffs_DeviceUnLock @1246
-    uffs_DirEntryBufGetPool @1247
-    uffs_DirEntryBufInit @1248
-    uffs_DirEntryBufPutAll @1249
-    uffs_DirEntryBufRelease @1250
-    uffs_DumpDevice @1251
-    uffs_EccCorrect @1252
-    uffs_EccCorrect8 @1253
-    uffs_EccMake @1254
-    uffs_EccMake8 @1255
-    uffs_EndOfFile @1256
-    uffs_FdSignatureIncrease @1257
-    uffs_FindBestPageInBlock @1258
-    uffs_FindFirstFreePage @1259
-    uffs_FindFreeFsnSerial @1260
-    uffs_FindFromTree @1261
-    uffs_FindObjectClose @1262
-    uffs_FindObjectCount @1263
-    uffs_FindObjectFirst @1264
-    uffs_FindObjectNext @1265
-    uffs_FindObjectOpen @1266
-    uffs_FindObjectOpenEx @1267
-    uffs_FindObjectRewind @1268
-    uffs_FindObjectTell @1269
-    uffs_FindPageInBlockWithPageId @1270
-    uffs_FlashCheckErasedBlock @1271
-    uffs_FlashEraseBlock @1272
-    uffs_FlashInterfaceInit @1273
-    uffs_FlashInterfaceRelease @1274
-    uffs_FlashIsBadBlock @1275
-    uffs_FlashMakeSpare @1276
-    uffs_FlashMarkBadBlock @1277
-    uffs_FlashMarkDirtyPage @1278
-    uffs_FlashReadPage @1279
-    uffs_FlashReadPageTag @1280
-    uffs_FlashUnloadSpare @1281
-    uffs_FlashWritePageCombine @1282
-    uffs_FlushObject @1283
-    uffs_FormatDevice @1284
-    uffs_GetBlockFileDataLength @1285
-    uffs_GetBlockTimeStamp @1286
-    uffs_GetCurDateTime @1287
-    uffs_GetCurOffset @1288
-    uffs_GetDeviceFree @1289
-    uffs_GetDeviceFromMountPoint @1290
-    uffs_GetDeviceFromMountPointEx @1291
-    uffs_GetDeviceMountPoint @1292
-    uffs_GetDeviceTotal @1293
-    uffs_GetDeviceUsed @1294
-    uffs_GetFirstBlockTimeStamp @1295
-    uffs_GetFreeObjectHandlers @1296
-    uffs_GetFreePagesCount @1297
-    uffs_GetMainVersion @1298
-    uffs_GetMatchedMountPointSize @1299
-    uffs_GetMinorVersion @1300
-    uffs_GetNextBlockTimeStamp @1301
-    uffs_GetObject @1302
-    uffs_GetObjectByIndex @1303
-    uffs_GetObjectIndex @1304
-    uffs_GetObjectInfo @1305
-    uffs_GetObjectPool @1306
-    uffs_GetTrivialVersion @1307
-    uffs_GetVersion @1308
-    uffs_GlobalFsLockLock @1309
-    uffs_GlobalFsLockUnlock @1310
-    uffs_InitDevice @1311
-    uffs_InitFileSystemObjects @1312
-    uffs_InitGlobalFsLock @1313
-    uffs_InitObjectBuf @1314
-    uffs_InsertNodeToTree @1315
-    uffs_InsertToErasedListHead @1316
-    uffs_IsBlockPagesFullUsed @1317
-    uffs_IsPageErased @1318
-    uffs_IsSrcNewerThanObj @1319
-    uffs_IsThisBlockUsed @1320
-    uffs_LoadMiniHeader @1321
-    uffs_LoadPhyDataToBufEccUnCare @1322
-    uffs_MakeSum16 @1323
-    uffs_MakeSum8 @1324
-    uffs_MemSetupSystemAllocator @1325
-    uffs_Mount @1326
-    uffs_MoveObjectEx @1327
-    uffs_MtbGetMounted @1328
-    uffs_MtbGetUnMounted @1329
-    uffs_OSGetTaskId @1330
-    uffs_OpenObject @1331
-    uffs_OpenObjectEx @1332
-    uffs_ParseObject @1333
-    uffs_PoolCheckFreeList @1334
-    uffs_PoolFindNextAllocated @1335
-    uffs_PoolGet @1336
-    uffs_PoolGetBufByIndex @1337
-    uffs_PoolGetFreeCount @1338
-    uffs_PoolGetIndex @1339
-    uffs_PoolGetLocked @1340
-    uffs_PoolInit @1341
-    uffs_PoolPut @1342
-    uffs_PoolPutAll @1343
-    uffs_PoolPutLocked @1344
-    uffs_PoolRelease @1345
-    uffs_PoolVerify @1346
-    uffs_PutAllObjectBuf @1347
-    uffs_PutDevice @1348
-    uffs_PutObject @1349
-    uffs_ReInitObject @1350
-    uffs_ReadObject @1351
-    uffs_RegisterMountTable @1352
-    uffs_ReleaseDevice @1353
-    uffs_ReleaseFileSystemObjects @1354
-    uffs_ReleaseGlobalFsLock @1355
-    uffs_ReleaseObjectBuf @1356
-    uffs_RenameObject @1357
-    uffs_SeekObject @1358
-    uffs_SemCreate @1359
-    uffs_SemDelete @1360
-    uffs_SemSignal @1361
-    uffs_SemWait @1362
-    uffs_SetupDebugOutput @1363
-    uffs_TreeCompareFileName @1364
-    uffs_TreeFindBadNodeByBlock @1365
-    uffs_TreeFindDataNode @1366
-    uffs_TreeFindDataNodeByBlock @1367
-    uffs_TreeFindDirNode @1368
-    uffs_TreeFindDirNodeByBlock @1369
-    uffs_TreeFindDirNodeByName @1370
-    uffs_TreeFindDirNodeWithParent @1371
-    uffs_TreeFindErasedNodeByBlock @1372
-    uffs_TreeFindFileNode @1373
-    uffs_TreeFindFileNodeByBlock @1374
-    uffs_TreeFindFileNodeByName @1375
-    uffs_TreeFindFileNodeWithParent @1376
-    uffs_TreeFindNodeByBlock @1377
-    uffs_TreeFindSuspendNode @1378
-    uffs_TreeGetErasedNode @1379
-    uffs_TreeInit @1380
-    uffs_TreeInsertToBadBlockList @1381
-    uffs_TreeInsertToErasedListTail @1382
-    uffs_TreeInsertToErasedListTailEx @1383
-    uffs_TreeRelease @1384
-    uffs_TreeRemoveSuspendNode @1385
-    uffs_TreeSetNodeBlock @1386
-    uffs_TreeSuspendAdd @1387
-    uffs_TruncateObject @1388
-    uffs_UnMount @1389
-    uffs_UnRegisterMountTable @1390
-    uffs_Version2Str @1391
-    uffs_WriteObject @1392
-    uffs_close @1393
-    uffs_closedir @1394
-    uffs_crc16sum @1395
-    uffs_crc16update @1396
-    uffs_eof @1397
-    uffs_flush @1398
-    uffs_flush_all @1399
-    uffs_format @1400
-    uffs_fstat @1401
-    uffs_ftruncate @1402
-    uffs_get_error @1403
-    uffs_lstat @1404
-    uffs_mkdir @1405
-    uffs_open @1406
-    uffs_opendir @1407
-    uffs_read @1408
-    uffs_readdir @1409
-    uffs_remove @1410
-    uffs_rename @1411
-    uffs_rewinddir @1412
-    uffs_rmdir @1413
-    uffs_seek @1414
-    uffs_seekdir @1415
-    uffs_set_error @1416
-    uffs_setup_storage @1417
-    uffs_space_free @1418
-    uffs_space_total @1419
-    uffs_space_used @1420
-    uffs_stat @1421
-    uffs_tell @1422
-    uffs_version @1423
-    uffs_write @1424
-    unlink @1425
-    version @1426
-    white @1427 DATA
-    write @1428
-    xml_str @1429 DATA

+ 8 - 1
include/rtm.h

@@ -31,8 +31,15 @@ struct rt_module_symtab
     const char *name;
 };
 
-#if defined(_MSC_VER) || defined(__MINGW32__)
+#if defined(_MSC_VER)
+#pragma section("RTMSymTab$f",read)
+#define RTM_EXPORT(symbol)                                            \
+__declspec(allocate("RTMSymTab$f"))const char __rtmsym_##symbol##_name[] = "__vs_rtm_"#symbol;
+#pragma comment(linker, "/merge:RTMSymTab=mytext")
+
+#elif defined(__MINGW32__)
 #define RTM_EXPORT(symbol)
+
 #else
 #define RTM_EXPORT(symbol)                                            \
 const char __rtmsym_##symbol##_name[] = #symbol;                      \