Table 28 Parameters
Parameter | Description |
|
|
desc | A buffer of memory allocated by the user program. The dynamic loader fills this in with |
| module information. |
|
|
desc_size | Size in bytes of the desc buffer. |
|
|
read_tgm_mem | A pointer to a function used by dlmodinfo to retrieve needed information. If the value |
| is NULL, the dynamic loader uses its own internal data structures to find the correct load |
| module and ignore the ident_parm and load_map_parm parameters. |
|
|
buffer | A buffer supplied by dlmodinfo to read into. |
|
|
ptr | The virtual memory address to read from. |
|
|
bufsiz | The size of buffer in bytes. |
|
|
ident | The value of the ident_parm parameter to dlmodinfo. |
|
|
ident_parm | Only used to pass the fourth parameter to read_tgt_mem. |
|
|
load_map_parm | Only used when calling through read_tgt_mem. Contains the starting address of the |
| load map. |
|
|
Return Values
dlgetname returns the pathname of a load module represented by desc. If desc does not describe a loaded module, dlgetname returns NULL.
Description
The dlgetname routine is one of a family of routines that give the user direct access to the dynamic linking facilities. The read_tgt_mem, ident_parm, and load_map_parm parameters are identical to those for the dlmodinfo routine. The caller of dlgetname must copy the return value to insure that it is not corrupted.
Using dlgetname to retrieve pathname
The following code sequence shows how to use dlgetname to retrieve the pathname of a load module. This example uses dlget to get a load_module_desc of the required load module and passes that load_module_desc to dlgetname to retrieve the pathname.
void* | handle; |
|
| struct | load_module_desc desc; |
| char* | dll_name; |
/* Get load module of the index'th shared library */ handle = dlget(1, &desc, sizeof(struct load_module_desc));
/* Retrieve pathname of the shared library */ dll_name = dlgetname(&desc,
sizeof(struct load_module_desc), NULL,
0,
NULL);
printf("pathname of 1st shared library : %s\n", dll_name);
The dlclose Routine
The dlclose routine closes a shared library.
Syntax
int dlclose(void *handle);
162 Shared Library Management Routines