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

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