summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2019-02-08wintun: Check for user close in read loop regardless the loadSimon Rozman
Do the WaitForSingleObject() always to provide high-load responsiveness. Reorder events so TUN_SIGNAL_CLOSE has priority over TUN_SIGNAL_DATA_AVAIL, to provide high-load responsiveness at all. Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-08wintun: Adjust tunRWQueue.left member to match Wintun driverSimon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-07setupapi: Merge _SP_DRVINFO_DETAIL_DATA and DrvInfoDetailDataSimon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-07setupapi: Merge SP_DRVINFO_DATA and DrvInfoDataSimon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-07setupapi: Rename SP_REMOVEDEVICE_PARAMS to RemoveDeviceParamsSimon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-07setupapi: Rename SP_CLASSINSTALL_HEADER to ClassInstallHeaderSimon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-07setupapi: Merge _SP_DEVINSTALL_PARAMS and DevInstallParamsSimon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-07setupapi: Merge _SP_DEVINFO_LIST_DETAIL_DATA and DevInfoListDetailDataSimon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-07setupapi: Rename SP_DEVINFO_DATA to DevInfoDataSimon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-07wintun: Detect if a foreign interface with the same name existsSimon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-07wintun: Clean excessive setupapi.DevInfo.GetDeviceInfoListDetail() callSimon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-07wintun: Explain rationale behind case-insensitive interface namesSimon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-07wintun: Implement TODO in TestSetupDiGetDeviceRegistryProperty()Simon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-07wintun: add FlushInterface stubJason A. Donenfeld
2019-02-07main_windows: Get iface name from argumentJason A. Donenfeld
2019-02-07wintun: Compare values of GUID, not pointers, when removingJason A. Donenfeld
2019-02-07main_windows: Catch more exit eventsJason A. Donenfeld
2019-02-07wintun: Introduce new package for obscuring Windows bitsJason A. Donenfeld
2019-02-07tun_windows: StyleJason A. Donenfeld
2019-02-07setupapi: Lower case paramsJason A. Donenfeld
2019-02-07setupapi: Do not export the toGo/toWindows functionsJason A. Donenfeld
2019-02-07setupapi: Pass pointers instead of valuesJason A. Donenfeld
2019-02-06tun_windows: Introduce preliminary TUN interface creationSimon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-06tun_windows: Stop checking minimum size of received TUN packetsSimon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-06setupapi: Add DrvInfoDetailData.IsCompatible() to simplify HID detectionSimon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-06setupapi: Add SP_DRVINFO_DATA.IsNewer() method to simplify comparisonSimon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-06setupapi: Make toUTF16() public and add UTF16ToBuf() counterpartSimon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-05Fix up errors and pathsJason A. Donenfeld
2019-02-05conn: close ipv4 socket when ipv6 socket failsJason A. Donenfeld
2019-02-05setupapi: Add support for driver info listsSimon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-05setupapi: Move Go<>Windows struct marshaling to types_windows.goSimon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-05setupapi: Add support for SetupDi(Get|Set)DeviceRegistryProperty()Simon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-05setupapi: Introduce DevInfo methods for cleaner codeSimon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-05Add support for setupapi.SetupDi(Get|Set)SelectedDevice()Simon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-05Reorder data-types and functions to match SetupAPI.hSimon Rozman
Adding functions with non-consistent order made setupapi package a mess. While we could reorder data-types and functions by alphabet - it would make searching easier - it would put ...Get... and ...Set... functions quite apart. Therefore, the SetupAPI.h order was adopted. Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-05Add support for setupapi.SetupDiCreateDeviceInfo()Simon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-05Add support for setupapi.setupDiCreateDeviceInfoListEx()Simon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-05Stop accessing SetupDiGetDeviceInfoListDetail() output on errorSimon Rozman
The data returned by SetupDiGetDeviceInfoListDetail() is nil on error which will cause the test to crash should the function fail. Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-05Unify certain variable namesSimon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-05Simplify SetupDiEnumDeviceInfo() synopsisSimon Rozman
The SetupDiEnumDeviceInfo() now returns a SP_DEVINFO_DATA rather than taking it on input to fill it on return. Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-05Change generic local variable names with meaningful replacementsSimon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-05Add support for setupapi.SetupDiClassGuidsFromNameEx()Simon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-05Clean an unused constantSimon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-05Replace SetupDiClassNameFromGuid() with SetupDiClassNameFromGuidEx()Simon Rozman
The former is only a subset of the later. To minimize future maintenance, we'll provide support for extended version only. Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-05Add support for setupapi.SetupDiClassNameFromGuid()Simon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-05Stop checking for valid handle in DevInfo.Close()Simon Rozman
User should not have called or deferred the Close() method should SetupDiGetClassDevsEx() return an error (and invalid handle). And even if user does that, a SetupDiDestroyDeviceInfoList(INVALID_HANDLE_VALUE) is harmless. It just returns ERROR_INVALID_HANDLE - we have a unit test for this in TestSetupDiDestroyDeviceInfoList(). Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-05Add support for setupapi.SetupDiCallClassInstaller()Simon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-05Add support for setupapi.SetupDi(Get|Set)ClassInstallParams()Simon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-05Add support for setupapi.SetupDi(Get|Set)DeviceInstallParams()Simon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-05Add support for setupapi.SetupDiOpenDevRegKey()Simon Rozman
Furthermore setupapi.DevInfoData has been obsoleted. SetupDiEnumDeviceInfo() fills existing SP_DEVINFO_DATA structure now. As other functions of SetupAPI use SP_DEVINFO_DATA, converting it to DevInfoData and back would hurt performance. Signed-off-by: Simon Rozman <simon@rozman.si>