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 \
|
||||
abs.o \
|
||||
env.o \
|
||||
dlfcn.o \
|
||||
integer.o \
|
||||
c++.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