]> gitweb.factorcode.org Git - factor-unmaintained.git/blobdiff - sniffer/io/filter/backend/backend.factor
unmaintained: New home for misfit Factor vocabularies.
[factor-unmaintained.git] / sniffer / io / filter / backend / backend.factor
diff --git a/sniffer/io/filter/backend/backend.factor b/sniffer/io/filter/backend/backend.factor
new file mode 100644 (file)
index 0000000..2e0415c
--- /dev/null
@@ -0,0 +1,17 @@
+USING: byte-arrays combinators io io.backend
+io.sockets.headers io.sniffer.backend kernel
+prettyprint sequences ;
+IN: io.sniffer.filter.backend
+
+HOOK: sniffer-loop io-backend ( stream -- )
+HOOK: packet. io-backend ( string -- )
+
+: (packet.) ( string -- )
+    dup 14 head >byte-array
+    "--Ethernet Header--" print
+        dup etherneth.
+    dup etherneth-type {
+        ! 0x800 [ ] ! IP
+        ! 0x806 [ ] ! ARP
+        [ "Unknown type: " write .h ]
+    } case 2drop ;