/usr/bin/avos:app start()

From ArchosDocs

Jump to: navigation, search

Description

Do a whole lot of initializing.

The Code

function app_start() {
 
UART_Open()
 
mallopt(0xFFFFFFFD, 0x1000);
 
get_file_info_server_launch();
asystem_init();
 
PLUGIN_CoreDumper()
 
...
 
cp = sub_1E0C38("/proc/sys/kernel/core_pattern")
if(!cp) {
sub_1e101c()
sub_1e0c80()
}
 
file = file_open("/usr/share/build_info", 0, 0x180);
if(file || x = sub_1df720(file, "r"))
sub_1E1598(cp, "/mnt/data/core-time_%%t")
else
sub_1dff00(sp, 0x100, x);
sub_1df840(x);
sub_1E1598(cp, "/mnt/data/core-time_%%t-build_%s", sp)
 
sub_1df840(cp);
 
...
 
al = sub_1e0c38("/proc/cpu/alignment", "w");
 
sub_1e0974("2", 2, 1, al, al, &(var_30+0x130), &Fs, &HD_State);
sub_1df840(al);
 
HDW_Init();
module_force_pc_cable_detection();
power_check_powersupply();
 
DMALLOC_init();
codec_engine_init();
PRODUCT_GetProductName();
SYSINFO_Init();
LCD_ColorProfilesInit();
 
sub_1e15d4(0xD, 1);
 
sound_init();
audiomixer_init();
audiomixer_wrapper_start(1);
sound_events_init();
 
umount_optfs();
mount_optfs(0);
 
tr_init();
file_dir_initOpenTab();
params_LoadFlash();
 
t = fs_type("/mnt/data/");
if(fs_is_FAT32("/dev/sda1"))
checkPointInit()
else
fs_volume_label_FAT32("/dev/sda1", R6+0xC);
label = PRODUCT_GetMediaPartitionLabel();
checkPointInit(R6+0x2C, label);
 
Sys_pk_build_product_key();
Sys_pk_build_wmdm_plugin_id();
 
MESSAGE_Clear();
params_DefaultHdd(0);
params_LoadUser(1);
if(POS_check_params()) {
POS_set_active();
POS_setParams(0);
}
 
atd_init();
JANUS_CheckValidSecureClock();
if(!time_set_system_time(1))
AC_RecoverFromReset();
 
if([R7] == 0) {
tr_scan();
create_root_fs_directories();
}
 
FT_load_font();
if(tr_load(&ISO_Lang))
tr_load("EN");
 
uevent_open();
RTC_ClockRead();
 
...
 
if(HD_state == 0)
Scheduler_InitTimer();
 
VCP_init();
Arecorder_create();
Timers_init(&gui_timers);
 
if(HD_state != 0)
wallpaper_disable();
AC_Blacklight();
power_set_poweroff();
AC_InitSpeakerMode();
else
BookmarkLoad()
AC_InitSpeakerMode();
 
 
if(HD_state == 0) {
if(checkPointGet(3, 1) == 0) {
Resume_CheckAll();
checkPointSet(3);
}
}
 
Composer_init();
wallpaper_init();
LCD_Init();
lcdctrl_init();
AC_Backlight();
backlight_disable();
OSD_InitSize(OSD_profile);
OSD_BlendVideo(0, 0);
wallpaper_load();
FB_select_osd_buffer(0);
OSD_InitDisplay(0);
wallpaper_blit();
AC_SetBacklight();
AC_Backlight();
OSD_EnableAttribWindow();
 
if(R8 == 0)
power_set_autostart_poweroff();
else
power_set_poweroff();
 
Batt_force_display();
power_user_wake();
MESSAGE_ClearKeys();
 
... battery stuff ...
 
adjust_oom();
wutil_check_numeric_signal_stength();
load_wifi_driver_deferred();
Opera_installOperaHomeTemplate();
 
if(MACHINE_has_gsm()) {
SmsDb_check();
netmanager_gsm_start(...);
 
netmanager_init();
} else {
netmanager_init();
}
 
checkpoint = checkPointGet(1, 1);
if(checkpoint == 0)
id_sys_check_file();
checkPointSet(1);
else
if(checkpoint == 1)
id_sys_remove_file();
 
network_global_init();
network_get_user_agent();
stream_global_set_rtsp_user_agent();
PROVIDERLIB_Create();
CardeaInit();
sync_lateinit();
AC_SetSoundOutput();
if(!Bitmaps_TmpFsMount()) {
Bitmaps_Load();
}
 
avos_init(0);
avos_init(1);
avos_init(2);
 
Downloadd_Start();
}
Personal tools