mirror of
https://gitlab.com/sortix/sortix.git
synced 2023-02-13 20:55:38 -05:00
Added stubs for functions in dlfcn.h.
This commit is contained in:
parent
6eb6a14ace
commit
aac12add54
3 changed files with 99 additions and 0 deletions
|
@ -54,6 +54,7 @@ time.o \
|
||||||
random.o \
|
random.o \
|
||||||
abs.o \
|
abs.o \
|
||||||
env.o \
|
env.o \
|
||||||
|
dlfcn.o \
|
||||||
integer.o \
|
integer.o \
|
||||||
c++.o \
|
c++.o \
|
||||||
memory.o \
|
memory.o \
|
||||||
|
|
54
libmaxsi/dlfcn.cpp
Normal file
54
libmaxsi/dlfcn.cpp
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
/*******************************************************************************
|
||||||
|
|
||||||
|
COPYRIGHT(C) JONAS 'SORTIE' TERMANSEN 2012.
|
||||||
|
|
||||||
|
This file is part of LibMaxsi.
|
||||||
|
|
||||||
|
LibMaxsi is free software: you can redistribute it and/or modify it under
|
||||||
|
the terms of the GNU Lesser General Public License as published by the Free
|
||||||
|
Software Foundation, either version 3 of the License, or (at your option)
|
||||||
|
any later version.
|
||||||
|
|
||||||
|
LibMaxsi 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 Lesser General Public License for more
|
||||||
|
details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
|
along with LibMaxsi. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
dlfcn.cpp
|
||||||
|
Dynamic linking.
|
||||||
|
|
||||||
|
*******************************************************************************/
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <dlfcn.h>
|
||||||
|
|
||||||
|
static const char* dlerrormsg = NULL;
|
||||||
|
|
||||||
|
extern "C" void* dlopen(const char* filename, int mode)
|
||||||
|
{
|
||||||
|
dlerrormsg = "Sortix does not yet support dynamic linking";
|
||||||
|
fprintf(stderr, "%s: loading file: %s\n", dlerrormsg, filename);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
extern "C" void* dlsym(void* handle, const char* name)
|
||||||
|
{
|
||||||
|
dlerrormsg = "Sortix does not yet support dynamic linking";
|
||||||
|
fprintf(stderr, "%s: resolving symbol: %s\n", dlerrormsg, name);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
extern "C" int dlclose(void* handle)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
extern "C" char* dlerror(void* handle)
|
||||||
|
{
|
||||||
|
const char* result = dlerrormsg;
|
||||||
|
dlerrormsg = NULL;
|
||||||
|
return (char*) dlerrormsg;
|
||||||
|
}
|
44
libmaxsi/include/dlfcn.h
Normal file
44
libmaxsi/include/dlfcn.h
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
/*******************************************************************************
|
||||||
|
|
||||||
|
COPYRIGHT(C) JONAS 'SORTIE' TERMANSEN 2012.
|
||||||
|
|
||||||
|
This file is part of LibMaxsi.
|
||||||
|
|
||||||
|
LibMaxsi is free software: you can redistribute it and/or modify it under
|
||||||
|
the terms of the GNU Lesser General Public License as published by the Free
|
||||||
|
Software Foundation, either version 3 of the License, or (at your option)
|
||||||
|
any later version.
|
||||||
|
|
||||||
|
LibMaxsi 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 Lesser General Public License for more
|
||||||
|
details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
|
along with LibMaxsi. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
dlfcn.h
|
||||||
|
Dynamic linking.
|
||||||
|
|
||||||
|
*******************************************************************************/
|
||||||
|
|
||||||
|
#ifndef _DLFCN_H
|
||||||
|
#define _DLFCN_H 1
|
||||||
|
|
||||||
|
#include <features.h>
|
||||||
|
|
||||||
|
__BEGIN_DECLS
|
||||||
|
|
||||||
|
#define RTLD_LAZY (1<<0)
|
||||||
|
#define RTLD_NOW (1<<1)
|
||||||
|
#define RTLD_GLOBAL (1<<8)
|
||||||
|
#define RTLD_LOCAL 0 /* Bit 8 is not set. */
|
||||||
|
|
||||||
|
int dlclose(void* handle);
|
||||||
|
char* dlerror(void* handle);
|
||||||
|
void* dlopen(const char* filename, int mode);
|
||||||
|
void* dlsym(void* handle, const char* name);
|
||||||
|
|
||||||
|
__END_DECLS
|
||||||
|
|
||||||
|
#endif
|
Loading…
Reference in a new issue