539 static const char* dll_file_extension(); |
539 static const char* dll_file_extension(); |
540 |
540 |
541 static const char* get_temp_directory(); |
541 static const char* get_temp_directory(); |
542 static const char* get_current_directory(char *buf, size_t buflen); |
542 static const char* get_current_directory(char *buf, size_t buflen); |
543 |
543 |
544 // Builds a platform-specific full library path given a ld path and lib name |
544 // Builds the platform-specific name of a library. |
545 // Returns true if buffer contains full path to existing file, false otherwise |
545 // Returns false if the buffer is too small. |
546 static bool dll_build_name(char* buffer, size_t size, |
546 static bool dll_build_name(char* buffer, size_t size, |
|
547 const char* fname); |
|
548 |
|
549 // Builds a platform-specific full library path given an ld path and |
|
550 // unadorned library name. Returns true if the buffer contains a full |
|
551 // path to an existing file, false otherwise. If pathname is empty, |
|
552 // uses the path to the current directory. |
|
553 static bool dll_locate_lib(char* buffer, size_t size, |
547 const char* pathname, const char* fname); |
554 const char* pathname, const char* fname); |
548 |
555 |
549 // Symbol lookup, find nearest function name; basically it implements |
556 // Symbol lookup, find nearest function name; basically it implements |
550 // dladdr() for all platforms. Name of the nearest function is copied |
557 // dladdr() for all platforms. Name of the nearest function is copied |
551 // to buf. Distance from its base address is optionally returned as offset. |
558 // to buf. Distance from its base address is optionally returned as offset. |