Cryptography Reference
In-Depth Information
int
purge_reg_l (unsigned int reg)
{
if (!registers.created || (reg >= registers.noofregs))
{
return E_CLINT_NOR;
}
memset (registers.reg_l[reg], 0, CLINTMAXBYTE);
return E_CLINT_OK;
}
Just as an individual register can be cleared with the function
purge_reg_l()
,
with the function
purgeall_reg_l()
the complete set of registers can be cleared
by overwriting.
clear all
CLINT
registers by overwriting with zeros
Function:
int purgeall_reg_l (void);
Syntax:
E_CLINT_OK
if deletion is ok
E_CLINT_NOR
if registers are not allocated
Return:
int
purgeall_reg_l (void)
{
unsigned i;
if (registers.created)
{
for (i = 0; i < registers.noofregs; i++)
{
memset (registers.reg_l[i], 0, CLINTMAXBYTE);
}
return E_CLINT_OK;
}
return E_CLINT_NOR;
}
It is good programming style and etiquette to release allocated memory
when it is no longer needed. An existing set of registers can be released with the
function
free_reg_l()
. However, as we have explained above, the semaphore