# Lib_Find.h File Reference

`#include "ace/config-all.h"`
`#include "ace/ACE_export.h"`
`#include "ace/os_include/os_stdio.h"`

Include dependency graph for Lib_Find.h:

This graph shows which files directly or indirectly include this file:

## Namespaces

namespace | ACE

## Functions

ACE_Export int | ldfind (const ACE_TCHAR *filename, ACE_TCHAR pathname[], size_t maxpathnamelen)
ACE_Export FILE * | ldopen (const ACE_TCHAR *filename, const ACE_TCHAR *type)
ACE_Export ACE_TCHAR * | ldname (const ACE_TCHAR *entry_point)
ACE_Export int | get_temp_dir (ACE_TCHAR *buffer, size_t buffer_len)
ACE_Export ACE_HANDLE | open_temp_file (const ACE_TCHAR *name, int mode, int perm=0)
ACE_Export size_t | strrepl (char *s, char search, char replace)
ACE_Export char * | strsplit_r (char *s, const char *token, char *&next_start)
ACE_Export size_t | strrepl (wchar_t *s, wchar_t search, wchar_t replace)
| As strrepl, but for wide characters.
ACE_Export wchar_t * | strsplit_r (wchar_t *s, const wchar_t *token, wchar_t *&next_start)
| As strsplit_r, but for wide characters.

## Detailed Description

All the static function calls needed to search and open shared libraries.

Id
  Lib_Find.h,v 1.15 2005/10/28 16:14:52 ossama Exp

## Function Documentation

int ACE::get_temp_dir | ( | ACE_TCHAR * | buffer,
|  | size_t | buffer_len
| ) |

| Returns the temporary directory including the trailing slash in buffer. Returns -1 for an error or if the buffer_len is not long enough.

ACE_BEGIN_VERSIONED_NAMESPACE_DECL int ACE::ldfind | ( | const ACE_TCHAR * | filename,
|  | ACE_TCHAR | pathname[],
|  | size_t | maxpathnamelen
| ) |

Finds the file filename either using an absolute path or using a relative path in conjunction with ACE_LD_SEARCH_PATH (e.g., $LD_LIBRARY_PATH on UNIX or the directories scaned by Win32 API SearchPath on Win32). This function will add appropriate suffix (e.g., .dll on Win32 or .so on UNIX) according to the OS platform. In addition, this function will apply the appropriate prefix (e.g., "lib" on UNIX and "" on Win32) if the filename doesn't match directly.

ACE_TCHAR * ACE::ldname | ( | const ACE_TCHAR * | entry_point | ) |

| Transforms entry_point into a form that can be located in a dynamic library using <dlsym>. For example, with Win32/Borland extern "C" functions which use the default calling convention have a '_' prepended. Always returns a buffer that has been dynamically allocated using <operator new="">.

FILE * ACE::ldopen | ( | const ACE_TCHAR * | filename,
|  | const ACE_TCHAR * | type
| ) |

| Uses `ldfind` to locate and open the appropriate filename and returns a pointer to the file, else it returns a NULL pointer. type specifies how the file should be open.

ACE_HANDLE ACE::open_temp_file | ( | const ACE_TCHAR * | name,
|  | int | mode,
|  | int | perm = `0`
| ) |

| Opening the temp file. File is automagically unlinked when it is closed. This is useful for have temp files.

size_t ACE::strrepl | ( | wchar_t * | s,
|  | wchar_t | search,
|  | wchar_t | replace
| ) |

| As strrepl, but for wide characters.

size_t ACE::strrepl | ( | char * | s,
|  | char | search,
|  | char | replace
| ) |

| Replace all instances of search in s with replace. Returns the number of replacements made.

wchar_t * ACE::strsplit_r | ( | wchar_t * | s,
|  | const wchar_t * | token,
|  | wchar_t *& | next_start
| ) |

| As strsplit_r, but for wide characters.

char * ACE::strsplit_r | ( | char * | s,
|  | const char * | token,
|  | char *& | next_start
| ) |

| Splits string <s> into pieces separated by the string <token>. <next_start> is an opaque cookie handed back by the call to store its state for the next invocation, thus making it re-entrant. This operates very similar to Perl's <split> function except that it returns pieces one at a time instead of into an array.