replace ad hoc driver loading with a proper driver manager, new DDK, new PnP manager with device matching, asynchronous startup, resource ownership and removal, add shared PCI capability helpers, replace typed, rigid services with a proper service manager, implement proper system shutdown and restart, shutting down unloads drivers and shuts down services, add simple power button, remove heavyweight boot self-tests and SMP stress runs, add monotonic timestamps to kernel debug output, fruitless USB and PS/2 fixes, make test builds opt in.
This commit is contained in:
1 parent
c0ad63c27f
commit
d36f19509c
160 files changed
+6563
-7366
No files matched your search
@@ -10,6 +10,8 @@
|
||||
#include <stdbool.h>
|
||||
|
||||
#define RSSRV_LISTENER_BACKLOG 16u
|
||||
#define RSSRV_PUBLICATION_SCOPE_MAX 32u
|
||||
#define RSSRV_PUBLICATION_PATH_MAX 127u
|
||||
#define RSSRV_SYMBOLIC_LINK_MAX_DEPTH 16u
|
||||
#define RSSRV_VOLUME_PATH_CAPACITY 48u
|
||||
#define RSSRV_INPUT_KEY_QUEUE_SIZE 256u
|
||||
@@ -137,6 +139,7 @@ typedef struct RSSRV_LISTENER_WORKER {
|
||||
RSSRV_RESOURCE_SERVICE* Service;
|
||||
SYS_HANDLE Listener;
|
||||
bool Administrative;
|
||||
char ScopePath[RSSRV_PUBLICATION_PATH_MAX + 1u];
|
||||
} RSSRV_LISTENER_WORKER;
|
||||
|
||||
struct RSSRV_RESOURCE_SERVICE {
|
||||
@@ -145,6 +148,9 @@ struct RSSRV_RESOURCE_SERVICE {
|
||||
SYS_HANDLE AdminListener;
|
||||
RSSRV_LISTENER_WORKER PublicWorker;
|
||||
RSSRV_LISTENER_WORKER AdminWorker;
|
||||
SYS_HANDLE ScopeMutex;
|
||||
uint32_t ScopeCount;
|
||||
RSSRV_LISTENER_WORKER ScopeWorkers[RSSRV_PUBLICATION_SCOPE_MAX];
|
||||
};
|
||||
|
||||
typedef struct RSSRV_STATE {
|
||||
@@ -305,3 +311,5 @@ KSTATUS RssrvResourceInitialize(RSSRV_RESOURCE_SERVICE* service,
|
||||
|
||||
// Creates the resource listeners and starts their accept workers.
|
||||
KSTATUS RssrvResourceStart(RSSRV_RESOURCE_SERVICE* service);
|
||||
KSTATUS RssrvResourceCreatePublisher(RSSRV_RESOURCE_SERVICE* service,
|
||||
const char* path, SYS_HANDLE* listenerOut);
|
||||
Reference in new issue
Block a user