#include "symbols.h" #include #include #include #define LOADSYM(name, type) {name = (TId::R*)L->SymOptional(#name);} const TInfinibandSymbols* IBSym() { struct TSymbols: TInfinibandSymbols { TSymbols() { L.Reset(new TDynamicLibrary("/usr/lib/libibverbs.so")); DOVERBS(LOADSYM) } THolder L; }; return SingletonWithPriority(); } const TRdmaSymbols* RDSym() { struct TSymbols: TRdmaSymbols { TSymbols() { L.Reset(new TDynamicLibrary("/usr/lib/librdmacm.so")); DORDMA(LOADSYM) } THolder L; }; return SingletonWithPriority(); } const TMlx5Symbols* M5Sym() { struct TSymbols: TMlx5Symbols { TSymbols() { L.Reset(new TDynamicLibrary("/usr/lib/libmlx5.so")); DOMLX5(LOADSYM) } THolder L; }; return SingletonWithPriority(); } #undef LOADSYM