OMX_ERRORTYPE AudioSource::GetConfig(
        OMX_INDEXTYPE nParamIndex,
        OMX_PTR pStructure)
{
    OMX_ERRORTYPE ret = OMX_ErrorNone;

    switch ((int)nParamIndex) {
        case OMX_IndexConfigAudioVolume:
            {
                OMX_AUDIO_CONFIG_VOLUMETYPE *pVolume;
                pVolume = (OMX_AUDIO_CONFIG_VOLUMETYPE*)pStructure;
                CHECK_STRUCT(pVolume, OMX_AUDIO_CONFIG_VOLUMETYPE, ret);
				fsl_osal_memcpy(pVolume, &Volume, sizeof(OMX_AUDIO_CONFIG_VOLUMETYPE));
            }
            break;
        case OMX_IndexConfigAudioMute:
             {
                OMX_AUDIO_CONFIG_MUTETYPE *pMute;
                pMute = (OMX_AUDIO_CONFIG_MUTETYPE*)pStructure;
                CHECK_STRUCT(pMute, OMX_AUDIO_CONFIG_MUTETYPE, ret);
				fsl_osal_memcpy(pMute, &Mute, sizeof(OMX_AUDIO_CONFIG_MUTETYPE));
            }
            break;
        case OMX_IndexConfigMaxAmplitude:
            {
				 *((OMX_S32*)pStructure) = getMaxAmplitude();
            }
            break;
        default:
            ret = OMX_ErrorUnsupportedIndex;
            break;
    }

    return ret;
}
OMX_ERRORTYPE V4lRender::RenderSetConfig(
    OMX_INDEXTYPE nParamIndex,
    OMX_PTR pStructure)
{
	OMX_ERRORTYPE ret = OMX_ErrorNone;

	switch (nParamIndex)
	{
	case OMX_IndexConfigCommonOutputCrop:
	{
		OMX_CONFIG_RECTTYPE *pRect;
		pRect = (OMX_CONFIG_RECTTYPE*)pStructure;
		CHECK_STRUCT(pRect, OMX_CONFIG_RECTTYPE, ret);
		fsl_osal_memcpy(&sRectOut, pRect, sizeof(OMX_CONFIG_RECTTYPE));
		SetDeviceDisplayRegion();
	}
	break;
	case OMX_IndexConfigCaptureFrame:
	{
		OMX_CONFIG_CAPTUREFRAME *pCapture;
		pCapture = (OMX_CONFIG_CAPTUREFRAME*)pStructure;
		CHECK_STRUCT(pCapture, OMX_CONFIG_CAPTUREFRAME, ret);
		sCapture.eType = pCapture->eType;
		sCapture.pBuffer = pCapture->pBuffer;
		bCaptureFrameDone = OMX_FALSE;
		if (sCapture.eType == CAP_SNAPSHOT)
		{
			CaptureFrame(EnqueueBufferIdx);
			bCaptureFrameDone = OMX_TRUE;
		}
	}
	break;
	case OMX_IndexOutputMode:
	{
		OMX_CONFIG_OUTPUTMODE *pOutputMode;
		pOutputMode = (OMX_CONFIG_OUTPUTMODE*)pStructure;
		CHECK_STRUCT(pOutputMode, OMX_CONFIG_OUTPUTMODE, ret);
		fsl_osal_memcpy(&sOutputMode, pOutputMode, sizeof(OMX_CONFIG_OUTPUTMODE));
//                AdjustCropIn(&sOutputMode.sRectIn);
		SetOutputMode();
	}
	break;
	case OMX_IndexSysSleep:
	{
		OMX_CONFIG_SYSSLEEP *pStreamOff;
		pStreamOff = (OMX_CONFIG_SYSSLEEP *)pStructure;
		CHECK_STRUCT(pStreamOff, OMX_CONFIG_SYSSLEEP, ret);
		if (pStreamOff->bSleep)
			V4lStreamOff(OMX_TRUE);
		else
			V4lStreamOnInPause();
	}
	break;
	default:
		ret = OMX_ErrorUnsupportedIndex;
		break;
	}

	return ret;
}
OMX_ERRORTYPE V4lRender::RenderGetConfig(
    OMX_INDEXTYPE nParamIndex,
    OMX_PTR pStructure)
{
	OMX_ERRORTYPE ret = OMX_ErrorNone;

	switch (nParamIndex)
	{
	case OMX_IndexConfigCommonOutputCrop:
	{
		OMX_CONFIG_RECTTYPE *pRect;
		pRect = (OMX_CONFIG_RECTTYPE*)pStructure;
		CHECK_STRUCT(pRect, OMX_CONFIG_RECTTYPE, ret);
		fsl_osal_memcpy(pRect, &sRectOut, sizeof(OMX_CONFIG_RECTTYPE));
	}
	break;
	case OMX_IndexOutputMode:
	{
		OMX_CONFIG_OUTPUTMODE *pOutputMode;
		pOutputMode = (OMX_CONFIG_OUTPUTMODE*)pStructure;
		CHECK_STRUCT(pOutputMode, OMX_CONFIG_OUTPUTMODE, ret);
		sOutputMode.bSetupDone = bStreamOn;
		fsl_osal_memcpy(pOutputMode, &sOutputMode, sizeof(OMX_CONFIG_OUTPUTMODE));
	}
	break;
	case OMX_IndexConfigCaptureFrame:
	{
		OMX_CONFIG_CAPTUREFRAME *pCapture;
		pCapture = (OMX_CONFIG_CAPTUREFRAME*)pStructure;
		CHECK_STRUCT(pCapture, OMX_CONFIG_CAPTUREFRAME, ret);
		pCapture->bDone = bCaptureFrameDone;
	}
	break;
	case OMX_IndexSysSleep:
	{
		OMX_CONFIG_SYSSLEEP *pStreamOff;
		pStreamOff = (OMX_CONFIG_SYSSLEEP *)pStructure;
		CHECK_STRUCT(pStreamOff, OMX_CONFIG_SYSSLEEP, ret);
		pStreamOff->bSleep = (OMX_BOOL)!bStreamOn;
	}
	break;

	default:
		ret = OMX_ErrorUnsupportedIndex;
		break;
	}

	return ret;
}
Exemplo n.º 4
0
void
check_lnet_handle_wire (void)
{
        CHECK_STRUCT (lnet_handle_wire_t);
        CHECK_MEMBER (lnet_handle_wire_t, wh_interface_cookie);
        CHECK_MEMBER (lnet_handle_wire_t, wh_object_cookie);
}
OMX_ERRORTYPE AudioSource::SetParameter(
        OMX_INDEXTYPE nParamIndex, 
        OMX_PTR pStructure)
{
    OMX_ERRORTYPE ret = OMX_ErrorNone;

    switch ((int)nParamIndex) {
        case OMX_IndexParamAudioPcm:
            {
                OMX_AUDIO_PARAM_PCMMODETYPE *pPcmMode;
                pPcmMode = (OMX_AUDIO_PARAM_PCMMODETYPE*)pStructure;
                CHECK_STRUCT(pPcmMode, OMX_AUDIO_PARAM_PCMMODETYPE, ret);
				fsl_osal_memcpy(&PcmMode, pPcmMode, sizeof(OMX_AUDIO_PARAM_PCMMODETYPE));
				LOG_DEBUG("Audio source samplerate: %d\n", PcmMode.nSamplingRate);
				LOG_DEBUG("Audio source channels: %d\n", PcmMode.nChannels);
				LOG_DEBUG("Audio source bitspersample: %d\n", PcmMode.nBitPerSample);
			}
            break;
		case OMX_IndexParamMaxFileDuration:
			 {
				 nMaxDuration = *((OMX_TICKS*)pStructure);
			 }
			 break;
		case OMX_IndexParamAudioSource:
			{
				 nAudioSource = *((OMX_S32*)pStructure);
			}
			break;
        default:
            ret = OMX_ErrorUnsupportedIndex;
            break;
    }

    return ret;
}
OMX_ERRORTYPE VideoRender::SetConfig(
        OMX_INDEXTYPE nParamIndex,
        OMX_PTR pStructure)
{
    OMX_ERRORTYPE ret = OMX_ErrorNone;

    switch (nParamIndex) {
        case OMX_IndexConfigCommonRotate:
            {
                OMX_CONFIG_ROTATIONTYPE *pRotate;
                pRotate = (OMX_CONFIG_ROTATIONTYPE*)pStructure;
                CHECK_STRUCT(pRotate, OMX_CONFIG_ROTATIONTYPE, ret);
                //not accomplished with openmax il api about the rotate value
                if(pRotate->nRotation == 90){
                    eRotation = ROTATE_90_LEFT;
                }else if(pRotate->nRotation == 180){
                    eRotation = ROTATE_180;
                }else if(pRotate->nRotation == 270){
                    eRotation = ROTATE_90_RIGHT;
                }else{
                    eRotation = (ROTATION)pRotate->nRotation;
                }
                SetDeviceRotation();
            }
            break;
        case OMX_IndexConfigCommonMirror:
            ret = OMX_ErrorNotImplemented;
            break;
        case OMX_IndexConfigCommonScale:
            ret = OMX_ErrorNotImplemented;
            break;
        case OMX_IndexConfigCommonInputCrop:
            {
                OMX_CONFIG_RECTTYPE *pRect;
                pRect = (OMX_CONFIG_RECTTYPE*)pStructure;
                CHECK_STRUCT(pRect, OMX_CONFIG_RECTTYPE, ret);
                fsl_osal_memcpy(&sRectIn, pRect, sizeof(OMX_CONFIG_RECTTYPE));
                SetDeviceInputCrop();
            }
            break;
        default:
            ret = RenderSetConfig(nParamIndex, pStructure);
            break;
    }

    return ret;
}
Exemplo n.º 7
0
void
check_lnet_magicversion (void)
{
        CHECK_STRUCT (lnet_magicversion_t);
        CHECK_MEMBER (lnet_magicversion_t, magic);
        CHECK_MEMBER (lnet_magicversion_t, version_major);
        CHECK_MEMBER (lnet_magicversion_t, version_minor);
}
OMX_ERRORTYPE IpulibRender::RenderGetConfig(
    OMX_INDEXTYPE nParamIndex,
    OMX_PTR pStructure)
{
	OMX_ERRORTYPE ret = OMX_ErrorNone;

	switch (nParamIndex)
	{
	case OMX_IndexOutputMode:
	{
		OMX_CONFIG_OUTPUTMODE *pOutputMode;
		pOutputMode = (OMX_CONFIG_OUTPUTMODE*)pStructure;
		CHECK_STRUCT(pOutputMode, OMX_CONFIG_OUTPUTMODE, ret);
		sOutputMode.bSetupDone = OMX_TRUE;
		fsl_osal_memcpy(pOutputMode, &sOutputMode, sizeof(OMX_CONFIG_OUTPUTMODE));
	}
	break;
	case OMX_IndexConfigCaptureFrame:
	{
		OMX_CONFIG_CAPTUREFRAME *pCapture;
		pCapture = (OMX_CONFIG_CAPTUREFRAME*)pStructure;
		CHECK_STRUCT(pCapture, OMX_CONFIG_CAPTUREFRAME, ret);
		pCapture->bDone = bCaptureFrameDone;
		if(sCapture.nFilledLen == 0)
			ret = OMX_ErrorUndefined;
	}
	break;
	case OMX_IndexSysSleep:
	{
		OMX_CONFIG_SYSSLEEP *pSysSleep = (OMX_CONFIG_SYSSLEEP *)pStructure;
		CHECK_STRUCT(pSysSleep, OMX_CONFIG_SYSSLEEP, ret);
		pSysSleep->bSleep = bSuspend;
	}
	break;
	default:
		ret = OMX_ErrorUnsupportedIndex;
		break;
	}

	return ret;
}
OMX_ERRORTYPE AudioSource::SetConfig(
        OMX_INDEXTYPE nParamIndex,
        OMX_PTR pStructure)
{
    OMX_ERRORTYPE ret = OMX_ErrorNone;

    switch ((int)nParamIndex) {
        case OMX_IndexConfigAudioVolume:
            {
                OMX_AUDIO_CONFIG_VOLUMETYPE *pVolume;
                pVolume = (OMX_AUDIO_CONFIG_VOLUMETYPE*)pStructure;
                CHECK_STRUCT(pVolume, OMX_AUDIO_CONFIG_VOLUMETYPE, ret);
				fsl_osal_memcpy(&Volume, pVolume, sizeof(OMX_AUDIO_CONFIG_VOLUMETYPE));
            }
            break;
        case OMX_IndexConfigAudioMute:
             {
                OMX_AUDIO_CONFIG_MUTETYPE *pMute;
                pMute = (OMX_AUDIO_CONFIG_MUTETYPE*)pStructure;
                CHECK_STRUCT(pMute, OMX_AUDIO_CONFIG_MUTETYPE, ret);
				fsl_osal_memcpy(&Mute, pMute, sizeof(OMX_AUDIO_CONFIG_MUTETYPE));
            }
            break;
		case OMX_IndexConfigEOS:
			 {
				 OMX_CONFIG_BOOLEANTYPE *pEOS;
				 pEOS = (OMX_CONFIG_BOOLEANTYPE*)pStructure;
				 OMX_CHECK_STRUCT(pEOS, OMX_CONFIG_BOOLEANTYPE, ret);
				 fsl_osal_memcpy(&EOS, pEOS, sizeof(OMX_CONFIG_BOOLEANTYPE));
			 }
			 break;
		default:
			 ret = OMX_ErrorUnsupportedIndex;
			 break;
    }

    return ret;
}
OMX_ERRORTYPE VideoRender::GetConfig(
        OMX_INDEXTYPE nParamIndex,
        OMX_PTR pStructure)
{
    OMX_ERRORTYPE ret = OMX_ErrorNone;

    switch (nParamIndex) {
        case OMX_IndexConfigCommonRotate:
            {
                OMX_CONFIG_ROTATIONTYPE *pRotate;
                pRotate = (OMX_CONFIG_ROTATIONTYPE*)pStructure;
                CHECK_STRUCT(pRotate, OMX_CONFIG_ROTATIONTYPE, ret);
                pRotate->nRotation = eRotation;
            }
            break;
        case OMX_IndexConfigCommonMirror:
            ret = OMX_ErrorNotImplemented;
            break;
        case OMX_IndexConfigCommonScale:
            ret = OMX_ErrorNotImplemented;
            break;
        case OMX_IndexConfigCommonInputCrop:
            {
                OMX_CONFIG_RECTTYPE *pRect;
                pRect = (OMX_CONFIG_RECTTYPE*)pStructure;
                CHECK_STRUCT(pRect, OMX_CONFIG_RECTTYPE, ret);
                fsl_osal_memcpy(pRect, &sRectIn, sizeof(OMX_CONFIG_RECTTYPE));
            }
            break;
        default:
            ret = RenderGetConfig(nParamIndex, pStructure);
            break;
    }

    return ret;
}
Exemplo n.º 11
0
void
check_lnet_hdr (void)
{
        CHECK_STRUCT (lnet_hdr_t);
        CHECK_MEMBER (lnet_hdr_t, dest_nid);
        CHECK_MEMBER (lnet_hdr_t, src_nid);
        CHECK_MEMBER (lnet_hdr_t, dest_pid);
        CHECK_MEMBER (lnet_hdr_t, src_pid);
        CHECK_MEMBER (lnet_hdr_t, type);
        CHECK_MEMBER (lnet_hdr_t, payload_length);
        CHECK_MEMBER (lnet_hdr_t, msg);

        BLANK_LINE ();
        COMMENT ("Ack");
        CHECK_MEMBER (lnet_hdr_t, msg.ack.dst_wmd);
        CHECK_MEMBER (lnet_hdr_t, msg.ack.match_bits);
        CHECK_MEMBER (lnet_hdr_t, msg.ack.mlength);

        BLANK_LINE ();
        COMMENT ("Put");
        CHECK_MEMBER (lnet_hdr_t, msg.put.ack_wmd);
        CHECK_MEMBER (lnet_hdr_t, msg.put.match_bits);
        CHECK_MEMBER (lnet_hdr_t, msg.put.hdr_data);
        CHECK_MEMBER (lnet_hdr_t, msg.put.ptl_index);
        CHECK_MEMBER (lnet_hdr_t, msg.put.offset);

        BLANK_LINE ();
        COMMENT ("Get");
        CHECK_MEMBER (lnet_hdr_t, msg.get.return_wmd);
        CHECK_MEMBER (lnet_hdr_t, msg.get.match_bits);
        CHECK_MEMBER (lnet_hdr_t, msg.get.ptl_index);
        CHECK_MEMBER (lnet_hdr_t, msg.get.src_offset);
        CHECK_MEMBER (lnet_hdr_t, msg.get.sink_length);

        BLANK_LINE ();
        COMMENT ("Reply");
        CHECK_MEMBER (lnet_hdr_t, msg.reply.dst_wmd);

        BLANK_LINE ();
        COMMENT ("Hello");
        CHECK_MEMBER (lnet_hdr_t, msg.hello.incarnation);
        CHECK_MEMBER (lnet_hdr_t, msg.hello.type);
}
OMX_ERRORTYPE AudioSource::GetParameter(
        OMX_INDEXTYPE nParamIndex, 
        OMX_PTR pStructure)
{
    OMX_ERRORTYPE ret = OMX_ErrorNone;

    switch (nParamIndex) {
		case OMX_IndexParamAudioPcm:
            {
                OMX_AUDIO_PARAM_PCMMODETYPE *pPcmMode;
                pPcmMode = (OMX_AUDIO_PARAM_PCMMODETYPE*)pStructure;
                CHECK_STRUCT(pPcmMode, OMX_AUDIO_PARAM_PCMMODETYPE, ret);
				fsl_osal_memcpy(pPcmMode, &PcmMode,	sizeof(OMX_AUDIO_PARAM_PCMMODETYPE));
			}
			break;
        default:
            ret = OMX_ErrorUnsupportedIndex;
            break;
    }

    return ret;
}
OMX_ERRORTYPE IpulibRender::RenderSetConfig(
    OMX_INDEXTYPE nParamIndex,
    OMX_PTR pStructure)
{
	OMX_ERRORTYPE ret = OMX_ErrorNone;

	switch (nParamIndex)
	{
	case OMX_IndexOutputMode:
	{
		OMX_CONFIG_OUTPUTMODE *pOutputMode;
		pOutputMode = (OMX_CONFIG_OUTPUTMODE*)pStructure;
		CHECK_STRUCT(pOutputMode, OMX_CONFIG_OUTPUTMODE, ret);
		fsl_osal_memcpy(&sOutputMode, pOutputMode, sizeof(OMX_CONFIG_OUTPUTMODE));
		fsl_osal_memcpy(&sRectIn, &pOutputMode->sRectIn, sizeof(OMX_CONFIG_RECTTYPE));
		fsl_osal_memcpy(&sRectOut, &pOutputMode->sRectOut, sizeof(OMX_CONFIG_RECTTYPE));
		eRotation = pOutputMode->eRotation;
		ResetDevice();
	}
	break;
	case OMX_IndexConfigCaptureFrame:
	{
		OMX_CONFIG_CAPTUREFRAME *pCapture;
		pCapture = (OMX_CONFIG_CAPTUREFRAME*)pStructure;
		CHECK_STRUCT(pCapture, OMX_CONFIG_CAPTUREFRAME, ret);
		sCapture.eType = pCapture->eType;
		sCapture.pBuffer = pCapture->pBuffer;
		bCaptureFrameDone = OMX_FALSE;
		if (sCapture.eType == CAP_SNAPSHOT)
		{
			if(pShowFrame == NULL)
			{
				ret = OMX_ErrorUndefined;
				break;
			}
			fsl_osal_memcpy(sCapture.pBuffer, pShowFrame, nFrameLen);
			sCapture.nFilledLen = nFrameLen;
			bCaptureFrameDone = OMX_TRUE;
		}
	}
	break;
	case OMX_IndexSysSleep:
		OMX_CONFIG_SYSSLEEP *pSysSleep;
		pSysSleep = (OMX_CONFIG_SYSSLEEP *)pStructure;
		bSuspend = pSysSleep->bSleep;
		fsl_osal_mutex_lock(lock);
		if(OMX_TRUE == bSuspend)
		{
			CloseDevice();
		}
		else
		{
			OMX_STATETYPE eState = OMX_StateInvalid;
			GetState(&eState);
			if(eState == OMX_StatePause)
				StartDeviceInPause();
		}
		fsl_osal_mutex_unlock(lock);
		break;
	default:
		ret = OMX_ErrorUnsupportedIndex;
		break;
	}

	return ret;
}
Exemplo n.º 14
0
static void
check_types (void)
{
    COMMENT ("Types...");

    BLANK_LINE ();
    CHECK_STRUCT (version_struct);
    CHECK_MEMBER (version_struct, major);
    CHECK_MEMBER (version_struct, minor);
    CHECK_MEMBER (version_struct, rv);

    BLANK_LINE ();
    CHECK_STRUCT (client_struct);
    CHECK_MEMBER (client_struct, hContext);

    BLANK_LINE ();
    CHECK_STRUCT (establish_struct);
    CHECK_MEMBER (establish_struct, dwScope);
    CHECK_MEMBER (establish_struct, hContext);
    CHECK_MEMBER (establish_struct, rv);

    BLANK_LINE ();
    CHECK_STRUCT (release_struct);
    CHECK_MEMBER (release_struct, hContext);
    CHECK_MEMBER (release_struct, rv);

    BLANK_LINE ();
    CHECK_STRUCT (connect_struct);
    CHECK_MEMBER (connect_struct, hContext);
    CHECK_MEMBER (connect_struct, szReader);
    CHECK_MEMBER (connect_struct, dwShareMode);
    CHECK_MEMBER (connect_struct, dwPreferredProtocols);
    CHECK_MEMBER (connect_struct, hCard);
    CHECK_MEMBER (connect_struct, dwActiveProtocol);
    CHECK_MEMBER (connect_struct, rv);

    BLANK_LINE ();
    CHECK_STRUCT (reconnect_struct);
    CHECK_MEMBER (reconnect_struct, hCard);
    CHECK_MEMBER (reconnect_struct, dwShareMode);
    CHECK_MEMBER (reconnect_struct, dwPreferredProtocols);
    CHECK_MEMBER (reconnect_struct, dwInitialization);
    CHECK_MEMBER (reconnect_struct, dwActiveProtocol);
    CHECK_MEMBER (reconnect_struct, rv);

    BLANK_LINE ();
    CHECK_STRUCT (disconnect_struct);
    CHECK_MEMBER (disconnect_struct, hCard);
    CHECK_MEMBER (disconnect_struct, dwDisposition);
    CHECK_MEMBER (disconnect_struct, rv);

    BLANK_LINE ();
    CHECK_STRUCT (begin_struct);
    CHECK_MEMBER (begin_struct, hCard);
    CHECK_MEMBER (begin_struct, rv);

    BLANK_LINE ();
    CHECK_STRUCT (end_struct);
    CHECK_MEMBER (end_struct, hCard);
    CHECK_MEMBER (end_struct, dwDisposition);
    CHECK_MEMBER (end_struct, rv);

    BLANK_LINE ();
    CHECK_STRUCT (cancel_struct);
    CHECK_MEMBER (cancel_struct, hContext);
    CHECK_MEMBER (cancel_struct, rv);

    BLANK_LINE ();
    CHECK_STRUCT (status_struct);
    CHECK_MEMBER (status_struct, hCard);
    CHECK_MEMBER (status_struct, rv);

    BLANK_LINE ();
    CHECK_STRUCT (transmit_struct);
    CHECK_MEMBER (transmit_struct, hCard);
    CHECK_MEMBER (transmit_struct, ioSendPciProtocol);
    CHECK_MEMBER (transmit_struct, ioSendPciLength);
    CHECK_MEMBER (transmit_struct, cbSendLength);
    CHECK_MEMBER (transmit_struct, ioRecvPciProtocol);
    CHECK_MEMBER (transmit_struct, ioRecvPciLength);
    CHECK_MEMBER (transmit_struct, pcbRecvLength);
    CHECK_MEMBER (transmit_struct, rv);

    BLANK_LINE ();
    CHECK_STRUCT (control_struct);
    CHECK_MEMBER (control_struct, hCard);
    CHECK_MEMBER (control_struct, dwControlCode);
    CHECK_MEMBER (control_struct, cbSendLength);
    CHECK_MEMBER (control_struct, cbRecvLength);
    CHECK_MEMBER (control_struct, dwBytesReturned);
    CHECK_MEMBER (control_struct, rv);

    BLANK_LINE ();
    CHECK_STRUCT (getset_struct);
    CHECK_MEMBER (getset_struct, hCard);
    CHECK_MEMBER (getset_struct, dwAttrId);
    CHECK_MEMBER (getset_struct, cbAttrLen);
    CHECK_MEMBER (getset_struct, rv);

    BLANK_LINE ();
    CHECK_STRUCT (pubReaderStatesList);
    CHECK_MEMBER (pubReaderStatesList, readerName);
    CHECK_MEMBER (pubReaderStatesList, readerState);
    CHECK_MEMBER (pubReaderStatesList, readerSharing);
    CHECK_MEMBER (pubReaderStatesList, cardAtr);
    CHECK_MEMBER (pubReaderStatesList, cardAtrLength);
    CHECK_MEMBER (pubReaderStatesList, cardProtocol);
}