plastimatch
Loading...
Searching...
No Matches
cuda_delayload.h File Reference
#include "plmsys_config.h"
#include <dlfcn.h>
#include <stdlib.h>

Go to the source code of this file.

Macros

#define LOAD_SYMBOL(sym, lib)    sym##_##t* sym = (sym##_##t*) dlsym (lib, #sym);
 
#define LOAD_LIBRARY_SAFE(lib)
 
#define UNLOAD_LIBRARY(lib)    ;
 
#define DELAYLOAD_WRAP(f, ...)    f (__VA_ARGS__); typedef f##_t(__VA_ARGS__);
 

Functions

EXTERNC int delayload_libplmcuda (void)
 
EXTERNC int delayload_libplmreconstructcuda (void)
 
EXTERNC int delayload_libplmregistercuda (void)
 
EXTERNC int delayload_libplmopencl (void)
 
EXTERNC void * dlopen_ex (const char *lib)
 

Macro Definition Documentation

◆ DELAYLOAD_WRAP

#define DELAYLOAD_WRAP ( f,
... )    f (__VA_ARGS__); typedef f##_t(__VA_ARGS__);

◆ LOAD_LIBRARY_SAFE

#define LOAD_LIBRARY_SAFE ( lib)
Value:
if (!delayload_##lib()) { exit (0); } \
void* lib = dlopen_ex (#lib".so");
EXTERNC void * dlopen_ex(const char *lib)
Definition cuda_delayload.cxx:64

◆ LOAD_SYMBOL

#define LOAD_SYMBOL ( sym,
lib )    sym##_##t* sym = (sym##_##t*) dlsym (lib, #sym);

◆ UNLOAD_LIBRARY

#define UNLOAD_LIBRARY ( lib)     ;

Function Documentation

◆ delayload_libplmcuda()

EXTERNC int delayload_libplmcuda ( void )

◆ delayload_libplmopencl()

EXTERNC int delayload_libplmopencl ( void )

◆ delayload_libplmreconstructcuda()

EXTERNC int delayload_libplmreconstructcuda ( void )

◆ delayload_libplmregistercuda()

EXTERNC int delayload_libplmregistercuda ( void )

◆ dlopen_ex()

EXTERNC void * dlopen_ex ( const char * lib)