blob: a6dae7ca0e99ce1c5c3a47cbe97467a7faf36c5c [file] [log] [blame]
// Copyright 2020 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
library fuchsia.bluetooth;
// DEPRECATED. Do not use these types in new code.
// TODO(https://fxbug.dev/42121050): Remove all usage of the following types and delete them.
@deprecated
type Bool = struct {
value bool;
};
@deprecated
type Int8 = struct {
value int8;
};
@deprecated
type UInt16 = struct {
value uint16;
};
@deprecated("Use protocol specific error enums and zx.Status instead")
type ErrorCode = strict enum {
UNKNOWN = 0;
FAILED = 1;
CANCELED = 2;
IN_PROGRESS = 3;
TIMED_OUT = 4;
NOT_FOUND = 5;
NOT_SUPPORTED = 6;
BLUETOOTH_NOT_AVAILABLE = 7;
BAD_STATE = 8;
INVALID_ARGUMENTS = 9;
ALREADY = 10;
PROTOCOL_ERROR = 11;
};
@deprecated("Use protocol specific error enums instead")
// Represents an error result returned from an asynchronous operation.
type Error = struct {
// Represents a high-level error code. If this is set to ErrorCode.PROTOCOL_ERROR, then
// `protocol_error_code` will represent a Bluetooth protocol error code. The specific
// protocol that caused the error will be context-specific, e.g. GATT interfaces will
// return ATT protocol error codes.
error_code ErrorCode;
// Protocol error code. The value of this field is relevant only if `error_code` is set to
// ErrorCode.PROTOCOL_ERROR.
protocol_error_code uint32;
// Debug descriptioon of an error. This provides additional debugging information for an error
// and is not intended to be displayed in user interfaces.
description string:<MAX, optional>;
};
@deprecated("Use protocol specific error enums and the 'error' syntax instead")
// Represents the result of an asynchronous operation.
type Status = struct {
// `error` will be null if this represents a "success" status, i.e. no error has occurred.
error box<Error>;
};
/// The size of the standard string representation for a UUID. This value is based on the canonical
/// 36-character 8-4-4-4-12 format defined in IETF RFC4122 Section 3.
const UUID_STRING_REPRESENTATION_LENGTH uint8 = 36;
@deprecated("Use fuchsia.bluetooth/Uuid instead")
alias UuidString = string:UUID_STRING_REPRESENTATION_LENGTH;
@deprecated("Use fuchsia.bluetooth/PeerId instead")
alias PeerIdString = string:16;