Tags: 2.5 Privileged


The BluetoothClassOfDevice interface of the Bluetooth API provides identifying/classification information about a given remote Bluetooth device, available at discovery stage.

Interface overview

interface BluetoothClassOfDevice
  // Major service class
  const unsigned short LIMITED_DISCOVERABILITY = 0x0001;
  const unsigned short POSITIONING             = 0x0008;
  const unsigned short NETWORKING              = 0x0010;
  const unsigned short RENDERING               = 0x0020;
  const unsigned short CAPTURING               = 0x0040;
  const unsigned short OBJECT_TRANSFER         = 0x0080;
  const unsigned short AUDIO                   = 0x0100;
  const unsigned short TELEPHONY               = 0x0200;
  const unsigned short INFORMATION             = 0x0400;

  // Major device class
  const octet MISC          = 0x00;
  const octet COMPUTER      = 0x01;
  const octet PHONE         = 0x02;
  const octet NETWORK       = 0x03;
  const octet AUDIO_VIDEO   = 0x04;
  const octet PERIPHERAL    = 0x05;
  const octet IMAGING       = 0x06;
  const octet WEARABLE      = 0x07;
  const octet TOY           = 0x08;
  const octet HEALTH        = 0x09;
  const octet UNCATEGORIZED = 0x1F;

  readonly attribute unsigned short majorServiceClass;
  readonly attribute octet majorDeviceClass;
  readonly attribute octet minorDeviceClass;


  • BluetoothClassOfDevice.majorDeviceClass Represents the Major Device Class of the CoD field of a Bluetooth Device; "the highest level of granularity for defining a Bluetooth device". [1]

  • BluetoothClassOfDevice.minorDeviceClass Represents the Minor Device Class of the CoD field of a Bluetooth Device; "interpreted only in the context of the Major Device Class (but independently of the Service Class field)". [1]

  • BluetoothClassOfDevice.majorServiceClass Represents the Major Service Class of the CoD field of a Bluetooth Device; "the general families of devices with which Bluetooth SIG members want their applications to be associated". [1]