- Oleg Baikalow: Implement basic event and delayed event support functions for CTE. Structure names are made up, but their contents should be compatible with what Windows 2003 tdi.sys uses. Formatting and coding style fixes by the committer.
svn path=/trunk/; revision=50550
- Oleg Baikalow: Don't use psdk's tdi.h but use a real tdikrnl.h (adding a _TDI_ global define so it's recognized as a tdi driver itself).
svn path=/trunk/; revision=50546
- Process the timer event directly from the DPC instead of queuing a work item then raising to DISPATCH_LEVEL later when acquiring a spin lock
- Optimize the spin lock operations in NBTimeout and IPDatagramReassemblyTimeout for being called at DISPATCH_LEVEL
svn path=/trunk/; revision=48833
- Prevent multiple wakeups for the same event which caused nasty problems for the SEL_FIN event because we dereferenced our connection context 3 times which not only caused the connection endpoint to be freed while holding its spin lock but made the reference count negative
[TCPIP]
- Disassociate the address file from the connection endpoint before dereferencing/closing it to avoid a double dereference of the address file (not as harmful in this case as in the connection endpoint case)
[IP]
- Dereference the connection endpoint again if it was associated with an address file as the connection endpoint to fix a reference leak
svn path=/trunk/; revision=48624
- Read the IP information from the interface key inside the Tcpip service key (confirmed on XP)
- Fix a logic error in my code (no idea how I missed it)
- Restores static IP functionality (still waiting on janderwald to fix netcfgx's DNS value writing)
svn path=/trunk/; revision=48602
- Introduce some _ANONYMOUS_STRUCT and NONAMELESSUNION based definitions.
[DDK]
- Update XDK generated headers to reflect the recent changes.
- Update some header guards.
- Add some missing new lines at the end of files.
- Fix PUSB_DEVICE_HANDLE guard.
- Introduce some _ANONYMOUS_STRUCT and NONAMELESSUNION based definitions.
[PSDK]
- Update some header guards.
- Add missing new line at the end of driverspecs.h
[NDIS]
- Update the ndis header guard.
svn path=/trunk/; revision=48511
- Create the DhcpEnabled value in the registry
[TCPIP]
- Apply the static IP address configuration data
[DHCPCSVC]
- Remove the static IP address code
svn path=/trunk/; revision=48215
- Verify that each adapter has been initialized before passing it to the protocol's BindAdapter function
- Also verify that each adapter has not already been bound to the protocol
- Miniport drivers can now function without a reboot (needed to use 3rd-party NIC drivers on the live CD)
svn path=/trunk/; revision=48212
- Convert NDIS_ERROR_CODE from a typedef to a define.
- Add some missing NDIS_STATUS_* definitions.
- Some _ANONYMOUS_UNION/_ANONYMOUS_STRUCT/__GNU_EXTENSION -> __MINGW_EXTENSION conversions.
- Update NDIS_REQUEST_TYPE and NDIS_PER_PACKET_INFO.
- Guard several definitions against NDIS_LEGACY_DRIVER.
- Improve NDIS_REQUEST.
- Add missing CO_ADDRESS_FAMILY_INFINIBAND, Ndis{Set,Get}PacketCancelId, NDIS_PACKET_{FIRST,LAST}_NDIS_BUFFER and NDIS_PACKET_VALID_COUNTS.
- Group related definitions.
- Update several Ndis* function declarations.
- Add missing NdisInterlocked{Push,Pop}EntryList and NdisGetCurrentSystemTime macros.
svn path=/trunk/; revision=48205
- Refresh the protocol bindings after a new miniport is added
- Adapters added after boot work now
- One step closer to Live CD networking
svn path=/trunk/; revision=48193
- Dequeue the timer earlier so the timer queue will be in a valid state if any timers are modified during the miniport's timer callback
svn path=/trunk/; revision=47825
- Hold the miniport lock when we work with the timer queue
- Use the return value of KeSetTimer(Ex) to determine whether we need to queue the timer in our queue, otherwise we just use the entry that is already there
- Add more assertions
svn path=/trunk/; revision=47642
- Only dequeue the timer in the DPC if the Period is 0 (which means that it's NOT a periodic timer so we only get called once)
- Attempt to dequeue the timer before inserting it so we don't end up with multiple copies of the same timer on the timer queue if somebody calls NdisMSet(Periodic)Timer twice
svn path=/trunk/; revision=47636
- Return STATUS_INVALID_ADDRESS if the caller tries to get a non-local address
- Return STATUS_ADDRESS_ALREADY_EXISTS if the caller uses an address that is in use
[MSAFD]
- Translate STATUS_ADDRESS_ALREADY_EXISTS -> WSAEADDRINUSE, STATUS_LOCAL_DISCONNECT -> WSAECONNABORTED, and STATUS_REMOTE_DISCONNECT -> WSAECONNRESET
[IP]
- Translate OSK_EADDRINUSE -> STATUS_ADDRESS_ALREADY_EXISTS, OSK_ECONNABORTED -> STATUS_LOCAL_DISCONNECT, and OSK_ECONNRESET -> STATUS_REMOTE_DISCONNECT
- Fixes waiting for binding during ws2_32 sock winetest
svn path=/trunk/; revision=47379
- Remove an incorrect change
- Create a new function called TranslateNtStatusError to translate NTSTATUS to winsock error codes
- Call the TranslateNtStatusError in MsafdReturnWithErrno and also use it to translate AFD's poll event error codes
[AFD]
- Track the status for each poll event in our FCB and copy it back when we get an IOCTL_AFD_ENUM_NETWORK_EVENTS IRP
- Remove some useless PollReeval calls
svn path=/trunk/; revision=47377
- Provide a IRP_MJ_CREATE and IRP_MJ_CLOSE handler for miniport drivers so IoGetDeviceObjectPointer doesn't fail (and consequently, IoSetDeviceInterfaceState)
svn path=/trunk/; revision=47090
- Allow connection requests for connectionless sockets (they associate a default remote address with the socket required for use in AfdConnectedSocketWriteData and AfdConnectedSocketReadData)
- Add a check for a disconnected socket
svn path=/trunk/; revision=46479
46394 (tkreuzer)
[FRAMEBUF_NEW]
- use compiler flags for x86 only
36969 (sginsberg)
[VIDEOPRT]
- Make videoprt compile for 64-bit
- Disable Int10 support as it uses x86 specific structures (is this support still available on amd64?)
- Disable VideoPortEnable/DisableInterrupt -- HalEnable/DisableSystemInterrupt are not apparently present on NT AMD64, so need to figure out what else to use (and if these routine are still present on amd64 videoprt)
The following this time for real:
40927 (tkreuzer)
[BMFD]
HGLYPH is an ULONG. Use offset to glyph entry as HGLYPH instead of the pointer to fix 64bit build.
41070 (tkreuzer)
[TCPIP]
fix a pointer to ULONG cast
41500 (tkreuzer)
[NDIS]
Pass ULONG* to MiniQueryInformation for the number of written bytes instead of ULONG_PTR*
41502 (tkreuzer)
[WDMAUD]
Make DeviceIndex a ULONG_PTR
44339 (sserapion)
[NDIS]
Fix ndis build.
svn path=/trunk/; revision=46427