+/* LRU queues for LZ matches. */
+struct lzms_lz_lru_queues {
+
+ /* Recent LZ match offsets */
+ u32 recent_offsets[LZMS_NUM_RECENT_OFFSETS + 1];
+
+ /* These variables are used to delay updates to the LRU queues by one
+ * decoded item. */
+ u32 prev_offset;
+ u32 upcoming_offset;
+};
+
+/* LRU queues for delta matches. */
+struct lzms_delta_lru_queues {
+
+ /* Recent delta match powers and offsets */
+ u32 recent_powers[LZMS_NUM_RECENT_OFFSETS + 1];
+ u32 recent_offsets[LZMS_NUM_RECENT_OFFSETS + 1];
+
+ /* These variables are used to delay updates to the LRU queues by one
+ * decoded item. */
+ u32 prev_power;
+ u32 prev_offset;
+ u32 upcoming_power;
+ u32 upcoming_offset;
+};
+
+/* LRU (least-recently-used) queues for match information. */
+struct lzms_lru_queues {
+ struct lzms_lz_lru_queues lz;
+ struct lzms_delta_lru_queues delta;
+};
+