ipmi: implement sysIpmiSendConnectResult

This commit is contained in:
DH 2024-09-02 20:29:31 +03:00
parent 6a9924ebd1
commit 2551966931
6 changed files with 89 additions and 48 deletions

View file

@ -182,6 +182,7 @@ public:
uint sdkVersion{};
uint fwSdkVersion{};
uint safeMode{};
utils::RcIdMap<RcBase, sint, 4097, 1> ipmiMap;
shared_mutex regMgrMtx;
kmap<std::uint32_t, std::uint32_t> regMgrInt;

View file

@ -7,7 +7,7 @@
#include "orbis/utils/SharedMutex.hpp"
#include "utils/Rc.hpp"
#include <list>
#include <span>
#include <optional>
namespace orbis {
struct IpmiSession;
@ -72,6 +72,8 @@ struct IpmiClient : RcBase {
shared_mutex mutex;
shared_cv sessionCv;
shared_cv asyncResponseCv;
shared_cv connectCv;
std::optional<sint> connectionStatus{};
Process *process;
kdeque<MessageQueue> messageQueues;
kdeque<EventFlag> eventFlags;
@ -94,9 +96,7 @@ struct IpmiSession : RcBase {
shared_mutex mutex;
shared_cv responseCv;
kdeque<SyncResponse> syncResponses;
shared_cv connectCv;
uint expectedOutput{0};
sint connectionStatus{0};
};
struct IpmiCreateServerConfig {

View file

@ -75,7 +75,6 @@ struct Process final {
utils::RcIdMap<EventFlag, sint, 4097, 1> evfMap;
utils::RcIdMap<Semaphore, sint, 4097, 1> semMap;
utils::RcIdMap<RcBase, sint, 4097, 1> ipmiMap;
utils::RcIdMap<Module, ModuleHandle> modulesMap;
utils::OwningIdMap<Thread, lwpid_t> threadsMap;
utils::RcIdMap<orbis::File, sint> fileDescriptors;