plastimatch
Loading...
Searching...
No Matches
Macros | Functions
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)