Esempio n. 1
0
        public override IntPtr GetDynamicLibraryProcedureAddress(IntPtr handle, string procName)
        {
            var addr      = LinuxApi.dlsym(handle, procName);
            var lastError = Marshal.GetLastWin32Error();

            if (addr == IntPtr.Zero)
            {
                ThrowHelper.ThrowENetLibraryProcNotFound(procName, lastError);
            }

            return(addr);
        }
Esempio n. 2
0
        public override IntPtr LoadDynamicLibrary(string dllPath)
        {
            var handle    = LinuxApi.dlopen(dllPath, LinuxApi.RTLD_NOW);
            var lastError = Marshal.GetLastWin32Error();

            if (handle == IntPtr.Zero)
            {
                ThrowHelper.ThrowENetLibraryLoadFailed(lastError);
            }

            return(handle);
        }
Esempio n. 3
0
 public override void FreeDynamicLibrary(IntPtr hModule) => LinuxApi.dlclose(hModule);
Esempio n. 4
0
 public override IntPtr MemoryCopy(IntPtr dest, IntPtr src, UIntPtr count) => LinuxApi.memcpy(dest, src, count);
Esempio n. 5
0
 public override IntPtr GetProcAddress(IntPtr handle, string procName) => LinuxApi.dlsym(handle, procName);
Esempio n. 6
0
 public override IntPtr LoadLibrary(string dllPath) => LinuxApi.dlopen(dllPath, LinuxApi.RTLD_NOW);