]> cvs.zerfleddert.de Git - hmcfgusb/blobdiff - hm.h
hmuartlgw: Add timeout during module initialization
[hmcfgusb] / hm.h
diff --git a/hm.h b/hm.h
index d0d7147dda2076d5c41bcf718e1058fa55875e4b..f80c58e6771fcd8d1b519cb2ddef8f261d70ea19 100644 (file)
--- a/hm.h
+++ b/hm.h
@@ -1,6 +1,6 @@
-/* HomeMatic defines
+/* HomeMatic defines and functions
  *
- * Copyright (c) 2014 Michael Gernoth <michael@gernoth.net>
+ * Copyright (c) 2014-16 Michael Gernoth <michael@gernoth.net>
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
  * of this software and associated documentation files (the "Software"), to
 #define SET_DST(buf, dst)      do { buf[0x07] = (dst >> 16) & 0xff; buf[0x08] = (dst >> 8) & 0xff; buf[0x09] = dst & 0xff; } while(0)
 
 #define SET_LEN_FROM_PAYLOADLEN(buf, payloadlen)       do { buf[0x00] = payloadlen + 0x09; } while(0)
+#define PAYLOADLEN(buf)                                        (buf[0x00] - 0x09)
+
+enum device_type {
+       DEVICE_TYPE_HMCFGUSB,
+       DEVICE_TYPE_CULFW,
+       DEVICE_TYPE_HMUARTLGW,
+};
+
+struct hm_dev {
+       int type;
+       struct hmcfgusb_dev *hmcfgusb;
+       struct culfw_dev *culfw;
+       struct hmuartlgw_dev *hmuartlgw;
+};
+
+uint8_t* hm_sign(uint8_t *key, uint8_t *challenge, uint8_t *m_frame, uint8_t *exp_auth, uint8_t *resp);
Impressum, Datenschutz