This file is indexed.

/usr/include/gnome-bluetooth/bluetooth-enums.h is in libgnome-bluetooth-dev 3.28.0-2ubuntu0.1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
/*
 *
 *  BlueZ - Bluetooth protocol stack for Linux
 *
 *  Copyright (C) 2005-2008  Marcel Holtmann <marcel@holtmann.org>
 *
 *
 *  This library is free software; you can redistribute it and/or
 *  modify it under the terms of the GNU Lesser General Public
 *  License as published by the Free Software Foundation; either
 *  version 2.1 of the License, or (at your option) any later version.
 *
 *  This library is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 *  Lesser General Public License for more details.
 *
 *  You should have received a copy of the GNU Lesser General Public
 *  License along with this library; if not, write to the Free Software
 *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 *
 */

#ifndef __BLUETOOTH_ENUMS_H
#define __BLUETOOTH_ENUMS_H

#include <glib.h>

G_BEGIN_DECLS

/**
 * SECTION:bluetooth-enums
 * @short_description: Bluetooth related enumerations
 * @stability: Stable
 * @include: bluetooth-enums.h
 *
 * Enumerations related to Bluetooth.
 **/

/**
 * BluetoothCategory:
 * @BLUETOOTH_CATEGORY_ALL: all devices
 * @BLUETOOTH_CATEGORY_PAIRED: paired devices
 * @BLUETOOTH_CATEGORY_TRUSTED: trusted devices
 * @BLUETOOTH_CATEGORY_NOT_PAIRED_OR_TRUSTED: neither paired, nor trusted devices
 * @BLUETOOTH_CATEGORY_PAIRED_OR_TRUSTED: paired and/or trusted devices
 *
 * The category of a Bluetooth devices.
 **/
typedef enum {
	BLUETOOTH_CATEGORY_ALL,
	BLUETOOTH_CATEGORY_PAIRED,
	BLUETOOTH_CATEGORY_TRUSTED,
	BLUETOOTH_CATEGORY_NOT_PAIRED_OR_TRUSTED,
	BLUETOOTH_CATEGORY_PAIRED_OR_TRUSTED,
	/* < private > */
	BLUETOOTH_CATEGORY_NUM_CATEGORIES /*< skip >*/
} BluetoothCategory;

/**
 * BluetoothType:
 * @BLUETOOTH_TYPE_ANY: any device, or a device of an unknown type
 * @BLUETOOTH_TYPE_PHONE: a telephone (usually a cell/mobile phone)
 * @BLUETOOTH_TYPE_MODEM: a modem
 * @BLUETOOTH_TYPE_COMPUTER: a computer, can be a laptop, a wearable computer, etc.
 * @BLUETOOTH_TYPE_NETWORK: a network device, such as a router
 * @BLUETOOTH_TYPE_HEADSET: a headset (usually a hands-free device)
 * @BLUETOOTH_TYPE_HEADPHONES: headphones (covers two ears)
 * @BLUETOOTH_TYPE_OTHER_AUDIO: another type of audio device
 * @BLUETOOTH_TYPE_KEYBOARD: a keyboard
 * @BLUETOOTH_TYPE_MOUSE: a mouse
 * @BLUETOOTH_TYPE_CAMERA: a camera (still or moving)
 * @BLUETOOTH_TYPE_PRINTER: a printer
 * @BLUETOOTH_TYPE_JOYPAD: a joypad, joystick, or other game controller
 * @BLUETOOTH_TYPE_TABLET: a drawing tablet
 * @BLUETOOTH_TYPE_VIDEO: a video device, such as a webcam
 * @BLUETOOTH_TYPE_REMOTE_CONTROL: a remote control
 * @BLUETOOTH_TYPE_SCANNER: a scanner
 * @BLUETOOTH_TYPE_DISPLAY: a display
 * @BLUETOOTH_TYPE_WEARABLE: a wearable computer
 * @BLUETOOTH_TYPE_TOY: a toy or game
 *
 * The type of a Bluetooth device. See also %BLUETOOTH_TYPE_INPUT and %BLUETOOTH_TYPE_AUDIO
 **/
typedef enum {
	BLUETOOTH_TYPE_ANY		= 1 << 0,
	BLUETOOTH_TYPE_PHONE		= 1 << 1,
	BLUETOOTH_TYPE_MODEM		= 1 << 2,
	BLUETOOTH_TYPE_COMPUTER		= 1 << 3,
	BLUETOOTH_TYPE_NETWORK		= 1 << 4,
	BLUETOOTH_TYPE_HEADSET		= 1 << 5,
	BLUETOOTH_TYPE_HEADPHONES	= 1 << 6,
	BLUETOOTH_TYPE_OTHER_AUDIO	= 1 << 7,
	BLUETOOTH_TYPE_KEYBOARD		= 1 << 8,
	BLUETOOTH_TYPE_MOUSE		= 1 << 9,
	BLUETOOTH_TYPE_CAMERA		= 1 << 10,
	BLUETOOTH_TYPE_PRINTER		= 1 << 11,
	BLUETOOTH_TYPE_JOYPAD		= 1 << 12,
	BLUETOOTH_TYPE_TABLET		= 1 << 13,
	BLUETOOTH_TYPE_VIDEO		= 1 << 14,
	BLUETOOTH_TYPE_REMOTE_CONTROL	= 1 << 15,
	BLUETOOTH_TYPE_SCANNER		= 1 << 16,
	BLUETOOTH_TYPE_DISPLAY		= 1 << 17,
	BLUETOOTH_TYPE_WEARABLE		= 1 << 18,
	BLUETOOTH_TYPE_TOY		= 1 << 19
} BluetoothType;

#define _BLUETOOTH_TYPE_NUM_TYPES 20

/**
 * BLUETOOTH_TYPE_INPUT:
 *
 * Use this value to select any Bluetooth input device where a #BluetoothType enum is required.
 */
#define BLUETOOTH_TYPE_INPUT (BLUETOOTH_TYPE_KEYBOARD | BLUETOOTH_TYPE_MOUSE | BLUETOOTH_TYPE_TABLET | BLUETOOTH_TYPE_JOYPAD)
/**
 * BLUETOOTH_TYPE_AUDIO:
 *
 * Use this value to select any Bluetooth audio device where a #BluetoothType enum is required.
 */
#define BLUETOOTH_TYPE_AUDIO (BLUETOOTH_TYPE_HEADSET | BLUETOOTH_TYPE_HEADPHONES | BLUETOOTH_TYPE_OTHER_AUDIO)

/**
 * BluetoothColumn:
 * @BLUETOOTH_COLUMN_PROXY: a #GDBusProxy object
 * @BLUETOOTH_COLUMN_PROPERTIES: Used to be #GDBusProxy object for DBus.Properties, now always %NULL
 * @BLUETOOTH_COLUMN_ADDRESS: a string representing a Bluetooth address
 * @BLUETOOTH_COLUMN_ALIAS: a string to use for display (the name of the device, or its address if the name is not known). Only available for devices.
 * @BLUETOOTH_COLUMN_NAME: a string representing the device or adapter's name
 * @BLUETOOTH_COLUMN_TYPE: the #BluetoothType of the device. Only available for devices.
 * @BLUETOOTH_COLUMN_ICON: a string representing the icon name for the device. Only available for devices.
 * @BLUETOOTH_COLUMN_DEFAULT: whether the adapter is the default one. Only available for adapters.
 * @BLUETOOTH_COLUMN_PAIRED: whether the device is paired to its parent adapter. Only available for devices.
 * @BLUETOOTH_COLUMN_TRUSTED: whether the device is trusted. Only available for devices.
 * @BLUETOOTH_COLUMN_CONNECTED: whether the device is connected. Only available for devices.
 * @BLUETOOTH_COLUMN_DISCOVERABLE: whether the adapter is discoverable/visible. Only available for adapters.
 * @BLUETOOTH_COLUMN_DISCOVERING: whether the adapter is discovering. Only available for adapters.
 * @BLUETOOTH_COLUMN_LEGACYPAIRING: whether the device does not support Bluetooth 2.1 Simple Secure Pairing. Only available for devices.
 * @BLUETOOTH_COLUMN_POWERED: whether the adapter is powered. Only available for adapters.
 * @BLUETOOTH_COLUMN_SERVICES: an array of service names and #BluetoothStatus connection statuses.
 * @BLUETOOTH_COLUMN_UUIDS: a string array of human-readable UUIDs.
 *
 * A column identifier to pass to bluetooth_chooser_get_selected_device_info().
 **/
typedef enum {
	BLUETOOTH_COLUMN_PROXY,
	BLUETOOTH_COLUMN_PROPERTIES,
	BLUETOOTH_COLUMN_ADDRESS,
	BLUETOOTH_COLUMN_ALIAS,
	BLUETOOTH_COLUMN_NAME,
	BLUETOOTH_COLUMN_TYPE,
	BLUETOOTH_COLUMN_ICON,
	BLUETOOTH_COLUMN_DEFAULT,
	BLUETOOTH_COLUMN_PAIRED,
	BLUETOOTH_COLUMN_TRUSTED,
	BLUETOOTH_COLUMN_CONNECTED,
	BLUETOOTH_COLUMN_DISCOVERABLE,
	BLUETOOTH_COLUMN_DISCOVERING,
	BLUETOOTH_COLUMN_LEGACYPAIRING,
	BLUETOOTH_COLUMN_POWERED,
	BLUETOOTH_COLUMN_SERVICES,
	BLUETOOTH_COLUMN_UUIDS,
} BluetoothColumn;

#define _BLUETOOTH_NUM_COLUMNS (BLUETOOTH_COLUMN_UUIDS + 1)

/**
 * BluetoothStatus:
 * @BLUETOOTH_STATUS_INVALID: whether the status has been set yet
 * @BLUETOOTH_STATUS_DISCONNECTED: whether the service is disconnected
 * @BLUETOOTH_STATUS_CONNECTED: whether the service is connected
 * @BLUETOOTH_STATUS_CONNECTING: whether the service is connecting
 * @BLUETOOTH_STATUS_PLAYING: whether the service is playing (only used by the audio service)
 *
 * The connection status of a service on a particular device. Note that @BLUETOOTH_STATUS_CONNECTING and @BLUETOOTH_STATUS_PLAYING might not be available for all services.
 **/
typedef enum {
	BLUETOOTH_STATUS_INVALID = 0,
	BLUETOOTH_STATUS_DISCONNECTED,
	BLUETOOTH_STATUS_CONNECTED,
	BLUETOOTH_STATUS_CONNECTING,
	BLUETOOTH_STATUS_PLAYING
} BluetoothStatus;

G_END_DECLS

#endif /* __BLUETOOTH_ENUMS_H */