#include "config.h"
#include "scratch.h"
#include "scratch_dump.h"
#include "hs_internal.h"
#include "ue2common.h"
#include "util/multibit_build.h"
#include "nfa/nfa_api_queue.h"
#include "rose/rose_internal.h"
#include <cassert>
#include <cstdio>
#ifdef DUMP_SUPPORT
using namespace std;
namespace ue2 {
void dumpScratch(const struct hs_scratch *s, FILE *f) {
assert(s);
fprintf(f, "Scratch space required : %u bytes\n", s->scratchSize);
fprintf(f, " hs_scratch structure : %zu bytes\n", sizeof(*s));
fprintf(f, " tctxt structure : %zu bytes\n", sizeof(s->tctxt));
fprintf(f, " queues : %zu bytes\n",
s->queueCount * sizeof(struct mq));
fprintf(f, " bStateSize : %u bytes\n", s->bStateSize);
fprintf(f, " active queue array : %u bytes\n", s->activeQueueArraySize);
fprintf(f, " qmpq : %zu bytes\n",
s->queueCount * sizeof(struct queue_match));
fprintf(f, " delay info : %u bytes\n",
s->delay_fatbit_size * DELAY_SLOT_COUNT);
}
}
#endif