comparison dynload/dynload.3 @ 308:7c6f19d42b31

dynload UTF-8 support for library paths: - added missing support to windows - added test code for all platforms to dynload_plain - doc update
author Tassilo Philipp
date Thu, 24 Oct 2019 23:19:20 +0200
parents 5cfe4322c500
children 3840e0188520
comparison
equal deleted inserted replaced
307:d2c8ea3ef2ed 308:7c6f19d42b31
52 .Fn dlFreeLibrary 52 .Fn dlFreeLibrary
53 and 53 and
54 .Fn dlFindSymbol 54 .Fn dlFindSymbol
55 calls. Passing a null pointer for the 55 calls. Passing a null pointer for the
56 .Ar libpath 56 .Ar libpath
57 argument is valid, and returns a handle to the main executable of the calling code. Also, searching libraries in library paths (e.g. by just passing the library's leaf name) should work, however, they are OS specific. Returns a null pointer on error. 57 argument is valid, and returns a handle to the main executable of the calling code. Also, searching libraries in library paths (e.g. by just passing the library's leaf name) should work, however, they are OS specific. The
58 .Ar libPath
59 argument is expected to be UTF-8 encoded. Returns a null pointer on error.
58 .Pp 60 .Pp
59 .Fn dlFreeLibrary 61 .Fn dlFreeLibrary
60 frees the loaded library with handle 62 frees the loaded library with handle
61 .Ar pLib . 63 .Ar pLib .
62 .Pp 64 .Pp
72 .Ar pLib . 74 .Ar pLib .
73 The parameter 75 The parameter
74 .Ar sOut 76 .Ar sOut
75 is a pointer to a buffer of size 77 is a pointer to a buffer of size
76 .Ar bufSize 78 .Ar bufSize
77 (in bytes), to hold the output string. The return value is the size of the buffer (in bytes) needed to hold the null-terminated string, or 0 if it can't be looked up. If 79 (in bytes), to hold the output string (UTF-8 encoded). The return value is the size of the buffer (in bytes) needed to hold the null-terminated string, or 0 if it can't be looked up. If
78 .Ar bufSize 80 .Ar bufSize
79 >= return value > 1, a null-terminted string with the path to the library should be in 81 >= return value >= 1, a null-terminted string with the path to the library should be in
80 .Ar sOut . 82 .Ar sOut .
81 If it returns 0, the library name wasn't able to be found. Please note that this might happen in some rare cases, so make sure to always check. 83 If it returns 0, the library name wasn't able to be found. Please note that this might happen in some rare cases, so make sure to always check.
82 .Pp 84 .Pp
83 The dlSyms* functions can be used to iterate over symbols. Since they can be used on libraries that are not linked, they are made 85 The dlSyms* functions can be used to iterate over symbols. Since they can be used on libraries that are not linked, they are made
84 for symbol name lookups, not to get symbols' addresses. For that refer to 86 for symbol name lookups, not to get symbols' addresses. For that refer to