code: def _get_dtype_buffer_count_offset(draw):
      dtype, value = draw(
          helpers.dtype_and_values(
              available_dtypes=helpers.get_dtypes("valid"),
          )
      )
      value = np.array(value)
      length = value.size
      value = value.tobytes()
  
      offset = draw(helpers.ints(min_value=0, max_value=length - 1))
      count = draw(
          helpers.ints(min_value=-(2**30), max_value=length - offset)
      )
      if count == 0:
          count = -1
      offset = offset * np.dtype(dtype[0]).itemsize
  
      return dtype, value, count, offset
  
imports: from hypothesis import strategies, assume
  import math
  import numpy
  import ivy_tests.test_ivy.helpers
  import ivy_tests.test_ivy.helpers.globals
  from ivy_tests.test_ivy.helpers import handle_frontend_test, BackendHandler
label_desc: Use image node_id 4 for calling a global function with example usage: _get_dtype_buffer_count_offset(draw) and returns: dtype,  value,  count,  offset