+/* \summary: *BSD/Darwin packet filter log file printer */
+
+#include <config.h>
+
+#include "netdissect-stdinc.h"
+
+#include "netdissect.h"
+#include "extract.h"
+#include "af.h"
+
+#include "pflog.h"
+
+static const struct tok pf_reasons[] = {
+ { PFRES_MATCH, "0(match)" },
+ { PFRES_BADOFF, "1(bad-offset)" },
+ { PFRES_FRAG, "2(fragment)" },
+ { PFRES_SHORT, "3(short)" },
+ { PFRES_NORM, "4(normalize)" },
+ { PFRES_MEMORY, "5(memory)" },
+ { PFRES_TS, "6(bad-timestamp)" },
+ { PFRES_CONGEST, "7(congestion)" },
+ { PFRES_IPOPTIONS, "8(ip-option)" },
+ { PFRES_PROTCKSUM, "9(proto-cksum)" },
+ { PFRES_BADSTATE, "10(state-mismatch)" },
+ { PFRES_STATEINS, "11(state-insert)" },
+ { PFRES_MAXSTATES, "12(state-limit)" },
+ { PFRES_SRCLIMIT, "13(src-limit)" },
+ { PFRES_SYNPROXY, "14(synproxy)" },
+#if defined(__FreeBSD__)
+ { PFRES_MAPFAILED, "15(map-failed)" },
+#elif defined(__NetBSD__)
+ { PFRES_STATELOCKED, "15(state-locked)" },
+#elif defined(__OpenBSD__)
+ { PFRES_TRANSLATE, "15(translate)" },
+ { PFRES_NOROUTE, "16(no-route)" },
+#elif defined(__APPLE__)
+ { PFRES_DUMMYNET, "15(dummynet)" },