This repository has been archived by the owner on Feb 11, 2021. It is now read-only.
/
SDL_loadso.h
86 lines (72 loc) · 2.84 KB
1
2
/*
SDL - Simple DirectMedia Layer
3
Copyright (C) 1997-2011 Sam Lantinga
4
5
This library is free software; you can redistribute it and/or
6
modify it under the terms of the GNU Lesser General Public
7
License as published by the Free Software Foundation; either
8
version 2.1 of the License, or (at your option) any later version.
9
10
11
12
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
13
Lesser General Public License for more details.
14
15
16
17
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
18
19
20
21
22
Sam Lantinga
slouken@libsdl.org
*/
23
/**
24
* \file SDL_loadso.h
25
*
26
* System dependent library loading routines
27
*
28
29
30
31
32
33
34
35
36
37
38
39
* Some things to keep in mind:
* \li These functions only work on C function names. Other languages may
* have name mangling and intrinsic language support that varies from
* compiler to compiler.
* \li 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.
* \li 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. :)
40
*/
41
42
43
44
#ifndef _SDL_loadso_h
#define _SDL_loadso_h
45
#include "SDL_stdinc.h"
46
#include "SDL_error.h"
47
48
49
50
#include "begin_code.h"
/* Set up for C function definitions, even when using C++ */
#ifdef __cplusplus
51
/* *INDENT-OFF* */
52
extern "C" {
53
/* *INDENT-ON* */
54
55
#endif
56
57
58
59
/**
* 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.
60
*/
61
extern DECLSPEC void *SDLCALL SDL_LoadObject(const char *sofile);
62
63
64
65
66
/**
* 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().
67
*/
68
69
extern DECLSPEC void *SDLCALL SDL_LoadFunction(void *handle,
const char *name);
70
71
72
73
/**
* Unload a shared object from memory.
*/
74
extern DECLSPEC void SDLCALL SDL_UnloadObject(void *handle);
75
76
77
/* Ends C function definitions when using C++ */
#ifdef __cplusplus
78
/* *INDENT-OFF* */
79
}
80
/* *INDENT-ON* */
81
82
83
84
#endif
#include "close_code.h"
#endif /* _SDL_loadso_h */
85
86
/* vi: set ts=4 sw=4 expandtab: */