diff options
Diffstat (limited to 'make/stub_includes')
-rwxr-xr-x | make/stub_includes/macosx/dynamic-linker.h | 46 | ||||
-rwxr-xr-x | make/stub_includes/unix/dynamic-linker.h | 47 | ||||
-rwxr-xr-x | make/stub_includes/windows/dynamic-linker.h | 32 |
3 files changed, 125 insertions, 0 deletions
diff --git a/make/stub_includes/macosx/dynamic-linker.h b/make/stub_includes/macosx/dynamic-linker.h new file mode 100755 index 0000000..11afcdc --- /dev/null +++ b/make/stub_includes/macosx/dynamic-linker.h @@ -0,0 +1,46 @@ +/* Portions extracted from Mac OS X dlfcn.h */ + +/* + * Copyright (c) 2004-2005 Apple Computer, Inc. All rights reserved. + * + * @APPLE_LICENSE_HEADER_START@ + * + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apple Public Source License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this + * file. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. + * + * @APPLE_LICENSE_HEADER_END@ + */ + +/* + Based on the dlcompat work done by: + Jorge Acereda <[email protected]> & + Peter O'Gorman <[email protected]> +*/ + +extern int dlclose(void * __handle); +extern char * dlerror(void); +extern void * dlopen(const char * __path, int __mode); +extern void * dlsym(void * __handle, const char * __symbol); + +#define RTLD_LAZY 0x1 +#define RTLD_NOW 0x2 +#define RTLD_LOCAL 0x4 +#define RTLD_GLOBAL 0x8 + +/* + * Special handle arguments for dlsym(). + */ +#define RTLD_NEXT -1LL /* Search subsequent objects. */ +#define RTLD_DEFAULT -2LL /* Use default search algorithm. */ diff --git a/make/stub_includes/unix/dynamic-linker.h b/make/stub_includes/unix/dynamic-linker.h new file mode 100755 index 0000000..7071438 --- /dev/null +++ b/make/stub_includes/unix/dynamic-linker.h @@ -0,0 +1,47 @@ +/* Portions extracted from Solaris dlfcn.h */ + +/* + * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Use is subject to license terms. + * + * Copyright (c) 1989 AT&T + * All Rights Reserved + * + */ + +/* + * Valid values for handle argument to dlsym(3x). + */ +#define RTLD_NEXT -1LL /* look in `next' dependency */ +#define RTLD_DEFAULT -2LL /* look up symbol from scope */ + /* of current object */ +#define RTLD_SELF -3LL /* look in `ourself' */ +#define RTLD_PROBE -4LL /* look up symbol from scope */ + /* of current object, */ + /* using currently */ + /* loaded objects only. */ + +/* + * Valid values for mode argument to dlopen. + */ +#define RTLD_LAZY 0x00001 /* deferred function binding */ +#define RTLD_NOW 0x00002 /* immediate function binding */ +#define RTLD_NOLOAD 0x00004 /* don't load object */ + +#define RTLD_GLOBAL 0x00100 /* export symbols to others */ +#define RTLD_LOCAL 0x00000 /* symbols are only available */ + /* to group members */ +#define RTLD_PARENT 0x00200 /* add parent (caller) to */ + /* a group dependencies */ +#define RTLD_GROUP 0x00400 /* resolve symbols within */ + /* members of the group */ +#define RTLD_WORLD 0x00800 /* resolve symbols within */ + /* global objects */ +#define RTLD_NODELETE 0x01000 /* do not remove members */ +#define RTLD_FIRST 0x02000 /* only first object is */ + /* available for dlsym */ + +extern void *dlopen(const char *, int); +extern void *dlsym(void *, const char *); +extern int dlclose(void *); +extern char *dlerror(void); diff --git a/make/stub_includes/windows/dynamic-linker.h b/make/stub_includes/windows/dynamic-linker.h new file mode 100755 index 0000000..1b06902 --- /dev/null +++ b/make/stub_includes/windows/dynamic-linker.h @@ -0,0 +1,32 @@ +/* Windows #defines and typedefs required for processing of extracts + from WINDOWS.H */ + +#define FAR +#define WINBASEAPI +#define WINAPI +#define CONST const +#define VOID void +typedef int BOOL; +typedef unsigned char BYTE; +typedef unsigned int DWORD; +typedef int INT; +typedef int INT32; +typedef __int64 INT64; +typedef float FLOAT; +typedef struct _handle* HANDLE; +typedef HANDLE HMODULE; +typedef long LONG; +typedef const char* LPCSTR; +typedef const short* LPCWSTR; +typedef void* LPVOID; +typedef struct _proc* PROC; +typedef unsigned int* PUINT; +typedef unsigned int UINT; +typedef unsigned short USHORT; +typedef unsigned short WORD; + +// Dynamic loading routines +WINBASEAPI DWORD WINAPI GetLastError(VOID); +WINBASEAPI HMODULE WINAPI LoadLibraryW(LPCWSTR lpLibFileName); +WINBASEAPI PROC WINAPI GetProcAddressA(HMODULE hModule, LPCSTR lpProcName); +WINBASEAPI BOOL WINAPI FreeLibrary(HMODULE hLibModule); |