aboutsummaryrefslogtreecommitdiff
path: root/nimbluez/msbt/ms_bthsdpdef.nim
diff options
context:
space:
mode:
Diffstat (limited to 'nimbluez/msbt/ms_bthsdpdef.nim')
-rw-r--r--nimbluez/msbt/ms_bthsdpdef.nim98
1 files changed, 98 insertions, 0 deletions
diff --git a/nimbluez/msbt/ms_bthsdpdef.nim b/nimbluez/msbt/ms_bthsdpdef.nim
new file mode 100644
index 0000000..051fc44
--- /dev/null
+++ b/nimbluez/msbt/ms_bthsdpdef.nim
@@ -0,0 +1,98 @@
+#
+# Copyright (C) Microsoft. All rights reserved.
+#
+
+import winlean
+
+type
+ WCHAR* = uint16
+ LPWSTR* = ptr WCHAR
+ LPCWSTR* = ptr WCHAR
+ PWSTR* = LPWSTR
+# GUID* {.final, pure.} = object
+# D1*: int32
+# D2*: int16
+# D3*: int16
+# D4*: array [0..7, int8]
+ BOOL* = int32
+ CHAR* = char
+ UCHAR* = uint8
+ BYTE* = byte
+# ULONG* = int32
+# DWORD* = int32
+ LPSTR* = cstring
+ LPDWORD* = ptr DWORD
+ ULONGLONG* = uint64
+ LONGLONG* = int64
+ USHORT* = uint16
+ SHORT* = int16
+# HANDLE* = int32
+ SYSTEMTIME* {.final, pure.} = object
+ wYear*: int16
+ wMonth*: int16
+ wDayOfWeek*: int16
+ wDay*: int16
+ wHour*: int16
+ wMinute*: int16
+ wSecond*: int16
+ wMilliseconds*: int16
+ LPVOID* = pointer
+ PVOID* = pointer
+ HWND* = HANDLE
+ LPBYTE* = ptr int8
+
+
+type
+ SDP_LARGE_INTEGER_16* = object
+ LowPart*: ULONGLONG
+ HighPart*: LONGLONG
+
+ SDP_ULARGE_INTEGER_16* = object
+ LowPart*: ULONGLONG
+ HighPart*: ULONGLONG
+
+ PSDP_ULARGE_INTEGER_16* = ptr SDP_ULARGE_INTEGER_16
+ LPSDP_ULARGE_INTEGER_16* = ptr SDP_ULARGE_INTEGER_16
+ PSDP_LARGE_INTEGER_16* = ptr SDP_LARGE_INTEGER_16
+ LPSDP_LARGE_INTEGER_16* = ptr SDP_LARGE_INTEGER_16
+
+ NodeContainerType* = enum
+ NodeContainerTypeSequence, NodeContainerTypeAlternative
+
+ SDP_ERROR* = USHORT
+ PSDP_ERROR* = ptr USHORT
+
+ SDP_TYPE* = enum
+ SDP_TYPE_NIL = 0x00000000, SDP_TYPE_UINT = 0x00000001,
+ SDP_TYPE_INT = 0x00000002, SDP_TYPE_UUID = 0x00000003,
+ SDP_TYPE_STRING = 0x00000004, SDP_TYPE_BOOLEAN = 0x00000005,
+ SDP_TYPE_SEQUENCE = 0x00000006, SDP_TYPE_ALTERNATIVE = 0x00000007,
+ SDP_TYPE_URL = 0x00000008, SDP_TYPE_CONTAINER = 0x00000020
+# 9 - 31 are reserved
+# allow for a little easier type checking / sizing for integers and UUIDs
+# ((SDP_ST_XXX & 0xF0) >> 4) == SDP_TYPE_XXX
+# size of the data (in bytes) is encoded as ((SDP_ST_XXX & 0xF0) >> 8)
+
+ SDP_SPECIFICTYPE* = enum
+ SDP_ST_NONE = 0x00000000, SDP_ST_UINT8 = 0x00000010,
+ SDP_ST_INT8 = 0x00000020, SDP_ST_UINT16 = 0x00000110,
+ SDP_ST_INT16 = 0x00000120, SDP_ST_UUID16 = 0x00000130,
+ SDP_ST_UINT32 = 0x00000210, SDP_ST_INT32 = 0x00000220,
+ SDP_ST_UINT64 = 0x00000310, SDP_ST_INT64 = 0x00000320,
+ SDP_ST_UINT128 = 0x00000410, SDP_ST_INT128 = 0x00000420,
+ SDP_ST_UUID128 = 0x00000430
+const
+ SDP_ST_UUID32* = SDP_ST_INT32
+type
+ SdpAttributeRange* = object
+ minAttribute*: USHORT
+ maxAttribute*: USHORT
+
+ SdpQueryUuidUnion* = object {.union.}
+ uuid128*: GUID
+ uuid32*: ULONG
+ uuid16*: USHORT
+
+ SdpQueryUuid* = object
+ u*: SdpQueryUuidUnion
+ uuidType*: USHORT