summaryrefslogtreecommitdiff
path: root/src/shared/util.h
AgeCommit message (Collapse)Author
2012-07-19use #pragma once instead of foo*foo #define guardsShawn Landden
#pragma once has been "un-deprecated" in gcc since 3.3, and is widely supported in other compilers. I've been using and maintaining (rebasing) this patch for a while now, as it annoyed me to see #ifndef fooblahfoo, etc all over the place, almost arrogant about the annoyance of having to define all these names to perform a commen but neccicary functionality, when a completely superior alternative exists. I havn't sent it till now, cause its kindof a style change, and it is bad voodoo to mess with style that has been established by more established editors. So feel free to lambast me as a crazy bafoon. v2 - preserve externally used headers
2012-07-16unit: introduce %s specifier for the user shellLennart Poettering
2012-07-16util: add getusername_malloc(), get_shell(), get_home_dir()Lennart Poettering
2012-07-13util: rename join() to strjoin()Lennart Poettering
This is to match strappend() and the other string related functions.
2012-07-10switch-root: reopen /dev/console before we switch rootLennart Poettering
2012-07-10util: rm_rf() refuse cleaning non-memory file systems, as extra paranoiaLennart Poettering
2012-06-26core: make systemd.confirm_spawn=1 actually workLennart Poettering
This adds a timeout if the TTY cannot be acquired and makes sure we always output the question to the console, never to the TTY of the respective service.
2012-05-31main: Silence gcc warningMarc-Antoine Perennou
2012-05-31util: introduce a proper nsec_t and make use of it where appropriateLennart Poettering
2012-05-30logind: optionally handle power, sleep and lid switch eventsLennart Poettering
This takes handling of chassis power and sleep keys as well as the lid switch over from acpid. This logic is enabled by default for power and sleep keys, but not for the lid switch. If a graphical session is in the foreground no action is taken under the assumption that the graphical session does this.
2012-05-21util: rm_rf_children() add root_dev parameterHarald Hoyer
if root_dev is set, remove subdirectories only, if the device is the same as the root_dev. This prevents to remove files across device boundaries.
2012-05-21util.c: add in_initrd()Harald Hoyer
in_initrd() checks, if the stat() for the device for "/" is 1, which it is for the initramfs.
2012-05-21main: corrected do_switch_root()Harald Hoyer
do_switch_root now mount moves "/dev", "/proc", "/sys", "/run" and removes the old root recursively.
2012-05-21util: fix typo in newdupFrederic Crozat
2012-05-21hostname-setup: also consider (ńone) an unset hostnameLennart Poettering
2012-05-21units: introduce new Documentation= field and make use of it everywhereLennart Poettering
This should help making the boot process a bit easier to explore and understand for the administrator. The simple idea is that "systemctl status" now shows a link to documentation alongside the other status and decriptionary information of a service. This patch adds the necessary fields to all our shipped units if we have proper documentation for them.
2012-05-14job: change red [ABORT] status to yellow [DEPEND]Michal Schmidt
The red "[ABORT]" for a dependency failure is too scary. It suggests a crash. And it suggests a problem with the unit itself. Change it to a yellow "[DEPEND]" message. The color communicates the level of seriousness better.
2012-05-08logind: implement suspend/hibernate calls with inhibition logicLennart Poettering
2012-05-08util: split-out path-util.[ch]Kay Sievers
2012-05-08util: split-out hwclock.[ch]Kay Sievers
2012-05-07util: split-out conf-file.[ch]Kay Sievers
2012-05-07conf_files_list(): split out conf_files_list_strv()Kay Sievers
2012-04-29util: introduce container_of() macroLucas De Marchi
This macro comes from kernel and it's useful for unwrapping structs inside another one. The generated code is actually the same to the one where this logic is used in udev, but using this macro is much cleaner and less error prone.
2012-04-22util: unify getenv() logic for other PIDLennart Poettering
2012-04-22nspawn: add -b switch to automatically look for an init binaryLennart Poettering
2012-04-22login: assing /dev/console logins to seat0Lennart Poettering
2012-04-22util: fix tty_is_vc_resolve() in a container where ↵Lennart Poettering
/sys/class/tty/console/active is misleading
2012-04-16util: introduce memdup()Lennart Poettering
2012-04-12execute: when we can't get the requested rlimit, get the next closestLennart Poettering
2012-04-12relicense to LGPLv2.1 (with exceptions)Lennart Poettering
We finally got the OK from all contributors with non-trivial commits to relicense systemd from GPL2+ to LGPL2.1+. Some udev bits continue to be GPL2+ for now, but we are looking into relicensing them too, to allow free copy/paste of all code within systemd. The bits that used to be MIT continue to be MIT. The big benefit of the relicensing is that closed source code may now link against libsystemd-login.so and friends.
2012-04-11polkit: when spawning off agent, wait until the agent is fully initializedLennart Poettering
2012-04-11polkit: temporarily spawn of a polkit agent in terminals for possibly ↵Lennart Poettering
authenticated operations
2012-04-11main: drop container/initrd env vars from inherited setLennart Poettering
Leave the env vars used in the container/initrd logic set for PID1, but don't inherit them to any children.
2012-04-10rename basic.la to shared.la and put selinux deps in shared-selinx.laKay Sievers
Only 34 of 74 tools need libselinux linked, and libselinux is a pain with its unconditional library constructor.
2012-04-10util: move all to shared/ and split external dependencies in separate ↵Kay Sievers
internal libraries Before: $ ldd /lib/systemd/systemd-timestamp linux-vdso.so.1 => (0x00007fffb05ff000) libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f90aac57000) libcap.so.2 => /lib64/libcap.so.2 (0x00007f90aaa53000) librt.so.1 => /lib64/librt.so.1 (0x00007f90aa84a000) libc.so.6 => /lib64/libc.so.6 (0x00007f90aa494000) /lib64/ld-linux-x86-64.so.2 (0x00007f90aae90000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f90aa290000) libattr.so.1 => /lib64/libattr.so.1 (0x00007f90aa08a000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f90a9e6e000) After: $ ldd systemd-timestamp linux-vdso.so.1 => (0x00007fff3cbff000) libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f5eaa1c3000) librt.so.1 => /lib64/librt.so.1 (0x00007f5ea9fbb000) libc.so.6 => /lib64/libc.so.6 (0x00007f5ea9c04000) /lib64/ld-linux-x86-64.so.2 (0x00007f5eaa3fc000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f5ea9a00000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f5ea97e4000)