| /* |
| SDL - Simple DirectMedia Layer |
| Copyright (C) 1997-2012 Sam Lantinga |
| |
| This library is free software; you can redistribute it and/or |
| modify it under the terms of the GNU Lesser General Public |
| License as published by the Free Software Foundation; either |
| version 2.1 of the License, or (at your option) any later version. |
| |
| This library is distributed in the hope that it will be useful, |
| but WITHOUT ANY WARRANTY; without even the implied warranty of |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| Lesser General Public License for more details. |
| |
| You should have received a copy of the GNU Lesser General Public |
| License along with this library; if not, write to the Free Software |
| Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
| |
| Sam Lantinga |
| slouken@libsdl.org |
| */ |
| |
| /** @file SDL_loadso.h |
| * System dependent library loading routines |
| */ |
| |
| /** @file SDL_loadso.h |
| * Some things to keep in mind: |
| * - These functions only work on C function names. Other languages may |
| * have name mangling and intrinsic language support that varies from |
| * compiler to compiler. |
| * - Make sure you declare your function pointers with the same calling |
| * convention as the actual library function. Your code will crash |
| * mysteriously if you do not do this. |
| * - Avoid namespace collisions. If you load a symbol from the library, |
| * it is not defined whether or not it goes into the global symbol |
| * namespace for the application. If it does and it conflicts with |
| * symbols in your code or other shared libraries, you will not get |
| * the results you expect. :) |
| */ |
| |
| |
| #ifndef _SDL_loadso_h |
| #define _SDL_loadso_h |
| |
| #include "SDL_stdinc.h" |
| #include "SDL_error.h" |
| |
| #include "begin_code.h" |
| /* Set up for C function definitions, even when using C++ */ |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| /** |
| * This function dynamically loads a shared object and returns a pointer |
| * to the object handle (or NULL if there was an error). |
| * The 'sofile' parameter is a system dependent name of the object file. |
| */ |
| extern DECLSPEC void * SDLCALL SDL_LoadObject(const char *sofile); |
| |
| /** |
| * Given an object handle, this function looks up the address of the |
| * named function in the shared object and returns it. This address |
| * is no longer valid after calling SDL_UnloadObject(). |
| */ |
| extern DECLSPEC void * SDLCALL SDL_LoadFunction(void *handle, const char *name); |
| |
| /** Unload a shared object from memory */ |
| extern DECLSPEC void SDLCALL SDL_UnloadObject(void *handle); |
| |
| /* Ends C function definitions when using C++ */ |
| #ifdef __cplusplus |
| } |
| #endif |
| #include "close_code.h" |
| |
| #endif /* _SDL_loadso_h */ |