summaryrefslogtreecommitdiffstats
path: root/include/datatypes.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/datatypes.h')
-rw-r--r--include/datatypes.h44
1 files changed, 44 insertions, 0 deletions
diff --git a/include/datatypes.h b/include/datatypes.h
new file mode 100644
index 0000000..50c3389
--- /dev/null
+++ b/include/datatypes.h
@@ -0,0 +1,44 @@
+/*
+ * Hot Beverage Companion – data types
+ *
+ * Copyright (C) 2018 Gediminas Jakutis
+ *
+ * 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; version 2.1
+ * of the License.
+ *
+ * This program 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 CONFIGURATION_DATA_INCLUDED
+#define CONFIGURATION_DATA_INCLUDED
+
+/* the union should help prevent the compiler from
+ * reordering fields as it sees fit when optimizing.
+ */
+
+#define PADDING_START {0xff, 0xee, 0xdd, 0xff}
+#define PADDING_END {0xff, 0xdd, 0xcc, 0xff}
+
+struct configuration {
+ union {
+ struct {
+ unsigned char padding_start[4];
+ char ssid[32];
+ char password[32];
+ int calibration[4];
+ unsigned char padding_end[4];
+ };
+ unsigned char __full[sizeof(int) * 4 + 32 * 2 + 4 * 2];
+ };
+};
+
+#endif /* CONFIGURATION_DATA_INCLUDED */