005
30.07.2009, 16:07 Uhr
0xdeadbeef
Gott (Operator)
|
Du kannst (wenn der Prozess CAP_NET_RAW hat) ein raw packet socket aufmachen, damit kommst du runter bis zum data link. Das ist aber auch nichts, was du für alltägliche Dinge zur Gewohnheit machen willst.
Dafür, Layer 1 zusammenzusetzen, ist der Treiber da, der die Schnittstelle betreibt. Die Schnittstelle selber ist eigentlich dazu gedacht, über Sockets benutzt zu werden. Das ist im Grunde die Schnittstelle.
In einem Treiber die Schnittstelle eines anderen Treibers zu betreiben, halte ich für ausgesprochen gewagt (bzw. wahnsinnig), selbst wenn du an die Handles kommst. Dass du dich mit dem in die Haare kriegst, ist nur eine Frage der Zeit, es sei denn, du schreibst den vorhandenen Treiber so um, dass er über einen Mutex oder Semaphor mit deinem Treiber kommuniziert und sie ggf. aufeinander warten. -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra |