Ejemplo n.º 1
0
    void Cloud::setup(kerberos::StringMap & settings)
    {
        // -------------------------------
        // Upload interval [1.5sec;4.2min]
        
        m_min = 1500;
        m_max = 256000;
        m_interval = m_min;

        startPollThread();
        startUploadThread();
    }
Ejemplo n.º 2
0
A_STATUS
CF_UnMaskInterrupt(CF_DEVICE_HANDLE cfHandle) {
    CF_DEVICE    *cfDevice;
#ifndef POLL
    NDIS_STATUS   ndisStatus;
#endif
    
    HIF_DEBUG_PRINTF(ATH_LOG_TRC,
				"CF_UnMaskInterrupt \n");
	cfDevice = (CF_DEVICE *)cfHandle;
	
#ifdef POLL
    startPollThread(cfDevice);
#else
#ifdef SHARED_INTERRUPTS
    isrHandler = LoadIntChainHandler(TEXT("giisr.dll"),TEXT("ISRHandler"),(BYTE)cfDevice->interruptNumber);
    if (!isrHandler) {
        HIF_DEBUG_PRINTF(ATH_LOG_ERR,"CF_UnMaskInterrupt: Load int chain handler failed \n");
        return A_ERROR;
	}
	memset (&Info,0,sizeof(Info));
    Info.SysIntr = cfDevice->sysIntr;
    Info.CheckPort = TRUE;
    Info.PortIsIO = FALSE;
    Info.UseMaskReg = TRUE;
    Info.PortSize = sizeof(BYTE);

	Info.PortAddr = (DWORD)giisrMappedAddress + 0x00000400;
	Info.MaskAddr = (DWORD)giisrMappedAddress + 0x00000418;

	if (!KernelLibIoControl(isrHandler,IOCTL_GIISR_INFO,&Info,sizeof(Info),NULL,0,NULL))  {
        HIF_DEBUG_PRINTF(ATH_LOG_ERR,"CF_UnMaskInterrupt: KernelLibIoControl failed  \n");
		return A_ERROR;
    }
	
#endif // SHARED_INTERRUPTS
    ndisStatus = NdisMRegisterInterrupt(&cfDevice->interruptObject,
                                    cfDevice->miniportHandle,
                                    cfDevice->interruptNumber,
                                    0, TRUE, TRUE, 0);

    if (ndisStatus != NDIS_STATUS_SUCCESS) { 
        return A_ERROR;
    }
    
#endif
    cfDevice->interruptRegistered= TRUE;

    return A_OK;
}