Files
hayodea bb59f47549 IoUringAssmEngn: add assembleFrameReq
Invoke it instimFrameProductionTimesliceInd.

Also, we discovered:
* stream_descriptor::release() doesn't fully release all metadata
  from the fd it was assigned. This suggests that we should go
  through the codebase and do: release()=>reset() whenever we
  wish to release().
* We've confirmed that spinlocks can be used to prevent race
  conditions between stop() and handler methods.
2025-11-06 01:04:10 -04:00

39 lines
1015 B
C++

#ifndef LIVOX_GEN1_H
#define LIVOX_GEN1_H
#include <memory>
#include <dlfcn.h>
#include <livoxProto1/livoxProto1.h>
namespace smo {
namespace stim_buff {
// LivoxProto1 library state
struct LivoxProto1DllState
{
LivoxProto1DllState();
static void DlCloser(void* handle);
std::unique_ptr<void, void(*)(void*)> dlopenHandle;
livoxProto1_mainFn *livoxProto1_main;
livoxProto1_exitFn *livoxProto1_exit;
livoxProto1_getOrCreateDeviceReqFn *livoxProto1_getOrCreateDeviceReq;
livoxProto1_destroyDeviceReqFn *livoxProto1_destroyDeviceReq;
livoxProto1_device_enablePcloudDataReqFn
*livoxProto1_device_enablePcloudDataReq;
livoxProto1_device_disablePcloudDataReqFn
*livoxProto1_device_disablePcloudDataReq;
livoxProto1_device_getReturnModeReqFn *livoxProto1_device_getReturnModeReq;
livoxProto1_getPcloudDataFdDescFn *livoxProto1_getPcloudDataFdDesc;
};
extern LivoxProto1DllState livoxProto1;
extern const SmoCallbacks* smoHooksPtr;
} // namespace stim_buff
} // namespace smo
#endif // LIVOX_GEN1_H