mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-02 22:46:30 +02:00
First steps towards supporting W32.
This is mainly source code reorganization. Update gnulib. g10/ does currently not build.
This commit is contained in:
parent
c2b08ff908
commit
2c9791db55
116 changed files with 2722 additions and 5565 deletions
73
jnlib/dynload.h
Normal file
73
jnlib/dynload.h
Normal file
|
@ -0,0 +1,73 @@
|
|||
/* dynload.h - Wrapper functions for run-time dynamic loading
|
||||
* Copyright (C) 2003 Free Software Foundation, Inc.
|
||||
*
|
||||
* This file is part of JNLIB.
|
||||
*
|
||||
* JNLIB 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 2.1 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* JNLIB 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 this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
* 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef LIBJNLIB_DYNLOAD_H
|
||||
#define LIBJNLIB_DYNLOAD_H
|
||||
|
||||
#ifndef __MINGW32__
|
||||
# include <dlfcn.h>
|
||||
#else
|
||||
# include <windows.h>
|
||||
|
||||
# define RTLD_LAZY 0
|
||||
|
||||
static inline void *
|
||||
dlopen (const char * name, int flag)
|
||||
{
|
||||
void * hd = LoadLibrary (name);
|
||||
return hd;
|
||||
}
|
||||
|
||||
static inline void *
|
||||
dlsym (void *hd, const char *sym)
|
||||
{
|
||||
if (hd && sym)
|
||||
{
|
||||
void * fnc = GetProcAddress (hd, sym);
|
||||
if (!fnc)
|
||||
return NULL;
|
||||
return fnc;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
static inline const char *
|
||||
dlerror (void)
|
||||
{
|
||||
static char buf[32];
|
||||
sprintf (buf, "ec=%lu", GetLastError ());
|
||||
return buf;
|
||||
}
|
||||
|
||||
|
||||
static inline int
|
||||
dlclose (void * hd)
|
||||
{
|
||||
if (hd)
|
||||
{
|
||||
CloseHandle (hd);
|
||||
return 0;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
# endif /*__MINGW32__*/
|
||||
#endif /*LIBJNLIB_DYNLOAD_H*/
|
Loading…
Add table
Add a link
Reference in a new issue