This file is indexed.

/usr/x86_64-w64-mingw32/include/ws2bth.h is in mingw-w64-x86-64-dev 2.0.3-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
/**
 * This file has no copyright assigned and is placed in the Public Domain.
 * This file is part of the w64 mingw-runtime package.
 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
 */
#ifndef _INC_WS2BTH
#define _INC_WS2BTH
#include <bthdef.h>
#include <bthsdpdef.h>

#ifdef __cplusplus
extern "C" {
#endif

/*
  constants as found on
  http://www.koders.com/delphi/fid882B076395C727550B1DA378430A79672B587941.aspx
*/

#define BT_PORT_ANY       ((ULONG)-1)
#define BT_PORT_MIN       0x0001
#define BT_PORT_MAX       0xffff
#define BT_PORT_DYN_FIRST 0x1001

#define BTH_ADDR_STRING_SIZE 12

#define BTHPROTO_RFCOMM 0x0003
#define BTHPROTO_L2CAP  0x0100

#define SOL_RFCOMM BTHPROTO_RFCOMM
#define SOL_L2CAP  BTHPROTO_L2CAP
#define SOL_SDP    0x0101

#define SO_BTH_AUTHENTICATE 0x80000001
#define SO_BTH_ENCRYPT      0x00000002
#define SO_BTH_MTU          0x80000007
#define SO_BTH_MTU_MAX      0x80000008
#define SO_BTH_MTU_MIN      0x8000000a

#define RFCOMM_MAX_MTU 0x029a
#define RFCOMM_MIN_MTU 0x0017

#define BTH_SDP_VERSION 1

#define SDP_DEFAULT_INQUIRY_SECONDS       6
#define SDP_MAX_INQUIRY_SECONDS           60
#define SDP_DEFAULT_INQUIRY_MAX_RESPONSES 255

#define SDP_SERVICE_SEARCH_REQUEST           1
#define SDP_SERVICE_ATTRIBUTE_REQUEST        2
#define SDP_SERVICE_SEARCH_ATTRIBUTE_REQUEST 3

#define BTHNS_RESULT_DEVICE_CONNECTED     0x00010000
#define BTHNS_RESULT_DEVICE_REMEMBERED    0x00020000
#define BTHNS_RESULT_DEVICE_AUTHENTICATED 0x00040000

#define SIO_BTH_PING                _WSAIORW(IOC_VENDOR, 8)
#define SIO_BTH_INFO                _WSAIORW(IOC_VENDOR, 9)

#define SIO_RFCOMM_SEND_COMMAND     _WSAIORW(IOC_VENDOR, 101)
#define SIO_RFCOMM_WAIT_COMMAND     _WSAIORW(IOC_VENDOR, 102)
#define SIO_RFCOMM_SESSION_FLOW_OFF _WSAIORW(IOC_VENDOR, 103)
#define SIO_RFCOMM_TEST             _WSAIORW(IOC_VENDOR, 104)
#define SIO_RFCOMM_USECFC           _WSAIORW(IOC_VENDOR, 105)

#define BIT(b) (1 << (b))

//TODO #define MSC_EA_BIT
#define MSC_FC_BIT    BIT(1)
#define MSC_RTC_BIT   BIT(2)
#define MSC_RTR_BIT   BIT(3)
#define MSC_RESERVED  (BIT(4) | BIT(5))
#define MSC_IC_BIT    BIT(6)
#define MSC_DV_BIT    BIT(7)
#define MSC_BREAK_BIT BIT(1)

#define MSC_SET_BREAK_LENGTH(b, l) ((b) = ((b) & 0x03) | (((l) & 0x0f) << 4))

#define RLS_ERROR   0x01
#define RLS_OVERRUN 0x02
#define RLS_PARITY  0x04
#define RLS_FRAMING 0x08

#define RPN_BAUD_2400   0
#define RPN_BAUD_4800   1
#define RPN_BAUD_7200   2
#define RPN_BAUD_9600   3
#define RPN_BAUD_19200  4
#define RPN_BAUD_38400  5
#define RPN_BAUD_57600  6
#define RPN_BAUD_115200 7
#define RPN_BAUD_230400 8

#define RPN_DATA_5 0
#define RPN_DATA_6 1
#define RPN_DATA_7 2
#define RPN_DATA_8 3

#define RPN_STOP_1   0
#define RPN_STOP_1_5 4

#define RPN_PARITY_NONE  0x00
#define RPN_PARITY_ODD   0x08
#define RPN_PARITY_EVEN  0x18
#define RPN_PARITY_MARK  0x28
#define RPN_PARITY_SPACE 0x38

#define RPN_FLOW_X_IN    0x01
#define RPN_FLOW_X_OUT   0x02
#define RPN_FLOW_RTR_IN  0x04
#define RPN_FLOW_RTR_OUT 0x08
#define RPN_FLOW_RTC_IN  0x10
#define RPN_FLOW_RTC_OUT 0x20

#define RPN_PARAM_BAUD   0x01
#define RPN_PARAM_DATA   0x02
#define RPN_PARAM_STOP   0x04
#define RPN_PARAM_PARITY 0x08
#define RPN_PARAM_P_TYPE 0x10
#define RPN_PARAM_XON    0x20
#define RPN_PARAM_XOFF   0x40

#define RPN_PARAM_X_IN    0x01
#define RPN_PARAM_X_OUT   0x02
#define RPN_PARAM_RTR_IN  0x04
#define RPN_PARAM_RTR_OUT 0x08
#define RPN_PARAM_RTC_IN  0x10
#define RPN_PARAM_RTC_OUT 0x20

#define RFCOMM_CMD_NONE         0
#define RFCOMM_CMD_MSC          1
#define RFCOMM_CMD_RLS          2
#define RFCOMM_CMD_RPN          3
#define RFCOMM_CMD_RPN_REQUEST  4
#define RFCOMM_CMD_RPN_RESPONSE 5

typedef struct _BTH_QUERY_SERVICE {
  ULONG             type;
  ULONG             serviceHandle;
  SdpQueryUuid      uuids[MAX_UUIDS_IN_QUERY];
  ULONG             numRange;
  SdpAttributeRange pRange[1];
} BTH_QUERY_SERVICE, *PBTH_QUERY_SERVICE;

typedef struct _BTH_QUERY_DEVICE {
  ULONG LAP;
  UCHAR length;
} BTH_QUERY_DEVICE, *PBTH_QUERY_DEVICE;

typedef struct _BTH_SET_SERVICE {
  PULONG pSdpVersion;
  HANDLE *pRecordHandle;
  ULONG  fCodService;
  ULONG  Reserved[5];
  ULONG  ulRecordLength;
  UCHAR  pRecord[1];
} BTH_SET_SERVICE, *PBTH_SET_SERVICE;

typedef struct _SOCKADDR_BTH {
  USHORT   addressFamily;
  BTH_ADDR btAddr;
  GUID     serviceClassId;
  ULONG    port;
} SOCKADDR_BTH, *PSOCKADDR_BTH;

#ifdef __cplusplus
}
#endif
#endif /*_INC_WS2BTH*/