docs: def simxQuery(clientID, signalName, signalValue, retSignalName, timeOutInMs):
      '''
      Please have a look at the function description/documentation in the V-REP user manual
      '''
  
      retSignalLength = ct.c_int();
      retSignalValue = ct.POINTER(ct.c_ubyte)()
  
      sigV=signalValue
      if sys.version_info[0] == 3:
          if type(signalName) is str:
              signalName=signalName.encode('utf-8')
          if type(retSignalName) is str:
              retSignalName=retSignalName.encode('utf-8')
          if type(signalValue) is bytearray:
              sigV  = (ct.c_ubyte*len(signalValue))(*signalValue)
          if type(signalValue) is str:
              signalValue=signalValue.encode('utf-8')
              sigV  = (ct.c_ubyte*len(signalValue))(*signalValue)
      else:
          if type(signalValue) is bytearray:
              sigV = (ct.c_ubyte*len(signalValue))(*signalValue)
          if type(signalValue) is str:
              signalValue=bytearray(signalValue)
              sigV = (ct.c_ubyte*len(signalValue))(*signalValue)
      sigV=ct.cast(sigV,ct.POINTER(ct.c_ubyte)) # IronPython needs this
  
      ret = c_Query(clientID, signalName, sigV, len(signalValue), retSignalName, ct.byref(retSignalValue), ct.byref(retSignalLength), timeOutInMs)
  
      a = bytearray()
      if ret == 0:
          for i in range(retSignalLength.value):
              a.append(retSignalValue[i])
      if sys.version_info[0] != 3:
          a=str(a)
  
      return ret, a