OLD | NEW |
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ | 1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ |
2 /* ***** BEGIN LICENSE BLOCK ***** | 2 /* ***** BEGIN LICENSE BLOCK ***** |
3 * Version: MPL 1.1/GPL 2.0/LGPL 2.1 | 3 * Version: MPL 1.1/GPL 2.0/LGPL 2.1 |
4 * | 4 * |
5 * The contents of this file are subject to the Mozilla Public License Version | 5 * The contents of this file are subject to the Mozilla Public License Version |
6 * 1.1 (the "License"); you may not use this file except in compliance with | 6 * 1.1 (the "License"); you may not use this file except in compliance with |
7 * the License. You may obtain a copy of the License at | 7 * the License. You may obtain a copy of the License at |
8 * http://www.mozilla.org/MPL/ | 8 * http://www.mozilla.org/MPL/ |
9 * | 9 * |
10 * Software distributed under the License is distributed on an "AS IS" basis, | 10 * Software distributed under the License is distributed on an "AS IS" basis, |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
42 ** API to static and dynamic linking. | 42 ** API to static and dynamic linking. |
43 */ | 43 */ |
44 #include "prtypes.h" | 44 #include "prtypes.h" |
45 | 45 |
46 PR_BEGIN_EXTERN_C | 46 PR_BEGIN_EXTERN_C |
47 | 47 |
48 typedef struct PRLibrary PRLibrary; | 48 typedef struct PRLibrary PRLibrary; |
49 | 49 |
50 typedef struct PRStaticLinkTable { | 50 typedef struct PRStaticLinkTable { |
51 const char *name; | 51 const char *name; |
52 void (*fp)(); | 52 void (*fp)(void); |
53 } PRStaticLinkTable; | 53 } PRStaticLinkTable; |
54 | 54 |
55 /* | 55 /* |
56 ** Change the default library path to the given string. The string is | 56 ** Change the default library path to the given string. The string is |
57 ** copied. This call will fail if it runs out of memory. | 57 ** copied. This call will fail if it runs out of memory. |
58 ** | 58 ** |
59 ** The string provided as 'path' is copied. The caller can do whatever is | 59 ** The string provided as 'path' is copied. The caller can do whatever is |
60 ** convenient with the argument when the function is complete. | 60 ** convenient with the argument when the function is complete. |
61 */ | 61 */ |
62 NSPR_API(PRStatus) PR_SetLibraryPath(const char *path); | 62 NSPR_API(PRStatus) PR_SetLibraryPath(const char *path); |
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
201 NSPR_API(void*) PR_FindSymbol(PRLibrary *lib, const char *name); | 201 NSPR_API(void*) PR_FindSymbol(PRLibrary *lib, const char *name); |
202 | 202 |
203 /* | 203 /* |
204 ** Similar to PR_FindSymbol, except that the return value is a pointer to | 204 ** Similar to PR_FindSymbol, except that the return value is a pointer to |
205 ** a function, and not a pointer to void. Casting between a data pointer | 205 ** a function, and not a pointer to void. Casting between a data pointer |
206 ** and a function pointer is not portable according to the C standard. | 206 ** and a function pointer is not portable according to the C standard. |
207 ** Any function pointer can be cast to any other function pointer. | 207 ** Any function pointer can be cast to any other function pointer. |
208 ** | 208 ** |
209 ** This function does not modify the reference count of the library. | 209 ** This function does not modify the reference count of the library. |
210 */ | 210 */ |
211 typedef void (*PRFuncPtr)(); | 211 typedef void (*PRFuncPtr)(void); |
212 NSPR_API(PRFuncPtr) PR_FindFunctionSymbol(PRLibrary *lib, const char *name); | 212 NSPR_API(PRFuncPtr) PR_FindFunctionSymbol(PRLibrary *lib, const char *name); |
213 | 213 |
214 /* | 214 /* |
215 ** Finds a symbol in one of the currently loaded libraries. Given the | 215 ** Finds a symbol in one of the currently loaded libraries. Given the |
216 ** name of a procedure, return the address of the function that | 216 ** name of a procedure, return the address of the function that |
217 ** implements the procedure, and return the library that contains that | 217 ** implements the procedure, and return the library that contains that |
218 ** symbol, or NULL if no such function can be found. This does not find | 218 ** symbol, or NULL if no such function can be found. This does not find |
219 ** symbols in the main program (the ".exe"); use PR_AddStaticLibrary to | 219 ** symbols in the main program (the ".exe"); use PR_AddStaticLibrary to |
220 ** register symbols in the main program. | 220 ** register symbols in the main program. |
221 ** | 221 ** |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
253 ** Return the pathname of the file that the library "name" was loaded | 253 ** Return the pathname of the file that the library "name" was loaded |
254 ** from. "addr" is the address of a function defined in the library. | 254 ** from. "addr" is the address of a function defined in the library. |
255 ** | 255 ** |
256 ** The caller is responsible for freeing the result with PR_Free. | 256 ** The caller is responsible for freeing the result with PR_Free. |
257 */ | 257 */ |
258 NSPR_API(char *) PR_GetLibraryFilePathname(const char *name, PRFuncPtr addr); | 258 NSPR_API(char *) PR_GetLibraryFilePathname(const char *name, PRFuncPtr addr); |
259 | 259 |
260 PR_END_EXTERN_C | 260 PR_END_EXTERN_C |
261 | 261 |
262 #endif /* prlink_h___ */ | 262 #endif /* prlink_h___ */ |
OLD | NEW |