do { \
size_t symbolNameLength = strlen(symbolName); \
GENC_MAP_GET(handle, symbolName, symbolNameLength, &symbol); \
if(symbol != NULL) { \
*(symbolPointer) = symbol->pointer; \
*(ret) = 1; \
break; \
} \
*(symbolPointer) = dlsym((handle)->dlHandle, symbolName); \
if(*(symbolPointer) == NULL) { \
*(ret) = -1; \
break; \
} \
GENC_MAP_ELEM_INIT(symbol); \
GENC_MAP_ELEM_KEY(symbol) = (const uint8_t*)symbolName; \
GENC_MAP_ELEM_KEY_LENGTH(symbol) = symbolNameLength; \
symbol->pointer = *(symbolPointer); \
GENC_MAP_SET(handle, symbol, &oldSymbol); \
*(ret) = 0; \
} while(0)
Struct which contains a function pointer.
Definition: fastdl.h:20