diff options
Diffstat (limited to 'src/device/protocol_device_private.h')
-rwxr-xr-x | src/device/protocol_device_private.h | 27 |
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 |