#include "CrC_User.h"
#include <stdio.h>

/*ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜDEFINES*/
/*ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßR34_11_1994_update*/
int CrypC_R34_11_1994_update(struct R34_11_1994 *Context, void *Buff, LINT LenBuff)
/*ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ*/
/*           ®€šäšª æšï åíè-¢¥ªâ®à  á®®¡é¥­šï äà £¬¥­â®¬ á®®¡é¥­šï           */
/* å®€­ë¥ ¯ à ¬¥âàë:                                                         */
/* - ª § â¥«ì ­  ¡ãä¥à ª®­â¥ªáâ : *Context (áâàãªâãà ).                      */
/* - ª § â¥«ì ­  ¡ãä¥à â¥ªáâ  €«ï åíèšà®¢ ­šï *Buff.                         */
/* - «š­  € ­­ëå ¢ ¡ãä¥à¥ *Buf ¢ ¡ ©â å LenBuff.                             */
/* ëå®€:                                                                     */
/* - ®€šäšæšà®¢ ­­®¥ á®áâ®ï­š¥ ª®­â¥ªáâ .                                    */
/* ®€ë ¢®§¢à â :                                                             */
/* - RET_OK                                                                   */
/* - RET_INCORRECTCONTEXT  - ¯¥à¥€ ­ š­šæš «š§šà®¢ ­­ë© ª®­â¥ªáâ €à. à¥Šš¬ .  */
/* - RET_CONTEXTNOTREADY                                                      */
/* - RET_INVALIDPARAMETER  - ­ã«¥¢®© ãª § â¥«ì ­  ®¡ï§ â¥«ì­ë© ¯ à ¬¥âà.      */
/*ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ*/
{
    int         Ret;
   LINT         i;

if(!Context || !Buff)
  Ret = RET_INVALIDPARAMETER;
else
if((Context->Mark     & GOST_XXXXX_Marker_Mask ==
    R34_11_1994_Marker & GOST_XXXXX_Marker_Mask   ) &&
   (Context->Mark                                  !=
    R34_11_1994_Marker                            )   )
  Ret = RET_INCORRECTCONTEXT;
else if(Context->IsReady != 1)
  Ret = RET_CONTEXTNOTREADY;
else
  {  
  for(i=0;i<LenBuff;i++)
     {
     if(Context->BlockOffs == LNQ*4)         /* ®â®¢ ¡«®ª €«ï åíèšà®¢ ­šï?   */
       {
//     CrypC_NetToHost(Context->Feed,LNQ);
       CrypC__Hash(Context->PE->K_, Context->Digest, Context->Feed);
//     CrypC_HostToNet(Context->Feed,LNQ);
       CrypC__add_LbC(LNQ*4,Context->SumVec,Context->Feed);
       Context->MsgLength += LNQ*4;
       Context->BlockOffs  =     0;          /* ¥ª. á€¢š£ ¢ ¡«®ª¥.           */
       }
                                             /*  ª®¯«¥­š¥ â¥ªáâ :            */
     Context->Feed[Context->BlockOffs++] = ((BYTE *)Buff)[i];
     }
    
  Ret = RET_OK;
  }
return(Ret);
}
/*ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜR34_11_1994_update*/
/*ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßEOF*/
