/* * zdev - Modify and display the persistent configuration of devices * * Copyright IBM Corp. 2016, 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 PATH_H #define PATH_H PATH_H #include "lib/zt_common.h" #include "exit_code.h" #include "misc.h" #define MODPROBE_PREFIX "s390x" #define UDEV_PREFIX "41" #define UDEV_SUFFIX ".rules" #define PATH_MODPROBE_CONF "/etc/modprobe.d" #define PATH_MODPROBE "/sbin/modprobe" #define PATH_CCW_BUS "/sys/bus/ccw" #define PATH_CCWGROUP_BUS "/sys/bus/ccwgroup" #define PATH_IPL "/sys/firmware/ipl" #define PATH_UDEV_RULES "/etc/udev/rules.d" #define PATH_UDEV_RULES_VOLATILE "/run/udev/rules.d" #define PATH_PROC "/proc" #define PATH_UDEVADM "udevadm" #define PATH_VMCP TOOLS_BINDIR "/vmcp" #define PATH_IP "ip" #define PATH_ROOT "/" #define PATH_ROOT_SCRIPT TOOLS_LIBDIR "/zdev-root-update" struct devtype; struct zfcp_lun_devid; struct util_list; void path_exit(void); void path_set_base(struct util_list *); exit_code_t path_create(const char *); char *path_get(const char *, ...); char *path_get_modprobe_conf(struct devtype *); char *path_get_sys_module(const char *); char *path_get_sys_module_param(const char *, const char *); char *path_get_sys_block_dev(const char *); char *path_get_sys_dev_block(unsigned int, unsigned int); char *path_get_sys_dev_char(unsigned int, unsigned int); char *path_get_sys_dev_char_devices(void); char *path_get_sys_class(const char *, const char *); char *path_get_modprobe(void); char *path_get_ccw_device(const char *, const char *); char *path_get_ccw_devices(const char *); char *path_get_ccwgroup_device(const char *, const char *); char *path_get_ccwgroup_devices(const char *); char *path_get_udev_rule(const char *type, const char *id, bool vol); char *path_get_udev_rules(bool vol); char *path_get_proc(const char *); char *path_get_sys_bus_dev(const char *, const char *); char *path_get_sys_bus_drv(const char *, const char *); char *path_get_zfcp_lun_dev(struct zfcp_lun_devid *); char *path_get_zfcp_port_dev(struct zfcp_lun_devid *); char *path_get_scsi_hctl_dev(const char *); char *path_get_bus_attr(const char *, const char *); char *path_read_text_file(int chomp, err_t err, char *fmt, ...); exit_code_t path_for_each(const char *, exit_code_t (*callback)(const char *, const char *, void *), void *); #endif /* PATH_H */