Mercurial > pub > dyncall > dyncall
diff dynload/dynload.3 @ 228:f8a6e60598cc
- completed dynload API doc
author | Tassilo Philipp |
---|---|
date | Sun, 16 Apr 2017 13:34:39 +0200 |
parents | 7076f551faf5 |
children | 2a77747a5496 |
line wrap: on
line diff
--- a/dynload/dynload.3 Sun Apr 16 13:29:36 2017 +0200 +++ b/dynload/dynload.3 Sun Apr 16 13:34:39 2017 +0200 @@ -27,6 +27,16 @@ .Fn dlFreeLibrary "DLLib * pLib" .Ft void * .Fn dlFindSymbol "DLLib * pLib" "const char * pSymbolName" +.Ft DLSyms* +.Fn dlSymsInit "const char * libPath" +.Ft void +.Fn dlSymsCleanup "DLSyms * pSyms" +.Ft int +.Fn dlSymsCount "DLSyms * pSyms" +.Ft const char* +.Fn dlSymsName "DLSyms * pSyms" "int index" +.Ft const char* +.Fn dlSymsNameFromValue "DLSyms * pSyms" "void * value" .Sh DESCRIPTION The .Nm @@ -54,6 +64,23 @@ in the library with handle .Ar pLib , or returns a null pointer if the symbol cannot be found. The name is specified as it would appear in C source code (mangled if C++, etc.). +.Pp +The dlSyms* functions can be used to iterate over symbols. Note that they are made +for symbol name lookups, not to get a symbol's address. For that refer to +.Fn dlFindSymbol . +.Fn dlSymsInit +will return a handle (or null pointer on error) to the shared object specified by +.Ar libPath . +The returned handle is to be used with the other dlSyms* functions. The handle must be freed with +.Fn dlSymsCleanup . +.Fn dlSymsCount +returns the number of symbols in the shared object, +.Fn dlSymsName +and +.Fn dlSymsNameFromValue +are used to lookup symbol names using an index or symbol's address, respectively, returning a null pointer on error. The names are returned as they would appear in C source code (mangled if C++, etc.). The address passed to +.Fn dlSymsNameFromValue +must point to a loaded symbol. .Sh SEE ALSO .Xr dyncall 3 , .Xr dyncallback 3