mirror of
https://github.com/ibm-s390-linux/s390-tools.git
synced 2026-08-05 02:14:52 +00:00
Add generic functions util_sysdir(); util_sysdir_path() and their special cases supplied for users: util_libdir(); util_libdir_path(); util_datadir(); util_datadir_path() The function util_sysdir() determines the absolute name of a s390-tools system directory. It could be data, or library directory. The function util_sysdir_path() determines the absolute name of a file installed in the s390-tools system directory. The function util_libdir() determines the absolute name of a s390-tools library directory. By default that name is defined by the compile-time macro TOOLS_LIBDIR (/lib/s390-tools). Users can specify an override by setting environment variable S390TOOLS_LIBDIR. The function util_libdir_path() determines the absolute name of a file installed in the s390-tools library directory. The function util_datadir() determines the absolute name of a s390-tools system data directory. By default the name is defined by the compile-time macro TOOLS_DATADIR (/usr/share/s390-tools/). Users can specify an override by setting environment variable S390TOOLS_DATADIR. The function util_datadir_path() determines the absolute name of a file installed in the s390-tools data directory. The ability to override the setting for TOOLS_LIBDIR and TOOLS_DATADIR is required for implementing tests on tools that are not installed in their default system path locations. Signed-off-by: Eduard Shishkin <edward6@linux.ibm.com> Reviewed-by: Jan Höppner <hoeppner@linux.ibm.com> Signed-off-by: Jan Höppner <hoeppner@linux.ibm.com>
41 lines
979 B
C
41 lines
979 B
C
/*
|
|
* util - Utility function library
|
|
*
|
|
* General helper functions
|
|
*
|
|
* Copyright IBM Corp. 2013, 2017
|
|
*
|
|
* s390-tools is free software; you can redistribute it and/or modify
|
|
* it under the terms of the MIT license. See LICENSE for details.
|
|
*/
|
|
|
|
#ifndef LIB_UTIL_BASE_H
|
|
#define LIB_UTIL_BASE_H
|
|
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include "zt_common.h"
|
|
|
|
void util_hexdump(FILE *fh, const char *tag, const void *data, int cnt);
|
|
void util_hexdump_grp(FILE *fh, const char *tag, const void *data, int group,
|
|
int cnt, int indent);
|
|
void util_print_indented(const char *str, int indent);
|
|
const char *util_libdir(void);
|
|
const char *util_libdir_path(const char *filename);
|
|
const char *util_datadir(void);
|
|
const char *util_datadir_path(const char *filename);
|
|
|
|
static inline void util_ptr_vec_free(void **ptr_vec, int count)
|
|
{
|
|
int i;
|
|
|
|
if (!ptr_vec || count < 0)
|
|
return;
|
|
|
|
for (i = 0; i < count; i++)
|
|
free(ptr_vec[i]);
|
|
free(ptr_vec);
|
|
}
|
|
|
|
#endif /* LIB_UTIL_BASE_H */
|