#include #include #include #include #include "elog.h" #include "upg.h" #if 0 #define LOGD log_d #define LOGE log_e #else #define LOGD printf #define LOGE printf #endif static key_t ukey=0; static int upg_send(int evt) { int r,msgid; msgbuf_t mb; msgid = msgget(ukey, 0666| IPC_CREAT); //LOGD("+++++++++++ key: %d, msgid: %d\n", ukey, msgid); mb.evt = evt; r = msgsnd(msgid, &mb, sizeof(mb.evt), IPC_NOWAIT); if(r<0) { LOGE("msgsnd failed, %d, errno: %d\n", r, errno); } else { LOGD("msgsnd evt 0x%02x ok\n", evt); } return r; } int upg_init(void) { int r,msgid; ukey = ftok(UPG_KEY_PATH, UPG_KEY_SN); if(ukey<0) { LOGE("ftok %s failed, errno: %d\n", UPG_KEY_PATH, errno); return -1; } return upg_send(UPGRADE_EVT_APP_RUNNING); } int upg_start(void) { return upg_send(UPGRADE_EVT_UPLOAD_FINISH); }