#pragma once
// AUTOGENERATED FILE: DO NOT EDIT

#include <stdint.h>
#include "object.h"

#define IBcTuiReadData_OP_readData 0

static inline int32_t
IBcTuiReadData_release(Object self)
{
  return Object_invoke(self, Object_OP_release, 0, 0);
}

static inline int32_t
IBcTuiReadData_retain(Object self)
{
  return Object_invoke(self, Object_OP_retain, 0, 0);
}

static inline int32_t
IBcTuiReadData_readData(Object self, uint32_t *ret_ptr, uint32_t cmd_id_val, const void *caller_ta_name_ptr, size_t caller_ta_name_len, const void *sned_data_ptr, size_t sned_data_len, void *resp_data_ptr, size_t resp_data_len, size_t *resp_data_lenout)
{
  ObjectArg a[5]={{{0,0}}};
  a[3].b = (ObjectBuf) { ret_ptr, sizeof(uint32_t) };
  a[0].b = (ObjectBuf) { &cmd_id_val, sizeof(uint32_t) };
  a[1].bi = (ObjectBufIn) { caller_ta_name_ptr, caller_ta_name_len * 1 };
  a[2].bi = (ObjectBufIn) { sned_data_ptr, sned_data_len * 1 };
  a[4].b = (ObjectBuf) { resp_data_ptr, resp_data_len * 1 };

  int32_t result = Object_invoke(self, IBcTuiReadData_OP_readData, a, ObjectCounts_pack(3, 2, 0, 0));

  *resp_data_lenout = a[4].b.size / 1;

  return result;
}



