Annotation of sbbs/include/sdl/sdl_loadso.h, revision 1.1.1.1

1.1       root        1: /*
                      2:     SDL - Simple DirectMedia Layer
                      3:     Copyright (C) 1997-2004 Sam Lantinga
                      4: 
                      5:     This library is free software; you can redistribute it and/or
                      6:     modify it under the terms of the GNU Library General Public
                      7:     License as published by the Free Software Foundation; either
                      8:     version 2 of the License, or (at your option) any later version.
                      9: 
                     10:     This library is distributed in the hope that it will be useful,
                     11:     but WITHOUT ANY WARRANTY; without even the implied warranty of
                     12:     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
                     13:     Library General Public License for more details.
                     14: 
                     15:     You should have received a copy of the GNU Library General Public
                     16:     License along with this library; if not, write to the Free
                     17:     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
                     18: 
                     19:     Sam Lantinga
                     20:     [email protected]
                     21: */
                     22: 
                     23: #ifdef SAVE_RCSID
                     24: static char rcsid =
                     25:  "@(#) $Id: SDL_loadso.h,v 1.1.1.1 2005/11/18 23:23:29 rswindell Exp $";
                     26: #endif
                     27: 
                     28: /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
                     29: /* System dependent library loading routines                           */
                     30: 
                     31: /* Some things to keep in mind:                                        
                     32:    - These functions only work on C function names.  Other languages may
                     33:      have name mangling and intrinsic language support that varies from
                     34:      compiler to compiler.
                     35:    - Make sure you declare your function pointers with the same calling
                     36:      convention as the actual library function.  Your code will crash
                     37:      mysteriously if you do not do this.
                     38:    - Avoid namespace collisions.  If you load a symbol from the library,
                     39:      it is not defined whether or not it goes into the global symbol
                     40:      namespace for the application.  If it does and it conflicts with
                     41:      symbols in your code or other shared libraries, you will not get
                     42:      the results you expect. :)
                     43: */
                     44: 
                     45: 
                     46: #ifndef _SDL_loadso_h
                     47: #define _SDL_loadso_h
                     48: 
                     49: #include "begin_code.h"
                     50: /* Set up for C function definitions, even when using C++ */
                     51: #ifdef __cplusplus
                     52: extern "C" {
                     53: #endif
                     54: 
                     55: /* This function dynamically loads a shared object and returns a pointer
                     56:  * to the object handle (or NULL if there was an error).
                     57:  * The 'sofile' parameter is a system dependent name of the object file.
                     58:  */
                     59: extern DECLSPEC void * SDLCALL SDL_LoadObject(const char *sofile);
                     60: 
                     61: /* Given an object handle, this function looks up the address of the
                     62:  * named function in the shared object and returns it.  This address
                     63:  * is no longer valid after calling SDL_UnloadObject().
                     64:  */
                     65: extern DECLSPEC void * SDLCALL SDL_LoadFunction(void *handle, const char *name);
                     66: 
                     67: /* Unload a shared object from memory */
                     68: extern DECLSPEC void SDLCALL SDL_UnloadObject(void *handle);
                     69: 
                     70: /* Ends C function definitions when using C++ */
                     71: #ifdef __cplusplus
                     72: }
                     73: #endif
                     74: #include "close_code.h"
                     75: 
                     76: #endif /* _SDL_loadso_h */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.