6. buffer对象API


6.1 创建字节数组

  1. /**
  2. * @brief 创建字节数组
  3. * @param e,虚拟机参数
  4. * @param len,数组长度
  5. * @return 字节数组对象
  6. */
  7. evm_val_t *evm_buffer_create(evm_t *e, int len);

6.2 获取buffer对象的数据地址

  1. /**
  2. * @brief 获取buffer对象的数据地址
  3. * @param o
  4. * @return
  5. */
  6. uint8_t * evm_buffer_addr(evm_val_t * o);

6.3 获取字节数组长度

  1. /**
  2. * @brief 获取字节数组长度
  3. * @param v,字节数组对象
  4. * @return 字节数组长度
  5. */
  6. int evm_buffer_len(evm_val_t * o);

6.4 字节数组内容设置

  1. /**
  2. * @brief 字节数组内容设置
  3. * @param o,字节数组对象
  4. * @param index,索引
  5. * @param len,长度
  6. * @param buffer,写入内容缓存数组
  7. * @return 虚拟机错误码
  8. */
  9. evm_err_t evm_buffer_set(evm_val_t * o, uint8_t * buffer, uint32_t index, uint32_t len);