17 #ifndef STATUS_REPORT_H
18 #define STATUS_REPORT_H
30 #ifdef CONF_STATUSREPORT
31 #define STATUSREPORT CONF_STATUSREPORT
33 #define STATUSREPORT statusreport_basic
42 #define NODE_RECEIVED_BUNDLE (0x01)
43 #define NODE_ACCEPTED_CUSTODY (0x02)
44 #define NODE_FORWARDED_BUNDLE (0x04)
45 #define NODE_DELIVERED_BUNDLE (0x08)
46 #define NODE_DELETED_BUNDLE (0x10)
55 #define NO_ADDITIONAL_INFORMATION (0x00)
56 #define LIFETIME_EXPIRED (0x01)
57 #define FORWARDED_OVER_UNIDIRECTIONAL_LINK (0x02)
58 #define TRANSMISSION_CANCELED (0x03)
59 #define DEPLETED_STORAGE (0x04)
60 #define DEST_EID_UNINTELLIGIBLE (0x05)
61 #define NO_KNOWN_ROUTE_TO_DEST (0x06)
62 #define NO_TIMELY_CONTACT_WITH_NEXT_NODE (0x07)
63 #define BLOCK_UNINTELLIGIBLE (0x08)
74 uint32_t fragment_offset;
75 uint32_t fragment_length;
77 uint32_t dtn_time_seconds;
78 uint32_t dtn_time_nanoseconds;
80 uint32_t bundle_creation_timestamp;
81 uint32_t bundle_sequence_number;
83 uint32_t source_eid_node;
84 uint32_t source_eid_service;
93 uint8_t (*
send)(
struct mmem * bundlemem, uint8_t status, uint8_t reason);
97 int statusreport_decode(
status_report_t * report, uint8_t * buffer, uint8_t length);