#include "fmgr.h"
Go to the source code of this file.
Function Documentation
void pg_dlclose |
( |
void * |
handle |
) |
|
char* pg_dlerror |
( |
void |
|
) |
|
Definition at line 97 of file darwin.c.
{
NSLinkEditErrors c;
int errorNumber;
const char *fileName;
const char *errorString = NULL;
switch (cofiff_result)
{
case NSObjectFileImageSuccess:
NSLinkEditError(&c, &errorNumber, &fileName, &errorString);
if (errorString == NULL || *errorString == '\0')
errorString = "unknown link-edit failure";
break;
case NSObjectFileImageFailure:
errorString = "failed to open object file";
break;
case NSObjectFileImageInappropriateFile:
errorString = "inappropriate object file";
break;
case NSObjectFileImageArch:
errorString = "object file is for wrong architecture";
break;
case NSObjectFileImageFormat:
errorString = "object file has wrong format";
break;
case NSObjectFileImageAccess:
errorString = "insufficient permissions for object file";
break;
default:
errorString = "unknown failure to open object file";
break;
}
return (char *) errorString;
}
void* pg_dlopen |
( |
char * |
filename |
) |
|
Definition at line 57 of file darwin.c.
{
NSObjectFileImage image;
cofiff_result = NSCreateObjectFileImageFromFile(filename, &image);
if (cofiff_result != NSObjectFileImageSuccess)
return NULL;
return NSLinkModule(image, filename,
NSLINKMODULE_OPTION_BINDNOW |
NSLINKMODULE_OPTION_RETURN_ON_ERROR);
}
PGFunction pg_dlsym |
( |
void * |
handle, |
|
|
char * |
funcname | |
|
) |
| | |
Definition at line 76 of file darwin.c.
{
NSSymbol symbol;
char *symname = (char *) malloc(strlen(funcname) + 2);
sprintf(symname, "_%s", funcname);
if (NSIsSymbolNameDefined(symname))
{
symbol = NSLookupAndBindSymbol(symname);
free(symname);
return (PGFunction) NSAddressOfSymbol(symbol);
}
else
{
free(symname);
return NULL;
}
}