Esempio n. 1
0
int main(int argc, char *argv[])
{
	KeypadBK_REQ req;
	KeypadBK_CNF cnf;
	BOOL r;

	if (argc < 3)
		return 0;

	req.onoff = atoi(argv[1]);
	req.DIV = atoi(argv[2]);
	req.DUTY = atoi(argv[3]);

	r = Meta_KeypadBK_Init();
	if (!r) {
		META_LOG("kpd: Meta_KeypadBK_Init() failed\n");
		return 0;
	}

	cnf = Meta_KeypadBK_OP(req);
	if (cnf.status)
		META_LOG("kpd: Meta_KeypadBK_OP() successful\n");
	else
		META_LOG("kpd: Meta_KeypadBK_OP() failed\n");

	Meta_KeypadBK_Deinit();

	return 0;
}
Esempio n. 2
0
void UsbPort::update()
{
	if (!isReady())
	{
		if(m_usbFlag)
		{
			close();	
		}
		m_usbFlag = 0;
		META_LOG("[Meta]USB cable plus out!");
	}
	else
	{
		if(!m_usbFlag)
		{
			sleep(1);
			if (pthread_mutex_lock (&META_USBPort_Mutex))
			{
				META_LOG( "[Meta]META_MAIN META_USBPort_Mutex lock error!\n"); 
			}
			m_fd = open(m_devPath);

			if(m_fd != NULL_FILE_DESCRIPTOR)
			{
				m_usbFlag = 1;
			}

			if (pthread_mutex_unlock (&META_USBPort_Mutex))
			{
				META_LOG( "[Meta]META_Main META_USBPort_Mutex unlock error!\n"); 
			}
		}
	}

}
Esempio n. 3
0
static int is_lv_done_before(const char * pVol)
{
    DIR *autok_data_dir;
    struct dirent *autok_file;
    char *filename;
    static char sname[AUTOK_S_BUF_LEN] = "";
    
    if(strlen(sname) > 0){
        if(is_file_valid(sname) > 0){
            META_LOG("[AUTOK]Cache LV Done");
            return true;
        }
        else {
            META_LOG("[AUTOK]Cache LV not done");
            memset(sname, 0, AUTOK_S_BUF_LEN);
            return false;
        }
    }
    autok_data_dir = opendir(AUTOK_RES_PATH);
    while((autok_file = readdir(autok_data_dir)) != NULL) {
        filename = autok_file->d_name;
        if(strstr(filename, "autok")!= NULL &&
           strstr(filename, pVol)!=NULL && 
            strstr(filename, "_log")==NULL){
                memset(sname, 0, AUTOK_S_BUF_LEN);
                snprintf(sname, AUTOK_S_BUF_LEN, "%s/%s", AUTOK_RES_PATH, filename);
                META_LOG("[AUTOK]Non-Cached LV check exist");
                return true;
            }
    }
    closedir(autok_data_dir);
    return false;
}
static int mnl_write_attr(const char *name, unsigned char attr) 
{
    int err, fd = open(name, O_RDWR);
    char buf[] = {attr + '0'};
    
    if (fd == -1) {
        META_LOG("open %s err = %s\n", name, strerror(errno));
        return -errno;
    }
    do { err = write(fd, buf, sizeof(buf) ); }
    while (err < 0 && errno == EINTR);
    
    if (err != sizeof(buf)) { 
        META_LOG("write fails = %s\n", strerror(errno));
        err = -errno;
    } else {
        err = 0;    /*no error*/
    }
    if (close(fd) == -1) {
        META_LOG("close fails = %s\n", strerror(errno));
        err = (err) ? (err) : (-errno);
    }
    META_LOG("write '%d' to %s okay\n", attr, name);    
    return err;
}
Esempio n. 5
0
KeypadBK_CNF Meta_KeypadBK_OP(KeypadBK_REQ req)
{
	int r;
	struct kpd_ledctl ledctl;
	KeypadBK_CNF cnf = { .status = false, };

	if (kpd_fd < 0) {
		META_LOG("kpd: uninitialized kpd_fd\n");
		return cnf;
	}
	
	if (req.onoff)
	{
			if (write(kpd_fd,"1",1) == -1) {
			LOGE("Can't write %d\n", req.onoff);
		}			
	}else if (write(kpd_fd, "0",1) == -1) {
			LOGE("Can't write %d\n", req.onoff);	
	}

	cnf.status = true;
	return cnf;
}

BOOL Meta_KeypadBK_Deinit(void)
{
	if (kpd_fd < 0) {
		META_LOG("kpd: uninitialized kpd_fd\n");
		return false;
	}

	close(kpd_fd);
	return true;
}
Esempio n. 6
0
static int turn_off_6630()
{
    char *off_cmd[5] = {"7 0 0", "7 1 0", "7 2 0", "7 3 0", "7 5 0"};
    const char *wmt_node = "/proc/driver/wmt_dbg";
    int fd_wmt = -1;
    char cmd_line[AUTOK_BUF_LEN] = "";
    int i;
    int ret;
    
    ret = 0;
    fd_wmt = open(wmt_node, O_RDWR, 0);
    if(fd_wmt < 0){
        META_LOG("[AUTOK]Open %s fail", wmt_node);
        return -1;
    }
    for(i=0; i<sizeof(off_cmd)/sizeof(off_cmd[0]); i++){
        ret = write(fd_wmt, off_cmd[i], strlen(off_cmd[i]));
        if(ret < 0){
            META_LOG("[AUTOK]Write %s to %s error[%d]", off_cmd[i], wmt_node, ret);
            goto EXIT_TURN_OFF_6630;
        }
        ret = 0;
    }
EXIT_TURN_OFF_6630:
    if(fd_wmt > -1)
        close(fd_wmt);
    return ret;
}
Esempio n. 7
0
FT_PMIC_REG_WRITE_CNF META_PMICW_OP ( FT_PMIC_REG_WRITE  *req )
{
	FT_PMIC_REG_WRITE_CNF pmic_cnf;
	int ret=0;

	memset(&pmic_cnf, 0, sizeof(FT_PMIC_REG_WRITE_CNF)); 

	/* open file */
	meta_pmic_fd = open("/dev/MT6326-pmic",O_RDWR, 0);
	if (meta_pmic_fd == -1) {
		printf("Open /dev/MT6326-pmic : ERROR \n");
		META_LOG("Open /dev/MT6326-pmic : ERROR \n");
		pmic_cnf.m_rWmCmdWriteResult.status = false;
		return pmic_cnf;
	}

	pmic_in_data[0] = req->m_rWmCmdWriteReq.registernumber;
	pmic_in_data[1] = req->m_rWmCmdWriteReq.registervalue;
	ret = ioctl(meta_pmic_fd, PMIC_WRITE, pmic_in_data);
	if (ret == -1)
	{
		pmic_cnf.m_rWmCmdWriteResult.status = false;
	}
	else
	{
		pmic_cnf.m_rWmCmdWriteResult.status = true;
	}
	
	printf("\nMETA_PMICW_OP : Write %x to Reg[%x]\n", pmic_in_data[1], pmic_in_data[0]);
	META_LOG("\nMETA_PMICW_OP : Write %x to Reg[%x]\n", pmic_in_data[1], pmic_in_data[0]);

	close(meta_pmic_fd);

	return pmic_cnf;
}
Esempio n. 8
0
int UsbPort::isReady() const
{
	int type = 0;
    char buf[11];
    int bytes_read = 0;
    int res = 0;
    int fd = ::open("/sys/class/android_usb/android0/state", O_RDONLY);
    if (fd != -1)
    {
        memset(buf, 0, 11);
        while (bytes_read < 10)
        {
            res = ::read(fd, buf + bytes_read, 10);
            if (res > 0)
                bytes_read += res;
            else
                break;
        }
        ::close(fd);
        type = strcmp(buf,"CONFIGURED");

        META_LOG("[Meta]Query usb state OK.");
    }
    else
    {
        META_LOG("[Meta]Failed to open:/sys/class/android_usb/android0/state");
    }
         
	return (type == 0);  
}
Esempio n. 9
0
BOOL FM_Low_Power(BOOL bOn)
{
	int tmp=0;
	int ret=0;
	BOOL dPmicErrCode=false;

	printf("Enter FM_Low_Power function in Factory Mode!\n");
	META_LOG("Enter FM_Low_Power function in Factory Mode!\n");

	/* open file */
	meta_pmic_fd = open("/dev/MT6326-pmic",O_RDWR, 0);
	if (meta_pmic_fd == -1) {
		printf("Open /dev/MT6326-pmic : ERROR \n");
		META_LOG("Open /dev/MT6326-pmic : ERROR \n");
		return dPmicErrCode;				
	}

	for(tmp=0;tmp<0x7D;tmp++){
		if(bOn)
		{
			pmic_in_data[0] = (0x1A + tmp);
			pmic_in_data[1] = g_pmic_power_up[tmp];
			ret = ioctl(meta_pmic_fd, PMIC_WRITE, pmic_in_data);
			if (ret == -1)
				dPmicErrCode = false;
			else
				dPmicErrCode = true;
			
			//printf("FM_Low_Power : Power Up Device in Factory Mode!\n");
		}
		else
		{
			pmic_in_data[0] = (0x1A + tmp);
			pmic_in_data[1] = g_pmic_power_down[tmp];
			ret = ioctl(meta_pmic_fd, PMIC_WRITE, pmic_in_data);
			if (ret == -1)
				dPmicErrCode = false;
			else
				dPmicErrCode = true;
			
			//printf("FM_Low_Power : Power Done Device in Factory Mode!\n");
		}
		if(dPmicErrCode == false)
		{
			printf("FM_Low_Power : Write Register Failed!\n");
			META_LOG("FM_Low_Power : Write Register Failed!\n");
			break;
		}
	}

	printf("Leave FM_Low_Power function in Factory Mode!\n");
	META_LOG("Leave FM_Low_Power function in Factory Mode!\n");

	close(meta_pmic_fd);
	
	return dPmicErrCode;
}
void *GPS_MetaThread(void *arg)
{
    int read_leng = 0;
    int cnt = 0;
    char *ptr;
    unsigned char buf[10240];
    cnt = 0;
 
    while(1)
    {
        memset(buf, 0, sizeof(buf));
        read_leng = 0;
        read_leng = read(sockfd, buf, sizeof(buf));
        if (read_leng < 0) 
        {
            META_LOG("ERROR reading from socket");
            return (void *)(-1);
        }
        else if(read_leng > 0)
        {
            ptr=strtok(buf, "\r\n");
            if(ptr == NULL)
            {
                continue;
            }
            
            do
            {
                /*if(strncmp(ptr, "$PMTK", 5) == 0)
                {
                    if((ptr[5] >= '0' && ptr[5] <= '9') &&
                       (ptr[6] >= '0' && ptr[6] <= '9') &&
                       (ptr[7] >= '0' && ptr[7] <= '9')) // $PMTK000~$PMTK999*/
                    //{
                        META_LOG("GPS_MetaThread: %s", ptr);
                        strncpy(&gps_cnf2.gps_ack.buff[cnt], ptr, (sizeof(gps_cnf2.gps_ack.buff) - cnt));
                        cnt += strlen(ptr);
                        gps_cnf2.gps_ack.buff[cnt++] = '\r';
                        gps_cnf2.gps_ack.buff[cnt++] = '\n';
                   // }
                //}
            }while((ptr=strtok(NULL, "\r\n")) != NULL);
            
            if(cnt > 0)
            {
                gps_cnf2.gps_ack.len = cnt;
                gps_cnf2.gps_status = TRUE;
                gps_cnf2.status = META_SUCCESS;
                META_LOG("GPS_MetaThread, status:%d, gps_cnf.gps_ack.len:%d\r\n", gps_cnf2.status, gps_cnf2.gps_ack.len);
                WriteDataToPC(&gps_cnf2, sizeof(GPS_CNF), NULL, 0);   
                cnt = 0;
            }
        }
    }
    
    return (void *)0;
}
Esempio n. 11
0
void Meta_AUXADC_OP(AUXADC_REQ *req, char *peer_buff, unsigned short peer_len)
{
	AUXADC_CNF ADCMetaReturn;
	int ret;

	memset(&ADCMetaReturn, 0, sizeof(ADCMetaReturn));

	ADCMetaReturn.header.id=req->header.id+1;
	ADCMetaReturn.header.token=req->header.token;
	ADCMetaReturn.status=META_SUCCESS;
	ADCMetaReturn.ADCStatus=TRUE;
	
	/* open file */
	meta_adc_fd = open("/dev/mtk-adc-cali",O_RDWR, 0);
	if (meta_adc_fd == -1) {
		printf("Open /dev/mtk-adc-cali : ERROR \n");
		META_LOG("Open /dev/mtk-adc-cali : ERROR \n");
		ADCMetaReturn.status=META_FAILED;
		goto ADC_Finish;
	}
	
	adc_in_data[0] = req->dwChannel;
	adc_in_data[1] = req->dwCount;
	ret = ioctl(meta_adc_fd, ADC_CHANNEL_READ, adc_in_data);
	if (ret == -1)
	{
		ADCMetaReturn.dwData = 0;
		ADCMetaReturn.status = META_FAILED;
	}
	else
	{
		if (adc_in_data[1]==0) { 
			ADCMetaReturn.dwData = adc_in_data[0];
			ADCMetaReturn.status = META_SUCCESS;
		}
		else {
			ADCMetaReturn.dwData = 0;
			ADCMetaReturn.status = META_FAILED;
		}
	}

	printf("Meta_AUXADC_OP : CH[%d] in %d times : %d\n", req->dwChannel, req->dwCount, adc_in_data[0]);	
	META_LOG("Meta_AUXADC_OP : CH[%d] in %d times : %d\n", req->dwChannel, req->dwCount, adc_in_data[0]);	
	META_LOG("Meta_AUXADC_OP : CH[%d] in %d times : %d : dwdata\n", req->dwChannel, req->dwCount, ADCMetaReturn.dwData);
	
	close(meta_adc_fd);

ADC_Finish:
	if (false == WriteDataToPC(&ADCMetaReturn,sizeof(ADCMetaReturn),NULL,0)) {
        printf("Meta_AUXADC_OP : WriteDataToPC() fail 2\n");
		META_LOG("Meta_AUXADC_OP : WriteDataToPC() fail 2\n");
    }
	printf("Meta_AUXADC_OP : Finish !\n");
	META_LOG("Meta_AUXADC_OP : Finish !\n");
	
}
Esempio n. 12
0
int main(int argc, char *argv[])
{
	WatchDog_REQ req;
	WatchDog_CNF cnf;

	cnf = META_RTCRead_OP(req);
	if (cnf.status) {
		META_LOG("rtc: time is %u/%02u/%02u (%u) %02u:%02u:%02u\n",
		         cnf.rtc_year, cnf.rtc_mon, cnf.rtc_day, cnf.rtc_wday,
		         cnf.rtc_hour, cnf.rtc_min, cnf.rtc_sec);
	} else {
		META_LOG("rtc: META_RTCRead_OP() failed\n");
	}

	return 0;
}
void META_GPS_Close()
{    
    int err;
    
    META_LOG("META_GPS_Close() 1\n");
    // close GPS_MetaThread
#if 0
    if ((err = pthread_kill(gps_meta_thread_handle, SIGUSR1))) 
    {
        META_LOG("META_GPS_Close: pthread_kill 1 error(%d) \n", err);
    }
    META_LOG("META_GPS_Close() 2\n");
    if ((err = pthread_join(gps_meta_thread_handle, NULL)))
    {
        META_LOG("META_GPS_Close: pthread_kill 2 error(%d) \n", err);
    }
    META_LOG("META_GPS_Close() 3\n");
#endif

    // disconnect to gps driver
    if(sockfd != C_INVALID_SOCKET)
    {
        close(sockfd);
        sockfd = C_INVALID_SOCKET;
    }
    META_LOG("META_GPS_Close() 4\n");

    // kill gps driver (libmnlp)
    if(mnl_pid != C_INVALID_PID)
    {
        kill(mnl_pid, SIGKILL);
    }
    META_LOG("META_GPS_Close() 5\n");
    
    // power off GPS chip
    err = mnl_write_attr("/sys/class/gpsdrv/gps/pwrctl", 0);
    if(err != 0)
    {
        META_LOG("GPS power-off error: %d\n", err);
    }
    META_LOG("META_GPS_Close() 6\n");

	unlink(GPS_PROPERTY);
    META_LOG("META_GPS_Close() 7\n");
    return;
}
Esempio n. 14
0
signed int SerPort::open(const char *path)
{
	signed int fd = ::open(path, O_RDWR|O_NOCTTY);

	META_LOG("[Meta] Open serPort. m_fd = %d", fd);

	if (fd != NULL_FILE_DESCRIPTOR)
	{
		META_LOG("[Meta] Open serport:(%s) success.", path);
		initTermIO(fd);
	}
	else
	{
		META_LOG("[Meta] Open serport:(%s) fail, error code = %d", path, errno);
	}
	
	return fd;
}
Esempio n. 15
0
BOOL Meta_KeypadBK_Init(void)
{
	kpd_fd = open(KPD_BKL_PATH, O_WRONLY);
	if (kpd_fd < 0) {
		META_LOG("kpd: open %s failed\n", KPD_BKL_PATH);
		return false;
	}

	return true;
}
Esempio n. 16
0
bool SamplePlugin::Hook_ClientConnect(edict_t *pEntity,
									const char *pszName,
									const char *pszAddress,
									char *reject,
									int maxrejectlen)
{
	META_LOG(g_PLAPI, "Hook_ClientConnect(%d, \"%s\", \"%s\")", IndexOfEdict(pEntity), pszName, pszAddress);

	return true;
}
Esempio n. 17
0
bool SamplePlugin::Hook_LevelInit(const char *pMapName,
								char const *pMapEntities,
								char const *pOldLevel,
								char const *pLandmarkName,
								bool loadGame,
								bool background)
{
	META_LOG(g_PLAPI, "Hook_LevelInit(%s)", pMapName);

	return true;
}
unsigned char META_Lock_OP()
{
   unsigned int iMagicNum=META_LOCK_MAGIC_NUM;
   int result=0;
   META_LOG("[META_LOCK]:enter meta_lock_op\r\n");
   result=META_Lock_WriteFlash(iMagicNum);
   if(result==0)
     return META_FAILED;
   return META_SUCCESS;
   
}
Esempio n. 19
0
static int restore_meta_screen()
{
    int fb_fd = open("/dev/graphics/fb0", O_RDWR);
    if(fb_fd >= 0){
        ioctl(fb_fd, MTKFB_META_SHOW_BOOTLOGO, 0);
        close(fb_fd);
    }else{
        META_LOG("fail to open display driver error:%d, errorstr:%s",
        errno, strerror(errno));
    }
    return 0;  
}
Esempio n. 20
0
/********************************************************************************
//FUNCTION:
//		META_NFC_CMD
//DESCRIPTION:
//		SEND MESSAGE to NFC driver
//      RECEIVE MESSAGE to NFC driver
//PARAMETERS:
//		void
//RETURN VALUE:
//		void
//     
********************************************************************************/
void META_NFC_CMD(ilm_struct* nfc_ilm_req_ptr)
{

    int ret = 0;
    int rec_bytes = 0;
    int rety_count = 0;
    META_LOG("META_NFC_CMD:write CMD");

    // Write request command
    ret = write(nfc_service_sockfd, (const char*)nfc_ilm_req_ptr, sizeof(ilm_struct));

    if ( ret <= 0)
    {
        META_LOG("META_NFC_CMD:write failure,%d",ret);
        return;
    }
    else
    {
        META_LOG("META_NFC_CMD:write CMD done,%d",ret);
    }
    return;
}
Esempio n. 21
0
mBOOL MPluginList::load() {
	int i, n;

	if (!ini_startup()) {
		META_ERROR("Problem loading plugins.ini: %s", inifile);
		// meta_errno should be already set in ini_startup()
		return(mFALSE);
	}

	META_LOG("dll: Loading plugins...");
	for(i=0, n=0; i < endlist; i++) {
		if(plist[i].status < PL_VALID)
			continue;
		if(plist[i].load(PT_STARTUP) == mTRUE)
			n++;
		else
			// all plugins should be loadable at startup...
			META_ERROR("dll: Failed to load plugin '%s'", plist[i].file);
	}
	META_LOG("dll: Finished loading %d plugins", n);
	return(mTRUE);
}
Esempio n. 22
0
FT_PMIC_REG_READ_CNF META_PMICR_OP ( FT_PMIC_REG_READ  *req )
{
	FT_PMIC_REG_READ_CNF pmic_cnf;
	int ret=0;

	memset(&pmic_cnf, 0, sizeof(FT_PMIC_REG_READ_CNF));	

	/* open file */
	meta_pmic_fd = open("/dev/MT6326-pmic",O_RDWR, 0);
	if (meta_pmic_fd == -1) {
		printf("Open /dev/MT6326-pmic : ERROR \n");
		META_LOG("Open /dev/MT6326-pmic : ERROR \n");
		pmic_cnf.m_rWmCmdReadResult.value = 0xff;
		pmic_cnf.m_rWmCmdReadResult.status = false;
		return pmic_cnf;
	}	

	pmic_out_data[0] = req->m_rWmCmdReadReq.registernumber;
	ret = ioctl(meta_pmic_fd, PMIC_READ, pmic_out_data);
	if (ret == -1)
	{
		pmic_cnf.m_rWmCmdReadResult.value = 0xff;
		pmic_cnf.m_rWmCmdReadResult.status = false;
	}
	else
	{
		pmic_cnf.m_rWmCmdReadResult.value = pmic_out_data[0];
		pmic_cnf.m_rWmCmdReadResult.status = true;
	}

	printf("\nMETA_PMICR_OP : Read Reg[%d] = %d \n", req->m_rWmCmdReadReq.registernumber, pmic_cnf.m_rWmCmdReadResult.value);
	META_LOG("\nMETA_PMICR_OP : Read Reg[%d] = %d \n", req->m_rWmCmdReadReq.registernumber, pmic_cnf.m_rWmCmdReadResult.value);

	close(meta_pmic_fd);

	return pmic_cnf;
}
Esempio n. 23
0
signed int CCCI::open(const char *path)
{
	int retry = 100;
	signed int fd = NULL_FILE_DESCRIPTOR;
	
	while(fd == NULL_FILE_DESCRIPTOR && retry != 0)
	{
		fd = ::open(path, O_RDWR|O_NOCTTY);
	    META_LOG("[Meta]Open CCCI. m_fd = %d", fd);
	    if (fd != NULL_FILE_DESCRIPTOR)
	    {
		    META_LOG("[Meta] Open CCCI port:(%s) success.", path);
			break;
	    }
	    else
	    {
		    META_LOG("[Meta] Open CCCI port:(%s) fail.", path);
			usleep(100*1000);
			retry--;
	    }
	}
	
	return fd;
}
Esempio n. 24
0
static int should_do_dvfs_autok()
{
    int fd = 0 ;
    char buf[AUTOK_BUF_LEN] = {0};
    int ret = -1 ;
    int i = 0;
    char * p = NULL;
    fd = open("/sys/power/vcorefs/pwr_ctrl",O_RDONLY);
    if(fd < 0){
        META_LOG("[AUTOK]Open /sys/power/vcorefs/pwr_ctrl error");
        return 0;
    }
    ret = read(fd, buf, AUTOK_BUF_LEN);
    close(fd);
    if(ret < 0){
        META_LOG("[AUTOK]Read suggest_vol file error !");
        return 0;
    }     
    p = strstr(buf, "lv_autok_trig = 1");
    if(p!=NULL)
        return 1;  
    else
        return 0;
}
Esempio n. 25
0
/********************************************************************************
//FUNCTION:
//		META_NFC_deinit
//DESCRIPTION:
//		NFC deinit for META test.
//
//PARAMETERS:
//		void
//RETURN VALUE:
//		void
//     
********************************************************************************/
void META_NFC_deinit()
{
    int err=0;
    /* stop RX thread */
    bStop_ReadThread = 1;
    
    /* wait until thread exist */
    pthread_join(read_cnf_thread_handle, NULL);

    /* Close socket port */
    if (nfc_service_sockfd > 0)
    {
        close (nfc_service_sockfd);
        nfc_service_sockfd = -1;
    }
    // kill service process
    META_LOG("META_NFC_deinit: kill: %s\n", "/system/xbin/nfcservice");
    err = execl("kill /system/xbin/nfcservice", "nfcservice", NULL);
    if (err == -1)
    {
        META_LOG("META_NFC_init: kill error: %s\n", strerror(errno));
    }
    return;   
}
Esempio n. 26
0
bool SamplePlugin::Load(PluginId id, ISmmAPI *ismm, char *error, size_t maxlen, bool late)
{
	PLUGIN_SAVEVARS();

	GET_V_IFACE_CURRENT(GetEngineFactory, engine, IVEngineServer, INTERFACEVERSION_VENGINESERVER);
	GET_V_IFACE_CURRENT(GetEngineFactory, gameevents, IGameEventManager2, INTERFACEVERSION_GAMEEVENTSMANAGER2);
	GET_V_IFACE_CURRENT(GetEngineFactory, helpers, IServerPluginHelpers, INTERFACEVERSION_ISERVERPLUGINHELPERS);
	GET_V_IFACE_CURRENT(GetEngineFactory, icvar, ICvar, CVAR_INTERFACE_VERSION);
	GET_V_IFACE_ANY(GetServerFactory, server, IServerGameDLL, INTERFACEVERSION_SERVERGAMEDLL);
	GET_V_IFACE_ANY(GetServerFactory, gameclients, IServerGameClients, INTERFACEVERSION_SERVERGAMECLIENTS);
	GET_V_IFACE_ANY(GetServerFactory, playerinfomanager, IPlayerInfoManager, INTERFACEVERSION_PLAYERINFOMANAGER);

	gpGlobals = ismm->GetCGlobals();

	META_LOG(g_PLAPI, "Starting plugin.");

	/* Load the VSP listener.  This is usually needed for IServerPluginHelpers. */
	if ((vsp_callbacks = ismm->GetVSPInfo(NULL)) == NULL)
	{
		ismm->AddListener(this, this);
		ismm->EnableVSPListener();
	}

	SH_ADD_HOOK_MEMFUNC(IServerGameDLL, LevelInit, server, this, &SamplePlugin::Hook_LevelInit, true);
	SH_ADD_HOOK_MEMFUNC(IServerGameDLL, ServerActivate, server, this, &SamplePlugin::Hook_ServerActivate, true);
	SH_ADD_HOOK_MEMFUNC(IServerGameDLL, GameFrame, server, this, &SamplePlugin::Hook_GameFrame, true);
	SH_ADD_HOOK_MEMFUNC(IServerGameDLL, LevelShutdown, server, this, &SamplePlugin::Hook_LevelShutdown, false);
	SH_ADD_HOOK_MEMFUNC(IServerGameClients, ClientActive, gameclients, this, &SamplePlugin::Hook_ClientActive, true);
	SH_ADD_HOOK_MEMFUNC(IServerGameClients, ClientDisconnect, gameclients, this, &SamplePlugin::Hook_ClientDisconnect, true);
	SH_ADD_HOOK_MEMFUNC(IServerGameClients, ClientPutInServer, gameclients, this, &SamplePlugin::Hook_ClientPutInServer, true);
	SH_ADD_HOOK_MEMFUNC(IServerGameClients, SetCommandClient, gameclients, this, &SamplePlugin::Hook_SetCommandClient, true);
	SH_ADD_HOOK_MEMFUNC(IServerGameClients, ClientSettingsChanged, gameclients, this, &SamplePlugin::Hook_ClientSettingsChanged, false);
	SH_ADD_HOOK_MEMFUNC(IServerGameClients, ClientConnect, gameclients, this, &SamplePlugin::Hook_ClientConnect, false);
	SH_ADD_HOOK_MEMFUNC(IServerGameClients, ClientCommand, gameclients, this, &SamplePlugin::Hook_ClientCommand, false);

	ENGINE_CALL(LogPrint)("All hooks started!\n");

#if SOURCE_ENGINE >= SE_ORANGEBOX
	g_pCVar = icvar;
	ConVar_Register(0, &s_BaseAccessor);
#else
	ConCommandBaseMgr::OneTimeInit(&s_BaseAccessor);
#endif

	return true;
}
Esempio n. 27
0
int main(int argc, const char** argv)
{
    NFC_REQ req;

    memset(&req, 0, sizeof(NFC_REQ));

    META_NFC_Register(nfc_info_callback);

    if (META_NFC_init() != 0) {
        META_LOG("META_NFC_init Failure\n");
        return -1;
    }
    sleep(1);

    nfc_cnf.header.id = FT_NFC_CNF_ID;
    nfc_cnf.header.token = req->header.token;
    nfc_cnf.op = req->op;


    req.cmd.m_setting_req.debug_enable = 1;
    req.cmd.m_setting_req.get_capabilities = 1;
    req.cmd.m_setting_req.nfc_enable = 1;
    req.cmd.m_setting_req.sw_protocol = 1;

    req.header.id = 1;
    req.header.token = 1;
    req.op = NFC_OP_SETTING;
    META_NFC_OP(&req, NULL, 0);

    sleep(10);

    META_NFC_OP(&req, NULL, 0);

    sleep(1);

    META_NFC_deinit();
    META_NFC_Register(NULL);

    return 0;
}
Esempio n. 28
0
int FT_GetModemCapability(MODEM_CAPABILITY_LIST * modem_capa)
{

	int modem_type = 0;
	int active_modem_id = 0;
	int mode_mnumber = 0;
	
	mode_mnumber = FT_GetModemType(&active_modem_id,&modem_type);

	if((modem_type & 0x01) == 0x01)
	{
		modem_capa->modem_cap[0].md_service = FT_MODEM_SRV_TST;
		modem_capa->modem_cap[0].ch_type = FT_MODEM_CH_NATIVE_TST;	
	}


	if((modem_type & 0x02) == 0x02)
	{
		modem_capa->modem_cap[1].md_service = FT_MODEM_SRV_TST;
		modem_capa->modem_cap[1].ch_type = FT_MODEM_CH_NATIVE_TST;	
	}

	if((modem_type & 0x10) == 0x10)
	{
	#ifdef MTK_LTE_SUPPORT
		modem_capa->modem_cap[4].md_service = FT_MODEM_SRV_DHL;
		modem_capa->modem_cap[4].ch_type = FT_MODEM_CH_TUNNELING;
	#else
		modem_capa->modem_cap[4].md_service = FT_MODEM_SRV_TST;
		modem_capa->modem_cap[4].ch_type = FT_MODEM_CH_NATIVE_TST;
	#endif
	META_LOG("modem_cap[4]%d,%d",modem_capa->modem_cap[4].md_service,modem_capa->modem_cap[4].ch_type);
	}

	return 1;
}
void META_GPS_OP(GPS_REQ *req, char *peer_buff, unsigned short peer_len) 
{
    memset(&gps_cnf1, 0, sizeof(GPS_CNF));	
    gps_cnf1.header.id = FT_GPS_CNF_ID;
    gps_cnf1.header.token = req->header.token;
    gps_cnf1.op = req->op;
    memset(&gps_cnf2, 0, sizeof(GPS_CNF));	
    gps_cnf2.header.id = FT_GPS_CNF_ID;
    gps_cnf2.header.token = req->header.token;
    gps_cnf2.op = req->op;

    META_LOG("META_GPS_OP() 1, (%d)\n", req->op);
    switch(req->op) 
    {
        case GPS_OP_OPEN:
            META_LOG("META_GPS_OP(), GPS_OP_OPEN 1\n");
            if(META_GPS_Open() != 0)    // open fail
            {
                META_LOG("META_GPS_OP(), GPS_OP_OPEN fail\n");
                META_GPS_Close();
                META_LOG("Can't open gps driver \r\n");
                gps_cnf1.gps_status = FALSE;
                gps_cnf1.status = META_FAILED;	 
            }
            else
            {	        	 
                META_LOG("META_GPS_OP(), GPS_OP_OPEN OK\n");
                gps_cnf1.gps_status = TRUE; 
                gps_cnf1.status = META_SUCCESS;     	
            }
            WriteDataToPC(&gps_cnf1, sizeof(GPS_CNF), NULL, 0);                	   
            META_LOG("META_GPS_OP(), GPS_OP_OPEN 2\n");
            break;

        case GPS_OP_CLOSE:	
            META_LOG("META_GPS_OP(), GPS_OP_CLOSE 1\n");
            META_GPS_Close();
            gps_cnf1.gps_status = TRUE;
            gps_cnf1.status = META_SUCCESS;
            WriteDataToPC(&gps_cnf1, sizeof(GPS_CNF), NULL, 0);		   
            META_LOG("META_GPS_OP(), GPS_OP_CLOSE 2\n");
            break;

        case GPS_OP_SEND_CMD:
            META_LOG("META_GPS_OP(), GPS_OP_SEND_CMD\n");
            if(sockfd != C_INVALID_SOCKET)
            {
                int n = write(sockfd, req->cmd.buff, req->cmd.len);
                if (n < 0) 
                {
                     META_LOG("ERROR writing to socket\r\n");
                }
                META_LOG("META_GPS_OP(), GPS_OP_SEND_CMD: %s\r\n", req->cmd.buff);
            }  

            gps_cnf1.gps_status = TRUE;
            gps_cnf1.status = META_SUCCESS;
            META_LOG("GPS_OP_SEND_CMD, gps_cnf.status:%d\r\n", gps_cnf1.status);
            WriteDataToPC(&gps_cnf1, sizeof(GPS_CNF), NULL, 0);

            break;   

        default:
            META_LOG("META_GPS_OP(), default 1\n");
            gps_cnf1.gps_status = FALSE;
            gps_cnf1.status = META_FAILED;
            WriteDataToPC(&gps_cnf1, sizeof(GPS_CNF), NULL, 0);
            META_LOG("META_GPS_OP(), default 2\n");
            break;
    }
    META_LOG("META_GPS_OP() 2\n");
}
int META_GPS_Open()
{
    int err;
    pid_t pid;
    int portno;
    struct sockaddr_in serv_addr;
    struct hostent *server;
    char *argv[] = {"/system/xbin/libmnla", "libmnlp"};
	chip_detector();
    META_LOG("META_GPS_Open() 1\n");
    // power on GPS chip
    err = mnl_write_attr("/sys/class/gpsdrv/gps/pwrctl", 4);
    if(err != 0)
    {
        META_LOG("META_GPS_Open: GPS power-on error: %d\n", err);
        return (-1);
    }

    // run gps driver (libmnlp)
    if ((pid = fork()) < 0) 
    {
        META_LOG("META_GPS_Open: fork fails: %d (%s)\n", errno, strerror(errno));
        return (-2);
    } 
    else if (pid == 0)  /*child process*/
    {
		char chip_id[100]={0};
		int fd;
		if((fd = open(GPS_PROPERTY, O_RDONLY)) == -1)
			MND_ERR("open % error, %s\n", GPS_PROPERTY, strerror(errno));	
		if(read(fd, chip_id, sizeof(chip_id)) == -1)
			MND_ERR("open % error, %s\n", GPS_PROPERTY, strerror(errno));
		close(fd);
		unlink(GPS_PROPERTY);
		MND_MSG("chip_id is %s\n", chip_id);
		if (strcmp(chip_id, "0x6620") ==0 )
		{
			MND_MSG("we get MT6620\n");
			char *mnl6620 = "/system/xbin/libmnlp_mt6620";
			argv[0] = mnl6620;	
		}
		else if(strcmp(chip_id, "0x6628") == 0)
		{
			MND_MSG("we get MT6628\n");
			char *mnl6628 = "/system/xbin/libmnlp_mt6628";
			argv[0] = mnl6628;			
		}	
		else if(strcmp(chip_id, "0x6630") == 0)
		{
			MND_MSG("we get MT6630\n");
			char *mnl6630 = "/system/xbin/libmnlp_mt6630";
			argv[0] = mnl6630;				
		}
		else if(strcmp(chip_id, "0x6572") == 0)
		{
			MND_MSG("we get MT6572\n");
			char *mnl6572 = "/system/xbin/libmnlp_mt6572";
			argv[0] = mnl6572;				
		}
		else if(strcmp(chip_id, "0x6582") == 0)
		{
			MND_MSG("we get MT6582\n");
			char *mnl6582 = "/system/xbin/libmnlp_mt6582";
			argv[0] = mnl6582;				
		}
                else if(strcmp(chip_id, "0x6592") == 0)
		{
			MND_MSG("we get MT6592\n");
			char *mnl6592 = "/system/xbin/libmnlp_mt6592";
			argv[0] = mnl6592;				
		}
		else if(strcmp(chip_id, "0x3332") == 0)
		{
			MND_MSG("we get MT3332\n");
			char *mnl3332 = "/system/xbin/libmnlp_mt3332";
			argv[0] = mnl3332;				
		}
		else
		{
			MND_ERR("chip is unknown, chip id is %s\n", chip_id);
			return -1; 
		}        

        MND_MSG("execute: %s \n", argv[0]);
        err = execl(argv[0], "libmnlp", "1Hz=y", NULL);
        if (err == -1){
            MND_MSG("execl error: %s\n", strerror(errno));
            return -1;
        }
        return 0;
    } 
    else  /*parent process*/
    {
        mnl_pid = pid;
        META_LOG("META_GPS_Open: mnl_pid = %d\n", pid);
    }

    // create socket connection to gps driver
    portno = 7000;
    /* Create a socket point */
    sockfd = socket(AF_INET, SOCK_STREAM, 0);
    if (sockfd < 0) 
    {
        META_LOG("META_GPS_Open: ERROR opening socket");
        return (-4);
    }
  /*  server = gethostbyname("127.0.0.1");
    if (server == NULL) {
        META_LOG("META_GPS_Open: ERROR, no such host\n");
        return (-5);
    }
*/
    bzero((char *) &serv_addr, sizeof(serv_addr));
    serv_addr.sin_family = AF_INET;
   // bcopy((char *)server->h_addr, (char *)&serv_addr.sin_addr.s_addr, server->h_length);
    serv_addr.sin_addr.s_addr = htons(INADDR_ANY);
    serv_addr.sin_port = htons(portno);

    sleep(3);  // sleep 5sec for libmnlp to finish initialization

    /* Now connect to the server */
    if (connect(sockfd, (struct sockaddr *)&serv_addr, sizeof(serv_addr)) < 0) 
    {
         META_LOG("META_GPS_Open: ERROR connecting");
         return (-6);
    }	

    // run GPS_MetaThread
    if (pthread_create(&gps_meta_thread_handle, NULL, GPS_MetaThread, NULL)) 
    {
        META_LOG("META_GPS_Open: error creating dsp thread \n");
        return (-7);
    }
    META_LOG("META_GPS_Open() 2\n");

    return 0;
}