-----Original Message----- From: ros-dev-bounces@reactos.com [mailto:ros-dev-bounces@reactos.com] On Behalf Of Andrei Homescu Sent: 24. juni 2005 13:50 To: ros-dev@reactos.com Subject: [ros-dev] NDIS development
Hello!
I've been studying the sources for ndis.sys for a while and I started writing some functions, until now simple ones (wrappers for kernel calls). I would like to implement NdisAllocatePacketPoolEx and NdisPacketPoolUsage, but I don't think I can without modifying NDIS_PACKET_POOL in w32api/include/ddk/ndis.h. Is that data structure internal to ndis.sys or is publicly documented (and thus I can't touch it)? I would like to add a couple of new members to count the overflow packets and the used packets.
You can usually overlay the public structure with an internal NDIS structure to access internal fields from within NDIS.
I've also been reading "Undocumented Windows NT" and I have a few questions regarding some legal issues. Are the function declarations for documented functions copied&pasted from the DDK?
Most likely they are from MSDN or the Microsoft DDK documentation. If they are not documented, then they are either different from the structures used in Windows or from the DDK headers (needed if compatibility is required). No matter where they came from, they should have another format and the headers should have different layouts. If not, then you should rearrange or reformat them to avoid violating any copyright. Having identical structure layouts is not violating any copyright. It may violate some crazy patent though ;-(
The undocumented function declarations are obtained by disassembly of Windows sources? Doesn't snooping around kernel code violate any copyright law?
It depends on which country you are in. In Denmark where I live, it is legal to reverse engineer software for which you own a license to. See http://reactos.com/wiki/index.php/Intellectual_Property_Policy for more information.
Best regards, Andrei Homescu