summaryrefslogtreecommitdiffstats
path: root/src/device/protocol_device_private.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/device/protocol_device_private.h')
-rwxr-xr-xsrc/device/protocol_device_private.h27
1 files changed, 25 insertions, 2 deletions
diff --git a/src/device/protocol_device_private.h b/src/device/protocol_device_private.h
index 0fb46c7..29ff567 100755
--- a/src/device/protocol_device_private.h
+++ b/src/device/protocol_device_private.h
@@ -1,11 +1,28 @@
#ifndef PROTOCOL_DEVICE_PRIVATE_H
#define PROTOCOL_DEVICE_PRIVATE_H
+#include "net.h"
+
#define MAX_PACKET_SIZE_OUT (64)
+
+/* Maximum size of packet that can fit into the packet buffer. UDP can carry
+ * bigger packets but memory is hard to come by and more won't be needed
+ * anyway.
+ * */
#define MAX_PACKET_SIZE_IN (512)
+
+/**
+ * Device only gets one connection. Because daemon.
+ */
#define MAX_CONNECTIONS (1UL)
/**
+ * Error which says that writing any more to packet buffer will overflow
+ * outgoing buffer.
+ */
+#define E_PACKET_OVERFLOW (1 << 0)
+
+/**
* Device's view of connection to daemon.
*/
struct connection_t {
@@ -15,8 +32,8 @@ struct connection_t {
*/
int is_live;
- /** Daemon IP adress */
- IPAddress address;
+ /** Network descriptor that maps to daemon */
+ int nd;
/** Time last packet was reveived */
time_t last_packet_sec;
@@ -32,6 +49,12 @@ struct connection_t {
/** Outgoing packet cursor */
size_t outp_crs;
+
+ /**
+ * Next tlv to be returned via get_tlv. NULL initially and after last
+ * element.
+ * */
+ struct tlv next_tlv;
};
#endif /* PROTOCOL_DEVICE_PRIVATE_H */ \ No newline at end of file