code: func (ble *BLE) DiscoverDescriptors(deviceUuid xpc.UUID, serviceUuid, characteristicUuid string) {
  	sUuid := deviceUuid.String()
  	msg := 69
  	if ble.utsname.Release >= "18." {
  		msg = 94
  	}
  	if p, ok := ble.peripherals[sUuid]; ok {
  		s := p.Services[serviceUuid]
  		c := s.Characteristics[characteristicUuid]
  
  		ble.sendCBMsg(msg, xpc.Dict{
  			"kCBMsgArgDeviceUUID":                p.Uuid,
  			"kCBMsgArgCharacteristicHandle":      c.Handle,
  			"kCBMsgArgCharacteristicValueHandle": c.ValueHandle,
  		})
  	} else {
  		log.Println("no peripheral", deviceUuid)
  	}
  }
docs: // discover descriptors