about summary refs log tree commit diff stats
path: root/src/include/wrappedlibs.h
blob: 2d87a933d22598d686abeb7ad99cc9eca4e92992 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#ifndef __WRAPPEDLIBS_H__
#define __WRAPPEDLIBS_H__
#include <stdint.h>

typedef struct library_s library_t;
typedef struct box64context_s  box64context_t;

typedef int (*wrappedlib_init_t)(library_t * lib, box64context_t* box64);  // 0 = success
typedef void (*wrappedlib_fini_t)(library_t * lib);
typedef int (*wrappedlib_get_t)(library_t* lib, const char* name, uintptr_t *offs, uintptr_t *sz, size_t size, int* weak, int version, const char* vername, int local, const char* defver);

void setNeededLibs(library_t* lib, int n, ...);
#define SETALT(A)       lib->w.altmy = box_strdup(#A)
#define SETALTPREFIX(A) lib->w.altprefix = box_strdup(A)

typedef struct wrappedlib_s {
    const char*         name;
    wrappedlib_init_t   init;
    wrappedlib_fini_t   fini;
} wrappedlib_t;

#endif //__WRAPPEDLIBS_H__