Blame src/internal/slibtool_driver_impl.h
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
9ca8c4 |
#ifndef SOFORT_DRIVER_IMPL_H
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
9ca8c4 |
#define SOFORT_DRIVER_IMPL_H
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
9ca8c4 |
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
9ca8c4 |
#include <stdint.h>
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
9ca8c4 |
#include <stdio.h>
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
9ca8c4 |
#include <sys/types.h>
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
9ca8c4 |
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
9ca8c4 |
#include <slibtool/slibtool.h>
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
608847 |
#include "slibtool_dprintf_impl.h"
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
9ca8c4 |
#include "argv/argv.h"
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
9ca8c4 |
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
d58d2f |
#define SLBT_OPTV_ELEMENTS 64
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
d58d2f |
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
9ca8c4 |
extern const struct argv_option slbt_default_options[];
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
9ca8c4 |
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
9ca8c4 |
enum app_tags {
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
9ca8c4 |
TAG_HELP,
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
efd47f |
TAG_HELP_ALL,
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
9ca8c4 |
TAG_VERSION,
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
efd47f |
TAG_CONFIG,
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
efd47f |
TAG_DEBUG,
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
efd47f |
TAG_DRY_RUN,
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
efd47f |
TAG_FEATURES,
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
0a9bff |
TAG_LEGABITS,
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
efd47f |
TAG_MODE,
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
b9575f |
TAG_FINISH,
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
efd47f |
TAG_WARNINGS,
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
2bc175 |
TAG_ANNOTATE,
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
efd47f |
TAG_DEPS,
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
efd47f |
TAG_SILENT,
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
efd47f |
TAG_TAG,
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
efd47f |
TAG_VERBOSE,
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
302dac |
TAG_TARGET,
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
302dac |
TAG_HOST,
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
302dac |
TAG_FLAVOR,
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
302dac |
TAG_AR,
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
302dac |
TAG_RANLIB,
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
302dac |
TAG_DLLTOOL,
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
fbda3a |
TAG_MDSO,
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
fbda3a |
TAG_IMPLIB,
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
116dbb |
TAG_OUTPUT,
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
63a1b4 |
TAG_BINDIR,
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
523027 |
TAG_LDRPATH,
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
bfa8ca |
TAG_SHREXT,
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
9c664d |
TAG_RPATH,
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
9aa1f4 |
TAG_RELEASE,
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
05ca7e |
TAG_DLOPEN,
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
bb5843 |
TAG_DLPREOPEN,
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
916050 |
TAG_EXPORT_DYNAMIC,
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
873ecb |
TAG_EXPSYM_FILE,
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
73ca78 |
TAG_EXPSYM_REGEX,
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
5a9161 |
TAG_VERSION_INFO,
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
cd3d41 |
TAG_VERSION_NUMBER,
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
116dbb |
TAG_NO_SUPPRESS,
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
b76221 |
TAG_NO_INSTALL,
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
116dbb |
TAG_PREFER_PIC,
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
116dbb |
TAG_PREFER_NON_PIC,
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
116dbb |
TAG_SHARED,
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
116dbb |
TAG_STATIC,
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
f7645c |
TAG_ALL_STATIC,
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
0e609b |
TAG_DISABLE_STATIC,
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
f5fa4c |
TAG_DISABLE_SHARED,
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
93b62c |
TAG_NO_UNDEFINED,
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
a943fc |
TAG_MODULE,
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
68f313 |
TAG_AVOID_VERSION,
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
116dbb |
TAG_COMPILER_FLAG,
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
116dbb |
TAG_VERBATIM_FLAG,
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
53b931 |
TAG_THREAD_SAFE,
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
9ca8c4 |
};
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
9ca8c4 |
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
46ea99 |
struct slbt_host_strs {
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
c67e64 |
char * machine;
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
46ea99 |
char * host;
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
46ea99 |
char * flavor;
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
46ea99 |
char * ar;
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
46ea99 |
char * ranlib;
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
46ea99 |
char * dlltool;
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
fbda3a |
char * mdso;
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
46ea99 |
};
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
46ea99 |
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
9ca8c4 |
struct slbt_driver_ctx_impl {
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
9ca8c4 |
struct slbt_common_ctx cctx;
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
9ca8c4 |
struct slbt_driver_ctx ctx;
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
46ea99 |
struct slbt_host_strs host;
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
a313a4 |
struct slbt_host_strs ahost;
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
f8e27e |
char * libname;
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
56cab3 |
char ** targv;
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
56cab3 |
char ** cargv;
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
41c05b |
struct slbt_error_info**errinfp;
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
41c05b |
struct slbt_error_info**erricap;
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
41c05b |
struct slbt_error_info *erriptr[64];
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
41c05b |
struct slbt_error_info erribuf[64];
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
9ca8c4 |
};
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
9ca8c4 |
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
3a8090 |
static inline struct slbt_driver_ctx_impl * slbt_get_driver_ictx(const struct slbt_driver_ctx * dctx)
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
3a8090 |
{
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
3a8090 |
uintptr_t addr;
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
3a8090 |
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
3a8090 |
if (dctx) {
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
3a8090 |
addr = (uintptr_t)dctx - offsetof(struct slbt_driver_ctx_impl,ctx);
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
3a8090 |
return (struct slbt_driver_ctx_impl *)addr;
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
3a8090 |
}
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
3a8090 |
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
3a8090 |
return 0;
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
3a8090 |
}
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
3a8090 |
|
|
![](https://seccdn.libravatar.org/avatar/010a04b188371137c95e3f06f2c34ffc76c25df631461eee33740684fe5e265f?s=16&d=retro) |
9ca8c4 |
#endif
|