legacy: Introduce stack/include/bt_dev_class

Bug: 193830619
Test: gd/cert/run
Tag: #refactor

Change-Id: I52d1cd869d216bc3aebce8f9aaa7d3e1083fbd34
diff --git a/system/stack/include/bt_dev_class.h b/system/stack/include/bt_dev_class.h
new file mode 100644
index 0000000..a736d54
--- /dev/null
+++ b/system/stack/include/bt_dev_class.h
@@ -0,0 +1,40 @@
+/*
+ * Copyright 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#pragma once
+
+#ifdef __cplusplus
+#include <cstdint>
+#else
+#include <stdint.h>
+#endif  // __cplusplus
+
+#define DEV_CLASS_LEN 3
+typedef uint8_t DEV_CLASS[DEV_CLASS_LEN]; /* Device class */
+
+#define DEVCLASS_TO_STREAM(p, a)                      \
+  {                                                   \
+    int ijk;                                          \
+    for (ijk = 0; ijk < DEV_CLASS_LEN; ijk++)         \
+      *(p)++ = (uint8_t)(a)[DEV_CLASS_LEN - 1 - ijk]; \
+  }
+
+#define STREAM_TO_DEVCLASS(a, p)                               \
+  {                                                            \
+    int ijk;                                                   \
+    uint8_t* _pa = (uint8_t*)(a) + DEV_CLASS_LEN - 1;          \
+    for (ijk = 0; ijk < DEV_CLASS_LEN; ijk++) *_pa-- = *(p)++; \
+  }
diff --git a/system/stack/include/bt_types.h b/system/stack/include/bt_types.h
index 13e21fc..5a631c5 100644
--- a/system/stack/include/bt_types.h
+++ b/system/stack/include/bt_types.h
@@ -25,6 +25,7 @@
 #include <string>
 #endif  // __cplusplus
 
+#include "stack/include/bt_dev_class.h"
 #include "stack/include/bt_device_type.h"
 #include "stack/include/bt_hdr.h"
 
@@ -160,12 +161,6 @@
     for (ijk = 0; ijk < LAP_LEN; ijk++)         \
       *(p)++ = (uint8_t)(a)[LAP_LEN - 1 - ijk]; \
   }
-#define DEVCLASS_TO_STREAM(p, a)                      \
-  {                                                   \
-    int ijk;                                          \
-    for (ijk = 0; ijk < DEV_CLASS_LEN; ijk++)         \
-      *(p)++ = (uint8_t)(a)[DEV_CLASS_LEN - 1 - ijk]; \
-  }
 #define ARRAY_TO_STREAM(p, a, len)                                \
   {                                                               \
     int ijk;                                                      \
@@ -222,12 +217,6 @@
     uint8_t* _pa = (uint8_t*)(a) + 7;              \
     for (ijk = 0; ijk < 8; ijk++) *_pa-- = *(p)++; \
   }
-#define STREAM_TO_DEVCLASS(a, p)                               \
-  {                                                            \
-    int ijk;                                                   \
-    uint8_t* _pa = (uint8_t*)(a) + DEV_CLASS_LEN - 1;          \
-    for (ijk = 0; ijk < DEV_CLASS_LEN; ijk++) *_pa-- = *(p)++; \
-  }
 #define STREAM_TO_LAP(a, p)                               \
   {                                                       \
     int ijk;                                              \
@@ -380,9 +369,6 @@
 #define BT_OCTET32_LEN 32
 typedef uint8_t BT_OCTET32[BT_OCTET32_LEN]; /* octet array: size 32 */
 
-#define DEV_CLASS_LEN 3
-typedef uint8_t DEV_CLASS[DEV_CLASS_LEN]; /* Device class */
-
 #define BD_NAME_LEN 248
 typedef uint8_t BD_NAME[BD_NAME_LEN + 1]; /* Device name */