dllfind.c revision 3f54fd611f536639ec30dd53c48e5ec1897cc7d9
4b0a4c7dea0f67a233dcc42ce9bb18d36de109aeChristian Maeder/***********************************************************************
5ba323da9f037264b4a356085e844889aedeac23Christian Maeder* This software is part of the ast package *
c58a94c44b76b072ace930f2126c889c0b64cb2aChristian Maeder* Copyright (c) 1997-2011 AT&T Intellectual Property *
97018cf5fa25b494adffd7e9b4e87320dae6bf47Christian Maeder* and is licensed under the *
ea03c5d09694b4a966fbd19d46cfa5772648d95fChristian Maeder* Eclipse Public License, Version 1.0 *
3f69b6948966979163bdfe8331c38833d5d90ecdChristian Maeder* by AT&T Intellectual Property *
4561227a776bdf0ab679b19fb92f1eaaed8786f7Christian Maeder* A copy of the License is available at *
4b0a4c7dea0f67a233dcc42ce9bb18d36de109aeChristian Maeder* http://www.eclipse.org/org/documents/epl-v10.html *
f3a94a197960e548ecd6520bb768cb0d547457bbChristian Maeder* (with md5 checksum b35adb5213ca9657e911e9befb180842) *
ea03c5d09694b4a966fbd19d46cfa5772648d95fChristian Maeder* Information and Software Systems Research *
e8ffec0fa3d3061061bdc16e44247b9cf96b050fChristian Maeder* AT&T Research *
502ed7ed7fecd10b6d0c83cdd48a244ec45e840aChristian Maeder* Florham Park NJ *
81946e2b3f6dde6167f48769bd02c7a634736856Christian Maeder* Glenn Fowler <gsf@research.att.com> *
ad270004874ce1d0697fb30d7309f180553bb315Christian Maeder***********************************************************************/
dc6b48bb46df8e56da3491c98476e6da0d1d5d1dChristian Maeder * Glenn Fowler
4561227a776bdf0ab679b19fb92f1eaaed8786f7Christian Maeder * AT&T Research
0be2d0cfd911d313e7e941edbc77f95052c8c19bChristian Maeder * find and load library name with optional version ver and dlopen() flags
f26a1fc3851297e6483cf3fb56e9c0967b8f8b13Christian Maeder * at least one dlopen() is called to initialize dlerror()
0be2d0cfd911d313e7e941edbc77f95052c8c19bChristian Maeder * if path!=0 then library path up to size chars copied to path with trailing 0
502ed7ed7fecd10b6d0c83cdd48a244ec45e840aChristian Maeder * if name contains a directory prefix then library search is limited to the dir and siblings
9348e8460498ddfcd9da11cd8b5794c06023e004Christian Maederdllfind(const char* lib, const char* ver, int flags, char* path, size_t size)
4561227a776bdf0ab679b19fb92f1eaaed8786f7Christian Maeder if ((id = error_info.id) && (dll = dllplug(id, lib, ver, flags, path, size)))