/*
 * Copyright(C) 2000 Проект ИОК
 *
 * Этот файл содержит информацию, являющуюся
 * собственностью компании Крипто Про.
 *
 * Любая часть этого файла не может быть скопирована,
 * исправлена, переведена на другие языки,
 * локализована или модифицирована любым способом,
 * откомпилирована, передана по сети с или на
 * любую компьютерную систему без предварительного
 * заключения соглашения с компанией Крипто Про.
 */

/*!
 * \file $RCSfile$
 * \version $Revision: 159171 $
 * \date $Date:: 2017-06-27 11:39:17 +0300#$
 * \author $Author: sagafyin $
 * \brief Дублирование контекста карты.
 */

#include "ric_prj.h"

/*!
 * \brief Дублирование контекста карты.
 */
DWORD ric_context_dup( 
    TSupSysContext *context, 
    TSupSysInfo *info )
{
    TSupSysInfoContextDup *inf = (TSupSysInfoContextDup*)info;
    TRICContext *dest;
    TRICContext *src = (TRICContext*)context;

    SUPSYS_PRE_INFO( info, TSupSysInfoContextDup );
    SUPSYS_PRE_CONTEXT( context, TRICContext );

    dest = calloc(1, sizeof(TRICContext));
    if( dest == NULL )
	return (DWORD)NTE_NO_MEMORY;
    dest->unique_length = src->unique_length;
    dest->unique_form = src->unique_form;
    dest->change_pin = src->change_pin;
    dest->block_len_read = src->block_len_read;
    dest->block_len_write = src->block_len_write;
    dest->class_tag = src->class_tag;
    dest->application = 0;
    dest->card_type = src->card_type;
    dest->connect_name = src->connect_name;
    inf->dest_context = (TSupSysEContext*)dest;
    return ERROR_SUCCESS;
}
/* end of file: $Id: ric_dup.c 159171 2017-06-27 08:39:17Z sagafyin $ */
