+typedef struct
+{
+ int state; // current state (bundlestate enum)
+ uint32_t seq_num_t; // Sequence Number (transmission)
+ uint32_t seq_num_m; // Last received frame sequence number (bearing B bit)
+ uint32_t offset; // Offset between sequence number and array index
+ uint8_t pending_frag; // Indicate that there is pending fragments to reassemble
+ uint8_t num_of_links; // Number of links joint to this bundle
+ uint32_t online_time; // The time this bundle is online
+ clockt last_check; // Last time the timeout is checked
+ uint32_t mrru; // Multilink Max-Receive-Reconstructed-Unit
+ uint8_t mssf; // Multilink Short Sequence Number Header Format
+ epdist epdis; // Multilink Endpoint Discriminator
+ char user[MAXUSER]; // Needed for matching member links
+ sessionidt current_ses; // Current session to use for sending (used in RR load-balancing)
+ sessionidt members[MAXBUNDLESES]; // Array for member links sessions
+}
+bundlet;
+
+typedef struct
+{
+ fragmentt fragment[MAXFRAGNUM];
+ uint8_t reassembled_frame[MAXETHER]; // The reassembled frame
+ uint16_t re_frame_len; // The reassembled frame length
+}
+fragmentationt;
+