Пример #1
0
int
Layer7_Connection::X_Memory_Write (memaddr_t addr, const CArray & data)
{
  CArray d1;
  if (A_Memory_Write (addr, data) == -1)
    return -1;
  if (A_Memory_Read (addr, data (), d1) == -1)
    return -1;
  if (d1 != data)
    return -2;
  return 0;
}
Пример #2
0
int
Layer7_Connection::A_Memory_Write_Block (memaddr_t addr, const CArray & data)
{
  CArray prev;
  int i, j, k, res = 0;
  const unsigned blocksize = 12;

  for (i = 0; i < data (); i += blocksize)
    {
      j = blocksize;
      if (i + j > data ())
	j = data () - i;
      k = A_Memory_Write (addr + i, CArray (data.array () + i, j));
      if (k == -1)
	return -1;
    }

  return res;
}