2012-04-02 08:56:30 +02:00
|
|
|
#ifndef UNIX_H
|
|
|
|
#define UNIX_H
|
2012-03-28 13:24:49 +02:00
|
|
|
|
2012-04-01 13:22:30 +02:00
|
|
|
#include <ltdl.h>
|
2012-03-28 13:24:49 +02:00
|
|
|
#include <execinfo.h>
|
|
|
|
#include <unistd.h>
|
|
|
|
#include <sys/types.h>
|
2012-04-01 09:48:52 +02:00
|
|
|
#include <sys/stat.h>
|
|
|
|
#include <fcntl.h>
|
2012-03-28 13:24:49 +02:00
|
|
|
#include <sys/socket.h>
|
2012-03-29 20:03:29 +02:00
|
|
|
#include <sys/ioctl.h>
|
2012-03-28 13:24:49 +02:00
|
|
|
#include <netinet/in.h>
|
|
|
|
#include <arpa/inet.h>
|
2012-04-01 09:48:52 +02:00
|
|
|
#include <pthread.h>
|
2012-03-28 13:24:49 +02:00
|
|
|
|
|
|
|
typedef int SOCKET;
|
|
|
|
|
|
|
|
#define INVALID_SOCKET (-1)
|
|
|
|
|
|
|
|
inline void Sleep(unsigned long milliseconds)
|
|
|
|
{
|
|
|
|
usleep(milliseconds * 1000);
|
|
|
|
}
|
|
|
|
|
|
|
|
inline void closesocket(int fd)
|
|
|
|
{
|
|
|
|
close(fd);
|
|
|
|
}
|
|
|
|
|
2012-03-29 13:15:54 +02:00
|
|
|
#define ioctlsocket ioctl
|
|
|
|
|
2012-03-31 15:18:09 +02:00
|
|
|
/* default visibility takes care of exported symbols */
|
|
|
|
#define I2_EXPORT
|
|
|
|
#define I2_IMPORT
|
|
|
|
|
2012-04-01 13:22:30 +02:00
|
|
|
typedef lt_dlhandle HMODULE;
|
|
|
|
|
|
|
|
#define INVALID_HANDLE_VALUE NULL
|
|
|
|
|
|
|
|
inline HMODULE LoadLibrary(const char *filename)
|
|
|
|
{
|
|
|
|
lt_dlhandle handle = 0;
|
2012-04-01 15:20:13 +02:00
|
|
|
lt_dladvise advise;
|
2012-04-01 13:22:30 +02:00
|
|
|
|
2012-04-01 15:20:13 +02:00
|
|
|
if (!lt_dladvise_init(&advise) && !lt_dladvise_global(&advise)) {
|
|
|
|
handle = lt_dlopenadvise(filename, advise);
|
|
|
|
}
|
2012-04-01 13:22:30 +02:00
|
|
|
|
2012-04-01 15:20:13 +02:00
|
|
|
lt_dladvise_destroy(&advise);
|
2012-04-01 13:22:30 +02:00
|
|
|
|
|
|
|
return handle;
|
|
|
|
}
|
|
|
|
|
|
|
|
inline void FreeLibrary(HMODULE module)
|
|
|
|
{
|
|
|
|
if (module)
|
|
|
|
lt_dlclose(module);
|
|
|
|
}
|
|
|
|
|
|
|
|
inline void *GetProcAddress(HMODULE module, const char *function)
|
|
|
|
{
|
|
|
|
return lt_dlsym(module, function);
|
|
|
|
}
|
|
|
|
|
2012-04-02 08:56:30 +02:00
|
|
|
#endif /* UNIX_H */
|