Pular para o conteúdo

util_raddr

  • Lê um Account ID de 20 bytes a partir de read_ptr
  • Escreve o r-address equivalente para esse Account ID em write_ptr
int64_t util_raddr (
uint32_t write_ptr,
uint32_t write_len,
uint32_t read_ptr,
uint32_t read_len
);
uint8_t raddr_out[40];
uint8_t acc_id[20] =
{
0x2dU, 0xd8U, 0xaaU, 0xdbU, 0x4eU, 0x15U,
0xebU, 0xeaU, 0xeU, 0xfdU, 0x78U, 0xd1U, 0xb0U,
0x35U, 0x91U, 0x4U, 0x7bU, 0xfaU, 0x1eU, 0xeU
};
int64_t bytes_written =
util_raddr(raddr_out, sizeof(raddr_out), acc_id, 20);
NomeTipoDescrição
write_ptruint32_tPonteiro para um buffer de tamanho adequado para armazenar o r-address de saída. Recomenda-se pelo menos 35 bytes.
write_lenuint32_tTamanho do buffer de saída.
read_ptruint32_tPonteiro para o Account ID.
read_lenuint32_tO tamanho da entrada. Sempre 20.
TipoDescrição
int64_t

O número de bytes escritos (o tamanho do r-address de saída).

Se negativo, um erro:
OUT_OF_BOUNDS
- ponteiros/tamanhos especificados fora da memória do hook.

INVALID_ARGUMENT
- read_len não era 20.

TOO_SMALL
- write_len não era grande o suficiente para armazenar o r-address produzido.