#define LTTNG_UST_LIB_ABI0_SO_NAME "libfakeust0.so"
#define LTTNG_UST_LIB_ABI1_SO_NAME "liblttng-ust.so.1"
+struct lib_desc {
+ const char *soname;
+ void *handle;
+};
+
+static struct lib_desc lib_desc[] = {
+ [0] = {
+ .soname = LTTNG_UST_LIB_ABI0_SO_NAME,
+ },
+ [1] = {
+ .soname = LTTNG_UST_LIB_ABI1_SO_NAME,
+ },
+ [2] = {
+ .soname = LTTNG_UST_LIB_ABI1_SO_NAME,
+ },
+};
+
static
-int dlopen_ust(const char *lib_soname)
+int dlopen_ust(struct lib_desc *desc)
{
int ret = EXIT_SUCCESS;
- void *handle;
- handle = dlopen(lib_soname, RTLD_NOW | RTLD_GLOBAL);
- if (!handle) {
- printf("Error: dlopen of liblttng-ust shared library (%s).\n", lib_soname);
+ desc->handle = dlopen(desc->soname, RTLD_NOW | RTLD_GLOBAL);
+ if (!desc->handle) {
+ printf("Error: dlopen of liblttng-ust shared library (%s).\n", desc->soname);
ret = EXIT_FAILURE;
} else {
- printf("Success: dlopen of liblttng-ust shared library (%s).\n", lib_soname);
+ printf("Success: dlopen of liblttng-ust shared library (%s).\n", desc->soname);
}
return ret;
static
int dlopen_abi0(void)
{
- return dlopen_ust(LTTNG_UST_LIB_ABI0_SO_NAME);
+ return dlopen_ust(&lib_desc[0]);
}
static
int dlopen_abi1(void)
{
- return dlopen_ust(LTTNG_UST_LIB_ABI1_SO_NAME);
+ return dlopen_ust(&lib_desc[1]);
}
static
{
int ret = EXIT_SUCCESS;
- ret = dlopen_ust(LTTNG_UST_LIB_ABI0_SO_NAME);
+ ret = dlopen_ust(&lib_desc[0]);
if (ret != EXIT_SUCCESS)
return ret;
- ret = dlopen_ust(LTTNG_UST_LIB_ABI1_SO_NAME);
+ ret = dlopen_ust(&lib_desc[1]);
return ret;
}
{
int ret = EXIT_SUCCESS;
- ret = dlopen_ust(LTTNG_UST_LIB_ABI1_SO_NAME);
+ ret = dlopen_ust(&lib_desc[1]);
if (ret != EXIT_SUCCESS)
return ret;
- ret = dlopen_ust(LTTNG_UST_LIB_ABI0_SO_NAME);
+ ret = dlopen_ust(&lib_desc[0]);
return ret;
}
{
int ret = EXIT_SUCCESS;
- ret = dlopen_ust(LTTNG_UST_LIB_ABI1_SO_NAME);
+ ret = dlopen_ust(&lib_desc[1]);
if (ret != EXIT_SUCCESS)
return ret;
- ret = dlopen_ust(LTTNG_UST_LIB_ABI1_SO_NAME);
+ ret = dlopen_ust(&lib_desc[2]);
return ret;
}
#define LTTNG_UST_LIB_ABI0_SO_NAME "libfakeust0.so"
#define LTTNG_UST_LIB_ABI1_SO_NAME "liblttng-ust.so.1"
+struct lib_desc {
+ const char *soname;
+ void *handle;
+};
+
+static struct lib_desc lib_desc[] = {
+ [0] = {
+ .soname = LTTNG_UST_LIB_ABI0_SO_NAME,
+ },
+ [1] = {
+ .soname = LTTNG_UST_LIB_ABI1_SO_NAME,
+ },
+ [2] = {
+ .soname = LTTNG_UST_LIB_ABI1_SO_NAME,
+ },
+};
+
static
-int dlopen_ust(const char *lib_soname)
+int dlopen_ust(struct lib_desc *desc)
{
int ret = EXIT_SUCCESS;
- void *handle;
- handle = dlopen(lib_soname, RTLD_NOW | RTLD_GLOBAL);
- if (!handle) {
- printf("Error: dlopen of liblttng-ust shared library (%s).\n", lib_soname);
+ desc->handle = dlopen(desc->soname, RTLD_NOW | RTLD_GLOBAL);
+ if (!desc->handle) {
+ printf("Error: dlopen of liblttng-ust shared library (%s).\n", desc->soname);
ret = EXIT_FAILURE;
} else {
- printf("Success: dlopen of liblttng-ust shared library (%s).\n", lib_soname);
+ printf("Success: dlopen of liblttng-ust shared library (%s).\n", desc->soname);
}
return ret;
static
int dlopen_abi0(void)
{
- return dlopen_ust(LTTNG_UST_LIB_ABI0_SO_NAME);
+ return dlopen_ust(&lib_desc[0]);
}
static
int dlopen_abi1(void)
{
- return dlopen_ust(LTTNG_UST_LIB_ABI1_SO_NAME);
+ return dlopen_ust(&lib_desc[1]);
}
static
{
int ret = EXIT_SUCCESS;
- ret = dlopen_ust(LTTNG_UST_LIB_ABI0_SO_NAME);
+ ret = dlopen_ust(&lib_desc[0]);
if (ret != EXIT_SUCCESS)
return ret;
- ret = dlopen_ust(LTTNG_UST_LIB_ABI1_SO_NAME);
+ ret = dlopen_ust(&lib_desc[1]);
return ret;
}
{
int ret = EXIT_SUCCESS;
- ret = dlopen_ust(LTTNG_UST_LIB_ABI1_SO_NAME);
+ ret = dlopen_ust(&lib_desc[1]);
if (ret != EXIT_SUCCESS)
return ret;
- ret = dlopen_ust(LTTNG_UST_LIB_ABI0_SO_NAME);
+ ret = dlopen_ust(&lib_desc[0]);
return ret;
}
{
int ret = EXIT_SUCCESS;
- ret = dlopen_ust(LTTNG_UST_LIB_ABI1_SO_NAME);
+ ret = dlopen_ust(&lib_desc[1]);
if (ret != EXIT_SUCCESS)
return ret;
- ret = dlopen_ust(LTTNG_UST_LIB_ABI1_SO_NAME);
+ ret = dlopen_ust(&lib_desc[2]);
return ret;
}
{
int ret = EXIT_SUCCESS;
const char *test_type;
-
int i, netint;
long values[] = { 1, 2, 3 };
char text[10] = "test";
float flt = 2222.0;
bool mybool = 123; /* should print "1" */
-
if (argc != 2) {
usage(argv);
return EXIT_FAILURE;