aboutsummaryrefslogtreecommitdiffstats
path: root/api (follow)
Commit message (Collapse)AuthorAgeFilesLines
* api: use 'open' name since caller must close handleJason A. Donenfeld2020-11-035-6/+6
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* api: add pool/driver removal for uninstaller semanticsJason A. Donenfeld2020-11-036-20/+65
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* api: move _L macro where it belongsJason A. Donenfeld2020-11-032-7/+2
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* api: conditionalize quasi expensive prelinkeventJason A. Donenfeld2020-11-031-1/+1
| | | | | | | It would be better to do this only if either nci.def or nci.h are newer than nci.lib, but who knows if msbuild is expressive enough for this. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* api: only return top two version nibblesJason A. Donenfeld2020-11-032-6/+6
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* api: bulk-disable unreferenced param warning where it nags the mostSimon Rozman2020-11-031-12/+2
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* api: prevent double SetupDiDestroyDriverInfoList calls on errorSimon Rozman2020-11-031-6/+10
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* api: rundll32: repair token spawning semanticsJason A. Donenfeld2020-11-034-9/+75
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* api: refactor .inf parsing and check SystemTimeToFileTime for errorsSimon Rozman2020-11-031-29/+31
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* api: simplify IsOurDrvInfoDetail()Simon Rozman2020-11-031-3/+6
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* api: ensure more code compiles by using dead code eliminationJason A. Donenfeld2020-11-034-29/+33
| | | | | | | | | | | | | | It'd be nicer to do this via if (is_defined(HAVE_WHATEVER)) But MSVC won't work with the linux kernel macros for this. Ongoing research. Nevertheless, this makes most of the program always pass through the compiler's type checker, only to have dead code removed later. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* api: begin to separate rundll32 jumpsJason A. Donenfeld2020-11-034-332/+333
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* example: rewrite and replace api's debug rundll32 functionalityJason A. Donenfeld2020-11-025-106/+1
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* api: free beginning of heap objectJason A. Donenfeld2020-11-021-6/+6
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* api: pass around NET_LUID instead of LUIDJason A. Donenfeld2020-11-022-4/+6
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* api: consistancy in exported interfaceJason A. Donenfeld2020-11-022-8/+10
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* api: return correct error when there's a duplicateJason A. Donenfeld2020-11-021-1/+2
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* api: install driver on demandSimon Rozman2020-11-025-383/+587
| | | | | | ...and add API for uninstalling it. Signed-off-by: Simon Rozman <simon@rozman.si>
* api: separate read-wait handle into other functionJason A. Donenfeld2020-11-025-14/+29
| | | | | | Makes the API a bit more clear. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* api: statically compile devpkey constantsJason A. Donenfeld2020-11-021-4/+2
| | | | | | | I don't like this solution, but I don't see much other choice. It's not in uuid.lib or anywhere like that. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* api: serialize driver installationJason A. Donenfeld2020-11-023-7/+43
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* api: make nci.lib work on x86Jason A. Donenfeld2020-11-024-5/+19
| | | | | | | | | | This is an appalling hack. We need the lib tool to generate a coff lib with the "undecorate" parameter. And apparently the only way to do this with the MSVC tools is by making a stub object, and then rewriting the symbols using the def file. See Q131313 for Microsoft-sanctioned details. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* api: map cr errors to win32 errorsJason A. Donenfeld2020-11-021-12/+8
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* api: simplify and unify error messagesSimon Rozman2020-11-023-47/+47
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* api: pnf param is noneJason A. Donenfeld2020-11-021-1/+1
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* api: make version function uniformJason A. Donenfeld2020-11-023-52/+7
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* api: avoid call to CM_Get_DevNode_StatusJason A. Donenfeld2020-11-021-36/+25
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* api: check for duplicate adapter statusJason A. Donenfeld2020-11-024-4/+58
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* api: separate out driver installationJason A. Donenfeld2020-11-021-138/+149
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* api: cleanup namesJason A. Donenfeld2020-11-014-10/+10
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* test: introduce a demo clientSimon Rozman2020-11-011-0/+1
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* api: account for nt path to moduleJason A. Donenfeld2020-11-011-14/+8
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* api: check buffer overflows in runtimeSimon Rozman2020-10-315-71/+52
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* api: fix up console writing for debugJason A. Donenfeld2020-10-311-15/+10
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* api: clear up argument evaluation orderJason A. Donenfeld2020-10-311-5/+2
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* api: do not require RebootRequiredJason A. Donenfeld2020-10-313-8/+14
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* api: RebootRequire is an _Out_Jason A. Donenfeld2020-10-314-14/+13
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* api: add debugging rundll32 entry pointJason A. Donenfeld2020-10-315-15/+117
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* api: add missing header for rundll32 modeJason A. Donenfeld2020-10-311-0/+2
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* api: opencode bin2hex in same manner as random directory creationJason A. Donenfeld2020-10-311-15/+5
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* api: link to nci.dll at compile timeJason A. Donenfeld2020-10-316-61/+15
| | | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> Signed-off-by: Simon Rozman <simon@rozman.si>
* api: get rid of pch and make headers saneJason A. Donenfeld2020-10-3119-74/+89
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* api: simplify build settingsJason A. Donenfeld2020-10-311-44/+4
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* api: use NT api directly for enumerating kernel modulesJason A. Donenfeld2020-10-315-27/+68
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* api expose Send.TailMoved event to clientsSimon Rozman2020-10-313-27/+21
| | | | | | This allows clients to use it in WaitForMultipleObjects(). Signed-off-by: Simon Rozman <simon@rozman.si>
* api: rename MAX_POOL to WINTUN_MAX_POOLSimon Rozman2020-10-314-24/+36
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* api: upgrade source analysis annotationsSimon Rozman2020-10-311-1/+1
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* api: refuse to load DLL on init failureSimon Rozman2020-10-313-4/+13
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* api: attempt to upgrade currently running adaptersJason A. Donenfeld2020-10-312-3/+135
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* api: use proper iso atomic semanticsJason A. Donenfeld2020-10-315-36/+6
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>