util-linux/include
Karel Zak 1ed21c80ed lib/path: new implementation
The goal is to avoid duplicate code in path.c and sysfs.c and make it
possible to define prefix for paths for all sysfs and procfs based
utils. Now we have /proc snapshots (for tests) for lscpu only. It
would be nice to have the same (for sysfs) for lsblk and another tools.

* very simple API to read numbers, strings and symlinks

* based on openat()

     pc = ul_new_path("/sys/block/sda");
     ul_path_read_u64(pc, &size, "size");
     ul_path_read_u64(pc, &lsz, "queue/logical_block_size");

* printf-like API to generate paths, for example:

     ul_path_readf_u64(pc, &num, "sda%d/size", partno)

* allow to define prefix to redirect hardcoded paths to another
  location, for example:

     pc = ul_new_path("/sys/block/sda");
     ul_path_set_prefix(pc, "/my/regression/dump");
     ul_path_read_u64(pc, &num, "size");

  to read /my/regression/dump/sys/block/sda/size

* allow to extend the API by "dialects", for example for sysfs:

     pc = ul_new_path(NULL);
     sysfs_blkdev_init_path(pc, devno, NULL);

  and use ul_path_* functions to read from @pc initialized by
  sysfs_blkdev_init_path()

* add test_path binary

Signed-off-by: Karel Zak <kzak@redhat.com>
2018-06-21 11:58:10 +02:00
..
all-io.h include/all-io: read_all() don't retry on EOF 2015-07-20 11:48:09 +02:00
bitops.h include/bitops: avoid fallbacks for more systems 2016-03-08 14:55:38 +01:00
blkdev.h lib: include sys/stat.h for struct stat 2016-03-07 23:17:12 +01:00
c.h include/c: add errexec() 2018-02-01 14:58:52 +01:00
canonicalize.h libmount: try absolute target before canonicalize 2016-04-13 12:29:16 +02:00
carefulputc.h Fix typo in carefulputc.h 2017-10-25 00:19:19 -04:00
cctype.h lib: add parse-date.y 2017-03-04 10:49:41 -05:00
closestream.h closestream: remove dummy function __fpending() 2018-03-27 13:51:02 +02:00
color-names.h misc: Fix various typos 2016-05-31 23:40:21 +02:00
colors.h lib/colors: Fix bug where help text was not being translated. 2017-05-28 13:30:45 +08:00
cpuset.h misc: Fix various typos 2016-05-31 23:40:21 +02:00
crc32.h lib/crc32: prefix public functions 2016-10-19 12:11:59 +02:00
crc32c.h lib: Add simple crc32c() function 2017-11-16 11:44:39 +01:00
debug.h include/debug: introduce __UL_INIT_DEBUG_FROM_STRING() 2018-01-17 13:58:29 +01:00
debugobj.h include/debug: don't print pointer address for SUID programs 2018-01-12 11:01:26 +01:00
env.h include/env: minor fixes and clean ups 2016-08-16 12:35:57 +02:00
exec_shell.h lib/exec_shell: cleanup function attributes 2018-02-01 12:25:39 +01:00
exitcodes.h include/exitcodes: remove mount(8) exit codes 2017-04-27 14:26:45 +02:00
fileutils.h build-sys: add and use openat build conditionals 2016-03-07 15:37:25 +01:00
idcache.h namei: move icache to lib/ 2015-11-27 13:56:01 +01:00
ismounted.h lib: import whole ismounted.c code from e2fsprogs 2009-10-14 01:13:18 +02:00
linux_version.h lib: add linux_version.{c,h} 2007-11-06 02:40:13 +01:00
list.h lib/list: remove LIST_HEAD macro 2017-01-05 11:54:59 +01:00
loopdev.h losetup: Add support for logical block size 2017-09-27 14:30:02 +02:00
Makemodule.am include/debug: don't print pointer address for SUID programs 2018-01-12 11:01:26 +01:00
mangle.h lib/mangle: return size of the decoded buffer 2017-11-01 15:33:04 +01:00
match.h lib,match: split match_fstype() from libmount 2011-11-15 15:17:19 +01:00
mbsalign.h lib/mbsalign: add mbs_invalid_encode() 2017-11-22 14:41:10 +01:00
mbsedit.h lib/mbsedit: add simple buffer editor 2017-02-16 13:47:44 +01:00
md5.h lib/md5: use ul_/UL_ prefix 2017-12-12 12:06:15 +01:00
minix.h libblkid: arch independent minix detection 2013-04-15 15:14:33 +02:00
monotonic.h lib/timer: use separate file for timers 2015-03-06 13:17:20 +01:00
namespace.h Implement support for cgroup namespaces 2016-03-02 17:53:42 -08:00
nls.h misc: fix typos using codespell 2018-02-16 11:12:52 +01:00
optutils.h optutils.h: don't print non-graph characters 2017-04-18 22:39:05 -04:00
pager.h lib/pager: cleanup and extend API 2016-08-26 12:07:25 +02:00
partx.h build-sys: fix non-blkid compilation 2017-09-19 13:48:52 +02:00
path.h lib/path: new implementation 2018-06-21 11:58:10 +02:00
pathnames.h lib/canonicalize: fix truncation warning 2018-05-10 11:20:56 +02:00
plymouth-ctrl.h misc: Fix various typos 2016-05-31 23:40:21 +02:00
procutils.h lslocks: use stuff from lib/procutils 2015-11-25 14:17:22 +01:00
pt-bsd.h fdisk: (bsd) write/read PT code cleanup 2013-09-16 16:47:06 +02:00
pt-mbr-partnames.h docs: remove some old history from manpages 2017-06-29 12:56:22 +02:00
pt-mbr.h include/pt-mbr.h: fix integer overflow 2018-05-28 13:36:38 +02:00
pt-sgi.h fdisk: (sgi) fix unsigned integer overflow [AddressSanitizer] 2014-12-19 09:10:48 +00:00
pt-sun.h libfdisk: cleanup sun label checksum usuage 2017-06-13 18:06:36 +02:00
pwdutils.h lib/pwdutils: add xgetlogin() 2017-09-18 11:48:56 +02:00
randutils.h lib/randutils: remove unnecessary function 2016-10-04 16:18:16 +02:00
rpmatch.h rpmatch: use symbolic value when evaluation return codes 2015-02-24 12:42:06 +01:00
setproctitle.h lib: cleanup setproctitle.c 2011-10-26 23:17:15 +02:00
sha1.h lib/sha1: use ul_/UL_prefix for symbols 2017-12-12 11:29:02 +01:00
signames.h lib/signames: remove unused function 2017-11-28 14:39:17 +01:00
statfs_magic.h misc: Fix various typos 2016-05-31 23:40:21 +02:00
strutils.h fdisk: use strutils to trim whitespace from input 2017-08-29 15:26:39 +02:00
strv.h lib/strv: add strv_extendv() 2015-10-01 14:43:05 +02:00
swapheader.h mkswap: remove unnecessary size check 2014-11-07 13:21:05 +01:00
swapprober.h swapon: split swapon-common.c 2014-09-22 13:16:25 +02:00
sysfs.h libblkid: ignore private Stratis devices 2018-03-09 13:34:42 +01:00
timer.h lib/timer: use separate file for timers 2015-03-06 13:17:20 +01:00
timeutils.h lib/timeutils: add common ISO timestamp masks 2017-11-10 16:34:55 -05:00
ttyutils.h script: add more info to script header 2018-05-14 12:51:50 +02:00
widechar.h include/widechar: add fallback for WEOF 2016-06-03 14:50:48 +02:00
xalloc.h include/xalloc: add err_oom() 2015-07-20 11:48:09 +02:00