| config.h | | config.h | |
| /* config.h. Generated from config.h.in by configure. */ | | /* config.h. Generated from config.h.in by configure. */ | |
| /* config.h.in. Generated from configure.ac by autoheader. */ | | /* config.h.in. Generated from configure.ac by autoheader. */ | |
| | | | |
| /* Whether on mips arch */ | | /* Whether on mips arch */ | |
| /* #undef ARCH_MIPS */ | | /* #undef ARCH_MIPS */ | |
| | | | |
| /* Canonical host string. */ | | /* Canonical host string. */ | |
| #define CANONICAL_HOST "i686-pc-linux-gnu" | | #define CANONICAL_HOST "i686-pc-linux-gnu" | |
| | | | |
|
| /* Target Distribution */ | | | |
| #define DISTRIBUTION "other" | | | |
| | | | |
| /* ACL available */ | | /* ACL available */ | |
| #define HAVE_ACL 1 | | #define HAVE_ACL 1 | |
| | | | |
| /* Define to 1 if you have the <acl/libacl.h> header file. */ | | /* Define to 1 if you have the <acl/libacl.h> header file. */ | |
| #define HAVE_ACL_LIBACL_H 1 | | #define HAVE_ACL_LIBACL_H 1 | |
| | | | |
|
| | | /* Define to 1 if you have the <arpa/inet.h> header file. */ | |
| | | #define HAVE_ARPA_INET_H 1 | |
| | | | |
| /* Define to 1 if you have the <attr/xattr.h> header file. */ | | /* Define to 1 if you have the <attr/xattr.h> header file. */ | |
| #define HAVE_ATTR_XATTR_H 1 | | #define HAVE_ATTR_XATTR_H 1 | |
| | | | |
| /* AUDIT available */ | | /* AUDIT available */ | |
| #define HAVE_AUDIT 1 | | #define HAVE_AUDIT 1 | |
| | | | |
| /* Define if blkid is available */ | | /* Define if blkid is available */ | |
| #define HAVE_BLKID 1 | | #define HAVE_BLKID 1 | |
| | | | |
|
| | | /* Define if CHKCONFIG is available */ | |
| | | /* #undef HAVE_CHKCONFIG */ | |
| | | | |
| /* Define to 1 if you have the declaration of `gettid', and to 0 if you don
't. | | /* Define to 1 if you have the declaration of `gettid', and to 0 if you don
't. | |
| */ | | */ | |
| #define HAVE_DECL_GETTID 0 | | #define HAVE_DECL_GETTID 0 | |
| | | | |
| /* Define to 1 if you have the declaration of `name_to_handle_at', and to 0
if | | /* Define to 1 if you have the declaration of `name_to_handle_at', and to 0
if | |
| you don't. */ | | you don't. */ | |
| #define HAVE_DECL_NAME_TO_HANDLE_AT 0 | | #define HAVE_DECL_NAME_TO_HANDLE_AT 0 | |
| | | | |
| /* Define to 1 if you have the declaration of `pivot_root', and to 0 if you | | /* Define to 1 if you have the declaration of `pivot_root', and to 0 if you | |
| don't. */ | | don't. */ | |
| | | | |
| skipping to change at line 49 | | skipping to change at line 52 | |
| | | | |
| /* Define to 1 if you have the <dlfcn.h> header file. */ | | /* Define to 1 if you have the <dlfcn.h> header file. */ | |
| #define HAVE_DLFCN_H 1 | | #define HAVE_DLFCN_H 1 | |
| | | | |
| /* Define to 1 if you have the `fanotify_init' function. */ | | /* Define to 1 if you have the `fanotify_init' function. */ | |
| #define HAVE_FANOTIFY_INIT 1 | | #define HAVE_FANOTIFY_INIT 1 | |
| | | | |
| /* Define to 1 if you have the `fanotify_mark' function. */ | | /* Define to 1 if you have the `fanotify_mark' function. */ | |
| #define HAVE_FANOTIFY_MARK 1 | | #define HAVE_FANOTIFY_MARK 1 | |
| | | | |
|
| | | /* Define to 1 if you have the <fcntl.h> header file. */ | |
| | | #define HAVE_FCNTL_H 1 | |
| | | | |
| /* GCRYPT available */ | | /* GCRYPT available */ | |
| #define HAVE_GCRYPT 1 | | #define HAVE_GCRYPT 1 | |
| | | | |
|
| | | /* Define to 1 if you have the `gethostbyaddr' function. */ | |
| | | #define HAVE_GETHOSTBYADDR 1 | |
| | | | |
| | | /* Define to 1 if you have the `gethostbyname' function. */ | |
| | | #define HAVE_GETHOSTBYNAME 1 | |
| | | | |
| | | /* Define to 1 if you have the `gettimeofday' function. */ | |
| | | #define HAVE_GETTIMEOFDAY 1 | |
| | | | |
| /* Define if IMA is available */ | | /* Define if IMA is available */ | |
| #define HAVE_IMA 1 | | #define HAVE_IMA 1 | |
| | | | |
|
| | | /* Define to 1 if you have the `inet_ntoa' function. */ | |
| | | #define HAVE_INET_NTOA 1 | |
| | | | |
| /* Define to 1 if you have the <inttypes.h> header file. */ | | /* Define to 1 if you have the <inttypes.h> header file. */ | |
| #define HAVE_INTTYPES_H 1 | | #define HAVE_INTTYPES_H 1 | |
| | | | |
| /* Define if kmod is available */ | | /* Define if kmod is available */ | |
| #define HAVE_KMOD 1 | | #define HAVE_KMOD 1 | |
| | | | |
| /* Define to 1 if you have the <libaudit.h> header file. */ | | /* Define to 1 if you have the <libaudit.h> header file. */ | |
| #define HAVE_LIBAUDIT_H 1 | | #define HAVE_LIBAUDIT_H 1 | |
| | | | |
| /* Define if libcryptsetup is available */ | | /* Define if libcryptsetup is available */ | |
| /* #undef HAVE_LIBCRYPTSETUP */ | | /* #undef HAVE_LIBCRYPTSETUP */ | |
| | | | |
| /* Have tcpwrap? */ | | /* Have tcpwrap? */ | |
| #define HAVE_LIBWRAP /**/ | | #define HAVE_LIBWRAP /**/ | |
| | | | |
| /* Logind support available */ | | /* Logind support available */ | |
| #define HAVE_LOGIND 1 | | #define HAVE_LOGIND 1 | |
| | | | |
|
| | | /* Define to 1 if your system has a GNU libc compatible `malloc' function, | |
| | | and | |
| | | to 0 otherwise. */ | |
| | | #define HAVE_MALLOC 1 | |
| | | | |
| /* Define to 1 if you have the <memory.h> header file. */ | | /* Define to 1 if you have the <memory.h> header file. */ | |
| #define HAVE_MEMORY_H 1 | | #define HAVE_MEMORY_H 1 | |
| | | | |
|
| | | /* Define to 1 if you have the `memset' function. */ | |
| | | #define HAVE_MEMSET 1 | |
| | | | |
| /* Define if microhttpd is available */ | | /* Define if microhttpd is available */ | |
| #define HAVE_MICROHTTPD 1 | | #define HAVE_MICROHTTPD 1 | |
| | | | |
|
| | | /* Define to 1 if you have the <netdb.h> header file. */ | |
| | | #define HAVE_NETDB_H 1 | |
| | | | |
| | | /* Define to 1 if you have the <netinet/in.h> header file. */ | |
| | | #define HAVE_NETINET_IN_H 1 | |
| | | | |
| | | /* Define to 1 if you have the <nss.h> header file. */ | |
| | | #define HAVE_NSS_H 1 | |
| | | | |
| /* PAM available */ | | /* PAM available */ | |
| #define HAVE_PAM 1 | | #define HAVE_PAM 1 | |
| | | | |
| /* Define if qrencode is available */ | | /* Define if qrencode is available */ | |
| #define HAVE_QRENCODE 1 | | #define HAVE_QRENCODE 1 | |
| | | | |
| /* Define to 1 if you have the `secure_getenv' function. */ | | /* Define to 1 if you have the `secure_getenv' function. */ | |
| /* #undef HAVE_SECURE_GETENV */ | | /* #undef HAVE_SECURE_GETENV */ | |
| | | | |
| /* Define to 1 if you have the <security/pam_ext.h> header file. */ | | /* Define to 1 if you have the <security/pam_ext.h> header file. */ | |
| #define HAVE_SECURITY_PAM_EXT_H 1 | | #define HAVE_SECURITY_PAM_EXT_H 1 | |
| | | | |
| /* Define to 1 if you have the <security/pam_modules.h> header file. */ | | /* Define to 1 if you have the <security/pam_modules.h> header file. */ | |
| #define HAVE_SECURITY_PAM_MODULES_H 1 | | #define HAVE_SECURITY_PAM_MODULES_H 1 | |
| | | | |
| /* Define to 1 if you have the <security/pam_modutil.h> header file. */ | | /* Define to 1 if you have the <security/pam_modutil.h> header file. */ | |
| #define HAVE_SECURITY_PAM_MODUTIL_H 1 | | #define HAVE_SECURITY_PAM_MODUTIL_H 1 | |
| | | | |
|
| | | /* Define to 1 if you have the `select' function. */ | |
| | | #define HAVE_SELECT 1 | |
| | | | |
| /* Define if SELinux is available */ | | /* Define if SELinux is available */ | |
| #define HAVE_SELINUX 1 | | #define HAVE_SELINUX 1 | |
| | | | |
|
| | | /* Define to 1 if you have the `socket' function. */ | |
| | | #define HAVE_SOCKET 1 | |
| | | | |
| /* Define if /bin, /sbin aren't symlinks into /usr */ | | /* Define if /bin, /sbin aren't symlinks into /usr */ | |
| /* #undef HAVE_SPLIT_USR */ | | /* #undef HAVE_SPLIT_USR */ | |
| | | | |
| /* Define to 1 if you have the <stdint.h> header file. */ | | /* Define to 1 if you have the <stdint.h> header file. */ | |
| #define HAVE_STDINT_H 1 | | #define HAVE_STDINT_H 1 | |
| | | | |
| /* Define to 1 if you have the <stdlib.h> header file. */ | | /* Define to 1 if you have the <stdlib.h> header file. */ | |
| #define HAVE_STDLIB_H 1 | | #define HAVE_STDLIB_H 1 | |
| | | | |
|
| | | /* Define to 1 if you have the `strcasecmp' function. */ | |
| | | #define HAVE_STRCASECMP 1 | |
| | | | |
| | | /* Define to 1 if you have the `strcspn' function. */ | |
| | | #define HAVE_STRCSPN 1 | |
| | | | |
| | | /* Define to 1 if you have the `strdup' function. */ | |
| | | #define HAVE_STRDUP 1 | |
| | | | |
| | | /* Define to 1 if you have the `strerror' function. */ | |
| | | #define HAVE_STRERROR 1 | |
| | | | |
| /* Define to 1 if you have the <strings.h> header file. */ | | /* Define to 1 if you have the <strings.h> header file. */ | |
| #define HAVE_STRINGS_H 1 | | #define HAVE_STRINGS_H 1 | |
| | | | |
| /* Define to 1 if you have the <string.h> header file. */ | | /* Define to 1 if you have the <string.h> header file. */ | |
| #define HAVE_STRING_H 1 | | #define HAVE_STRING_H 1 | |
| | | | |
|
| | | /* Define to 1 if you have the `strncasecmp' function. */ | |
| | | #define HAVE_STRNCASECMP 1 | |
| | | | |
| | | /* Define to 1 if you have the `strspn' function. */ | |
| | | #define HAVE_STRSPN 1 | |
| | | | |
| /* SysV init scripts and rcN.d links are supported. */ | | /* SysV init scripts and rcN.d links are supported. */ | |
| #define HAVE_SYSV_COMPAT /**/ | | #define HAVE_SYSV_COMPAT /**/ | |
| | | | |
| /* Define to 1 if you have the <sys/acl.h> header file. */ | | /* Define to 1 if you have the <sys/acl.h> header file. */ | |
| #define HAVE_SYS_ACL_H 1 | | #define HAVE_SYS_ACL_H 1 | |
| | | | |
| /* Define to 1 if you have the <sys/capability.h> header file. */ | | /* Define to 1 if you have the <sys/capability.h> header file. */ | |
| #define HAVE_SYS_CAPABILITY_H 1 | | #define HAVE_SYS_CAPABILITY_H 1 | |
| | | | |
|
| | | /* Define to 1 if you have the <sys/ioctl.h> header file. */ | |
| | | #define HAVE_SYS_IOCTL_H 1 | |
| | | | |
| | | /* Define to 1 if you have the <sys/select.h> header file. */ | |
| | | #define HAVE_SYS_SELECT_H 1 | |
| | | | |
| | | /* Define to 1 if you have the <sys/socket.h> header file. */ | |
| | | #define HAVE_SYS_SOCKET_H 1 | |
| | | | |
| /* Define to 1 if you have the <sys/stat.h> header file. */ | | /* Define to 1 if you have the <sys/stat.h> header file. */ | |
| #define HAVE_SYS_STAT_H 1 | | #define HAVE_SYS_STAT_H 1 | |
| | | | |
|
| | | /* Define to 1 if you have the <sys/time.h> header file. */ | |
| | | #define HAVE_SYS_TIME_H 1 | |
| | | | |
| /* Define to 1 if you have the <sys/types.h> header file. */ | | /* Define to 1 if you have the <sys/types.h> header file. */ | |
| #define HAVE_SYS_TYPES_H 1 | | #define HAVE_SYS_TYPES_H 1 | |
| | | | |
| /* Define to 1 if you have the <unistd.h> header file. */ | | /* Define to 1 if you have the <unistd.h> header file. */ | |
| #define HAVE_UNISTD_H 1 | | #define HAVE_UNISTD_H 1 | |
| | | | |
| /* XATTR available */ | | /* XATTR available */ | |
| #define HAVE_XATTR 1 | | #define HAVE_XATTR 1 | |
| | | | |
| /* Define if XZ is available */ | | /* Define if XZ is available */ | |
| #define HAVE_XZ 1 | | #define HAVE_XZ 1 | |
| | | | |
| /* Define to 1 if you have the `__secure_getenv' function. */ | | /* Define to 1 if you have the `__secure_getenv' function. */ | |
| #define HAVE___SECURE_GETENV 1 | | #define HAVE___SECURE_GETENV 1 | |
| | | | |
|
| | | /* Path of loadkeys */ | |
| | | #define KBD_LOADKEYS "/usr/bin/loadkeys" | |
| | | | |
| | | /* Path of setfont */ | |
| | | #define KBD_SETFONT "/usr/bin/setfont" | |
| | | | |
| /* Define to the sub-directory in which libtool stores uninstalled librarie
s. | | /* Define to the sub-directory in which libtool stores uninstalled librarie
s. | |
| */ | | */ | |
| #define LT_OBJDIR ".libs/" | | #define LT_OBJDIR ".libs/" | |
| | | | |
| /* Define to 1 if your C compiler doesn't accept -c and -o together. */ | | /* Define to 1 if your C compiler doesn't accept -c and -o together. */ | |
| /* #undef NO_MINUS_C_MINUS_O */ | | /* #undef NO_MINUS_C_MINUS_O */ | |
| | | | |
| /* Name of package */ | | /* Name of package */ | |
| #define PACKAGE "systemd" | | #define PACKAGE "systemd" | |
| | | | |
| /* Define to the address where bug reports for this package should be sent.
*/ | | /* Define to the address where bug reports for this package should be sent.
*/ | |
| #define PACKAGE_BUGREPORT "http://bugs.freedesktop.org/enter_bug.cgi?produc
t=systemd" | | #define PACKAGE_BUGREPORT "http://bugs.freedesktop.org/enter_bug.cgi?produc
t=systemd" | |
| | | | |
| /* Define to the full name of this package. */ | | /* Define to the full name of this package. */ | |
| #define PACKAGE_NAME "systemd" | | #define PACKAGE_NAME "systemd" | |
| | | | |
| /* Define to the full name and version of this package. */ | | /* Define to the full name and version of this package. */ | |
|
| #define PACKAGE_STRING "systemd 196" | | #define PACKAGE_STRING "systemd 197" | |
| | | | |
| /* Define to the one symbol short name of this package. */ | | /* Define to the one symbol short name of this package. */ | |
| #define PACKAGE_TARNAME "systemd" | | #define PACKAGE_TARNAME "systemd" | |
| | | | |
| /* Define to the home page for this package. */ | | /* Define to the home page for this package. */ | |
| #define PACKAGE_URL "http://www.freedesktop.org/wiki/Software/systemd" | | #define PACKAGE_URL "http://www.freedesktop.org/wiki/Software/systemd" | |
| | | | |
| /* Define to the version of this package. */ | | /* Define to the version of this package. */ | |
|
| #define PACKAGE_VERSION "196" | | #define PACKAGE_VERSION "197" | |
| | | | |
| /* Define to 1 if you have the ANSI C header files. */ | | | |
| #define STDC_HEADERS 1 | | | |
| | | | |
|
| /* Target is ALTLinux */ | | /* Path of /etc/rc.local script */ | |
| /* #undef TARGET_ALTLINUX */ | | #define RC_LOCAL_SCRIPT_PATH_START "/etc/rc.local" | |
| | | | |
|
| /* Target is Ångström */ | | /* Path of /usr/sbin/halt.local script */ | |
| /* #undef TARGET_ANGSTROM */ | | #define RC_LOCAL_SCRIPT_PATH_STOP "/usr/sbin/halt.local" | |
| | | | |
|
| /* Target is ArchLinux */ | | /* Define to the type of arg 1 for `select'. */ | |
| /* #undef TARGET_ARCH */ | | #define SELECT_TYPE_ARG1 int | |
| | | | |
|
| /* Target is Debian */ | | /* Define to the type of args 2, 3 and 4 for `select'. */ | |
| /* #undef TARGET_DEBIAN */ | | #define SELECT_TYPE_ARG234 (fd_set *) | |
| | | | |
|
| /* Target is Fedora/RHEL */ | | /* Define to the type of arg 5 for `select'. */ | |
| /* #undef TARGET_FEDORA */ | | #define SELECT_TYPE_ARG5 (struct timeval *) | |
| | | | |
|
| /* Target is Frugalware */ | | /* Define to 1 if you have the ANSI C header files. */ | |
| /* #undef TARGET_FRUGALWARE */ | | #define STDC_HEADERS 1 | |
| | | | |
| /* Target is Gentoo */ | | | |
| /* #undef TARGET_GENTOO */ | | | |
| | | | |
| /* Target is Mageia */ | | | |
| /* #undef TARGET_MAGEIA */ | | | |
| | | | |
| /* Target is Mandriva */ | | | |
| /* #undef TARGET_MANDRIVA */ | | | |
| | | | |
| /* Target is Slackware */ | | | |
| /* #undef TARGET_SLACKWARE */ | | | |
| | | | |
| /* Target is openSUSE/SLE */ | | | |
| /* #undef TARGET_SUSE */ | | | |
| | | | |
|
| /* Target is Ubuntu */ | | /* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */ | |
| /* #undef TARGET_UBUNTU */ | | #define TIME_WITH_SYS_TIME 1 | |
| | | | |
| /* GID of the 'tty' group */ | | /* GID of the 'tty' group */ | |
| /* #undef TTY_GID */ | | /* #undef TTY_GID */ | |
| | | | |
| /* Enable extensions on AIX 3, Interix. */ | | /* Enable extensions on AIX 3, Interix. */ | |
| #ifndef _ALL_SOURCE | | #ifndef _ALL_SOURCE | |
| # define _ALL_SOURCE 1 | | # define _ALL_SOURCE 1 | |
| #endif | | #endif | |
| /* Enable GNU extensions on systems that have them. */ | | /* Enable GNU extensions on systems that have them. */ | |
| #ifndef _GNU_SOURCE | | #ifndef _GNU_SOURCE | |
| | | | |
| skipping to change at line 234 | | skipping to change at line 292 | |
| /* Enable extensions on HP NonStop. */ | | /* Enable extensions on HP NonStop. */ | |
| #ifndef _TANDEM_SOURCE | | #ifndef _TANDEM_SOURCE | |
| # define _TANDEM_SOURCE 1 | | # define _TANDEM_SOURCE 1 | |
| #endif | | #endif | |
| /* Enable general extensions on Solaris. */ | | /* Enable general extensions on Solaris. */ | |
| #ifndef __EXTENSIONS__ | | #ifndef __EXTENSIONS__ | |
| # define __EXTENSIONS__ 1 | | # define __EXTENSIONS__ 1 | |
| #endif | | #endif | |
| | | | |
| /* Version number of package */ | | /* Version number of package */ | |
|
| #define VERSION "196" | | #define VERSION "197" | |
| | | | |
| /* Enable large inode numbers on Mac OS X 10.5. */ | | /* Enable large inode numbers on Mac OS X 10.5. */ | |
| #ifndef _DARWIN_USE_64_BIT_INODE | | #ifndef _DARWIN_USE_64_BIT_INODE | |
| # define _DARWIN_USE_64_BIT_INODE 1 | | # define _DARWIN_USE_64_BIT_INODE 1 | |
| #endif | | #endif | |
| | | | |
| /* Number of bits in a file offset, on hosts where this is settable. */ | | /* Number of bits in a file offset, on hosts where this is settable. */ | |
| #define _FILE_OFFSET_BITS 64 | | #define _FILE_OFFSET_BITS 64 | |
| | | | |
| /* Define for large files, on AIX-style hosts. */ | | /* Define for large files, on AIX-style hosts. */ | |
| | | | |
| skipping to change at line 256 | | skipping to change at line 314 | |
| | | | |
| /* Define to 1 if on MINIX. */ | | /* Define to 1 if on MINIX. */ | |
| /* #undef _MINIX */ | | /* #undef _MINIX */ | |
| | | | |
| /* Define to 2 if the system does not provide POSIX.1 features except with | | /* Define to 2 if the system does not provide POSIX.1 features except with | |
| this defined. */ | | this defined. */ | |
| /* #undef _POSIX_1_SOURCE */ | | /* #undef _POSIX_1_SOURCE */ | |
| | | | |
| /* Define to 1 if you need to in order for `stat' and other things to work.
*/ | | /* Define to 1 if you need to in order for `stat' and other things to work.
*/ | |
| /* #undef _POSIX_SOURCE */ | | /* #undef _POSIX_SOURCE */ | |
|
| | | | |
| | | /* Define to empty if `const' does not conform to ANSI C. */ | |
| | | /* #undef const */ | |
| | | | |
| | | /* Define to rpl_malloc if the replacement function should be used. */ | |
| | | /* #undef malloc */ | |
| | | | |
| | | /* Define to `unsigned int' if <sys/types.h> does not define. */ | |
| | | /* #undef size_t */ | |
| | | | |
End of changes. 27 change blocks. |
| 38 lines changed or deleted | | 97 lines changed or added | |
|
| journal-def.h | | journal-def.h | |
| | | | |
| skipping to change at line 72 | | skipping to change at line 72 | |
| OBJECT_ENTRY_ARRAY, | | OBJECT_ENTRY_ARRAY, | |
| OBJECT_TAG, | | OBJECT_TAG, | |
| _OBJECT_TYPE_MAX | | _OBJECT_TYPE_MAX | |
| }; | | }; | |
| | | | |
| /* Object flags */ | | /* Object flags */ | |
| enum { | | enum { | |
| OBJECT_COMPRESSED = 1 | | OBJECT_COMPRESSED = 1 | |
| }; | | }; | |
| | | | |
|
| _packed_ struct ObjectHeader { | | struct ObjectHeader { | |
| uint8_t type; | | uint8_t type; | |
| uint8_t flags; | | uint8_t flags; | |
| uint8_t reserved[6]; | | uint8_t reserved[6]; | |
| le64_t size; | | le64_t size; | |
| uint8_t payload[]; | | uint8_t payload[]; | |
|
| }; | | } _packed_; | |
| | | | |
|
| _packed_ struct DataObject { | | struct DataObject { | |
| ObjectHeader object; | | ObjectHeader object; | |
| le64_t hash; | | le64_t hash; | |
| le64_t next_hash_offset; | | le64_t next_hash_offset; | |
| le64_t next_field_offset; | | le64_t next_field_offset; | |
| le64_t entry_offset; /* the first array entry we store inline */ | | le64_t entry_offset; /* the first array entry we store inline */ | |
| le64_t entry_array_offset; | | le64_t entry_array_offset; | |
| le64_t n_entries; | | le64_t n_entries; | |
| uint8_t payload[]; | | uint8_t payload[]; | |
|
| }; | | } _packed_; | |
| | | | |
|
| _packed_ struct FieldObject { | | struct FieldObject { | |
| ObjectHeader object; | | ObjectHeader object; | |
| le64_t hash; | | le64_t hash; | |
| le64_t next_hash_offset; | | le64_t next_hash_offset; | |
| le64_t head_data_offset; | | le64_t head_data_offset; | |
| uint8_t payload[]; | | uint8_t payload[]; | |
|
| }; | | } _packed_; | |
| | | | |
|
| _packed_ struct EntryItem { | | struct EntryItem { | |
| le64_t object_offset; | | le64_t object_offset; | |
| le64_t hash; | | le64_t hash; | |
|
| }; | | } _packed_; | |
| | | | |
|
| _packed_ struct EntryObject { | | struct EntryObject { | |
| ObjectHeader object; | | ObjectHeader object; | |
| le64_t seqnum; | | le64_t seqnum; | |
| le64_t realtime; | | le64_t realtime; | |
| le64_t monotonic; | | le64_t monotonic; | |
| sd_id128_t boot_id; | | sd_id128_t boot_id; | |
| le64_t xor_hash; | | le64_t xor_hash; | |
| EntryItem items[]; | | EntryItem items[]; | |
|
| }; | | } _packed_; | |
| | | | |
|
| _packed_ struct HashItem { | | struct HashItem { | |
| le64_t head_hash_offset; | | le64_t head_hash_offset; | |
| le64_t tail_hash_offset; | | le64_t tail_hash_offset; | |
|
| }; | | } _packed_; | |
| | | | |
|
| _packed_ struct HashTableObject { | | struct HashTableObject { | |
| ObjectHeader object; | | ObjectHeader object; | |
| HashItem items[]; | | HashItem items[]; | |
|
| }; | | } _packed_; | |
| | | | |
|
| _packed_ struct EntryArrayObject { | | struct EntryArrayObject { | |
| ObjectHeader object; | | ObjectHeader object; | |
| le64_t next_entry_array_offset; | | le64_t next_entry_array_offset; | |
| le64_t items[]; | | le64_t items[]; | |
|
| }; | | } _packed_; | |
| | | | |
| #define TAG_LENGTH (256/8) | | #define TAG_LENGTH (256/8) | |
| | | | |
|
| _packed_ struct TagObject { | | struct TagObject { | |
| ObjectHeader object; | | ObjectHeader object; | |
| le64_t seqnum; | | le64_t seqnum; | |
| le64_t epoch; | | le64_t epoch; | |
| uint8_t tag[TAG_LENGTH]; /* SHA-256 HMAC */ | | uint8_t tag[TAG_LENGTH]; /* SHA-256 HMAC */ | |
|
| }; | | } _packed_; | |
| | | | |
| union Object { | | union Object { | |
| ObjectHeader object; | | ObjectHeader object; | |
| DataObject data; | | DataObject data; | |
| FieldObject field; | | FieldObject field; | |
| EntryObject entry; | | EntryObject entry; | |
| HashTableObject hash_table; | | HashTableObject hash_table; | |
| EntryArrayObject entry_array; | | EntryArrayObject entry_array; | |
| TagObject tag; | | TagObject tag; | |
| }; | | }; | |
| | | | |
| skipping to change at line 167 | | skipping to change at line 167 | |
| enum { | | enum { | |
| HEADER_INCOMPATIBLE_COMPRESSED = 1 | | HEADER_INCOMPATIBLE_COMPRESSED = 1 | |
| }; | | }; | |
| | | | |
| enum { | | enum { | |
| HEADER_COMPATIBLE_SEALED = 1 | | HEADER_COMPATIBLE_SEALED = 1 | |
| }; | | }; | |
| | | | |
| #define HEADER_SIGNATURE ((char[]) { 'L', 'P', 'K', 'S', 'H', 'H', 'R', 'H'
}) | | #define HEADER_SIGNATURE ((char[]) { 'L', 'P', 'K', 'S', 'H', 'H', 'R', 'H'
}) | |
| | | | |
|
| _packed_ struct Header { | | struct Header { | |
| uint8_t signature[8]; /* "LPKSHHRH" */ | | uint8_t signature[8]; /* "LPKSHHRH" */ | |
| le32_t compatible_flags; | | le32_t compatible_flags; | |
| le32_t incompatible_flags; | | le32_t incompatible_flags; | |
| uint8_t state; | | uint8_t state; | |
| uint8_t reserved[7]; | | uint8_t reserved[7]; | |
| sd_id128_t file_id; | | sd_id128_t file_id; | |
| sd_id128_t machine_id; | | sd_id128_t machine_id; | |
| sd_id128_t boot_id; /* last writer */ | | sd_id128_t boot_id; /* last writer */ | |
| sd_id128_t seqnum_id; | | sd_id128_t seqnum_id; | |
| le64_t header_size; | | le64_t header_size; | |
| | | | |
| skipping to change at line 200 | | skipping to change at line 200 | |
| le64_t tail_entry_realtime; | | le64_t tail_entry_realtime; | |
| le64_t tail_entry_monotonic; | | le64_t tail_entry_monotonic; | |
| /* Added in 187 */ | | /* Added in 187 */ | |
| le64_t n_data; | | le64_t n_data; | |
| le64_t n_fields; | | le64_t n_fields; | |
| /* Added in 189 */ | | /* Added in 189 */ | |
| le64_t n_tags; | | le64_t n_tags; | |
| le64_t n_entry_arrays; | | le64_t n_entry_arrays; | |
| | | | |
| /* Size: 224 */ | | /* Size: 224 */ | |
|
| }; | | } _packed_; | |
| | | | |
| #define FSS_HEADER_SIGNATURE ((char[]) { 'K', 'S', 'H', 'H', 'R', 'H', 'L',
'P' }) | | #define FSS_HEADER_SIGNATURE ((char[]) { 'K', 'S', 'H', 'H', 'R', 'H', 'L',
'P' }) | |
| | | | |
|
| _packed_ struct FSSHeader { | | struct FSSHeader { | |
| uint8_t signature[8]; /* "KSHHRHLP" */ | | uint8_t signature[8]; /* "KSHHRHLP" */ | |
| le32_t compatible_flags; | | le32_t compatible_flags; | |
| le32_t incompatible_flags; | | le32_t incompatible_flags; | |
| sd_id128_t machine_id; | | sd_id128_t machine_id; | |
| sd_id128_t boot_id; /* last writer */ | | sd_id128_t boot_id; /* last writer */ | |
| le64_t header_size; | | le64_t header_size; | |
| le64_t start_usec; | | le64_t start_usec; | |
| le64_t interval_usec; | | le64_t interval_usec; | |
| le16_t fsprg_secpar; | | le16_t fsprg_secpar; | |
| le16_t reserved[3]; | | le16_t reserved[3]; | |
| le64_t fsprg_state_size; | | le64_t fsprg_state_size; | |
|
| }; | | } _packed_; | |
| | | | |
End of changes. 22 change blocks. |
| 21 lines changed or deleted | | 21 lines changed or added | |
|
| keys-to-name.h | | keys-to-name.h | |
| | | | |
| skipping to change at line 298 | | skipping to change at line 298 | |
| [KEY_PREVIOUS] = "KEY_PREVIOUS", | | [KEY_PREVIOUS] = "KEY_PREVIOUS", | |
| [KEY_VIDEO_PREV] = "KEY_VIDEO_PREV", | | [KEY_VIDEO_PREV] = "KEY_VIDEO_PREV", | |
| [KEY_MUTE] = "KEY_MUTE", | | [KEY_MUTE] = "KEY_MUTE", | |
| [KEY_PAUSE] = "KEY_PAUSE", | | [KEY_PAUSE] = "KEY_PAUSE", | |
| [KEY_TAPE] = "KEY_TAPE", | | [KEY_TAPE] = "KEY_TAPE", | |
| [KEY_PROGRAM] = "KEY_PROGRAM", | | [KEY_PROGRAM] = "KEY_PROGRAM", | |
| [KEY_OPTION] = "KEY_OPTION", | | [KEY_OPTION] = "KEY_OPTION", | |
| [KEY_ZOOMOUT] = "KEY_ZOOMOUT", | | [KEY_ZOOMOUT] = "KEY_ZOOMOUT", | |
| [KEY_PLAYPAUSE] = "KEY_PLAYPAUSE", | | [KEY_PLAYPAUSE] = "KEY_PLAYPAUSE", | |
| [KEY_DISPLAY_OFF] = "KEY_DISPLAY_OFF", | | [KEY_DISPLAY_OFF] = "KEY_DISPLAY_OFF", | |
|
| [KEY_HANGEUL] = "KEY_HANGEUL", | | | |
| [KEY_RED] = "KEY_RED", | | [KEY_RED] = "KEY_RED", | |
| [KEY_KPPLUS] = "KEY_KPPLUS", | | [KEY_KPPLUS] = "KEY_KPPLUS", | |
| [KEY_FINANCE] = "KEY_FINANCE", | | [KEY_FINANCE] = "KEY_FINANCE", | |
| [KEY_BRIGHTNESSDOWN] = "KEY_BRIGHTNESSDOWN", | | [KEY_BRIGHTNESSDOWN] = "KEY_BRIGHTNESSDOWN", | |
| [KEY_KPDOT] = "KEY_KPDOT", | | [KEY_KPDOT] = "KEY_KPDOT", | |
| [KEY_TEEN] = "KEY_TEEN", | | [KEY_TEEN] = "KEY_TEEN", | |
| [KEY_SCREENLOCK] = "KEY_SCREENLOCK", | | [KEY_SCREENLOCK] = "KEY_SCREENLOCK", | |
| [KEY_FN_F1] = "KEY_FN_F1", | | [KEY_FN_F1] = "KEY_FN_F1", | |
| [KEY_FN_F2] = "KEY_FN_F2", | | [KEY_FN_F2] = "KEY_FN_F2", | |
| [KEY_FN_F3] = "KEY_FN_F3", | | [KEY_FN_F3] = "KEY_FN_F3", | |
| | | | |
| skipping to change at line 392 | | skipping to change at line 391 | |
| [KEY_KPMINUS] = "KEY_KPMINUS", | | [KEY_KPMINUS] = "KEY_KPMINUS", | |
| [KEY_GOTO] = "KEY_GOTO", | | [KEY_GOTO] = "KEY_GOTO", | |
| [KEY_MEDIA_REPEAT] = "KEY_MEDIA_REPEAT", | | [KEY_MEDIA_REPEAT] = "KEY_MEDIA_REPEAT", | |
| [KEY_SLASH] = "KEY_SLASH", | | [KEY_SLASH] = "KEY_SLASH", | |
| [KEY_KEYBOARD] = "KEY_KEYBOARD", | | [KEY_KEYBOARD] = "KEY_KEYBOARD", | |
| [KEY_CAMERA_UP] = "KEY_CAMERA_UP", | | [KEY_CAMERA_UP] = "KEY_CAMERA_UP", | |
| [KEY_DEL_LINE] = "KEY_DEL_LINE", | | [KEY_DEL_LINE] = "KEY_DEL_LINE", | |
| [KEY_CLOSE] = "KEY_CLOSE", | | [KEY_CLOSE] = "KEY_CLOSE", | |
| [KEY_DOT] = "KEY_DOT", | | [KEY_DOT] = "KEY_DOT", | |
| [KEY_NUMERIC_6] = "KEY_NUMERIC_6", | | [KEY_NUMERIC_6] = "KEY_NUMERIC_6", | |
|
| | | [KEY_HANGEUL] = "KEY_HANGEUL", | |
| [KEY_BOOKMARKS] = "KEY_BOOKMARKS", | | [KEY_BOOKMARKS] = "KEY_BOOKMARKS", | |
| }; | | }; | |
| | | | |
End of changes. 2 change blocks. |
| 1 lines changed or deleted | | 1 lines changed or added | |
|
| libudev-private.h | | libudev-private.h | |
| | | | |
| skipping to change at line 59 | | skipping to change at line 59 | |
| int priority, const char *file, int line, const char *fn, | | int priority, const char *file, int line, const char *fn, | |
| const char *format, ...) | | const char *format, ...) | |
| __attribute__((format(printf, 6, 7))); | | __attribute__((format(printf, 6, 7))); | |
| int udev_get_rules_path(struct udev *udev, char **path[], usec_t *ts_usec[]
); | | int udev_get_rules_path(struct udev *udev, char **path[], usec_t *ts_usec[]
); | |
| struct udev_list_entry *udev_add_property(struct udev *udev, const char *ke
y, const char *value); | | struct udev_list_entry *udev_add_property(struct udev *udev, const char *ke
y, const char *value); | |
| struct udev_list_entry *udev_get_properties_list_entry(struct udev *udev); | | struct udev_list_entry *udev_get_properties_list_entry(struct udev *udev); | |
| | | | |
| /* libudev-device.c */ | | /* libudev-device.c */ | |
| struct udev_device *udev_device_new(struct udev *udev); | | struct udev_device *udev_device_new(struct udev *udev); | |
| mode_t udev_device_get_devnode_mode(struct udev_device *udev_device); | | mode_t udev_device_get_devnode_mode(struct udev_device *udev_device); | |
|
| | | uid_t udev_device_get_devnode_uid(struct udev_device *udev_device); | |
| | | gid_t udev_device_get_devnode_gid(struct udev_device *udev_device); | |
| int udev_device_set_subsystem(struct udev_device *udev_device, const char *
subsystem); | | int udev_device_set_subsystem(struct udev_device *udev_device, const char *
subsystem); | |
| int udev_device_set_syspath(struct udev_device *udev_device, const char *sy
spath); | | int udev_device_set_syspath(struct udev_device *udev_device, const char *sy
spath); | |
| int udev_device_set_devnode(struct udev_device *udev_device, const char *de
vnode); | | int udev_device_set_devnode(struct udev_device *udev_device, const char *de
vnode); | |
| int udev_device_add_devlink(struct udev_device *udev_device, const char *de
vlink); | | int udev_device_add_devlink(struct udev_device *udev_device, const char *de
vlink); | |
| void udev_device_cleanup_devlinks_list(struct udev_device *udev_device); | | void udev_device_cleanup_devlinks_list(struct udev_device *udev_device); | |
| struct udev_list_entry *udev_device_add_property(struct udev_device *udev_d
evice, const char *key, const char *value); | | struct udev_list_entry *udev_device_add_property(struct udev_device *udev_d
evice, const char *key, const char *value); | |
| void udev_device_add_property_from_string_parse(struct udev_device *udev_de
vice, const char *property); | | void udev_device_add_property_from_string_parse(struct udev_device *udev_de
vice, const char *property); | |
| int udev_device_add_property_from_string_parse_finish(struct udev_device *u
dev_device); | | int udev_device_add_property_from_string_parse_finish(struct udev_device *u
dev_device); | |
| char **udev_device_get_properties_envp(struct udev_device *udev_device); | | char **udev_device_get_properties_envp(struct udev_device *udev_device); | |
| ssize_t udev_device_get_properties_monitor_buf(struct udev_device *udev_dev
ice, const char **buf); | | ssize_t udev_device_get_properties_monitor_buf(struct udev_device *udev_dev
ice, const char **buf); | |
| | | | |
| skipping to change at line 166 | | skipping to change at line 168 | |
| #define UTIL_PATH_SIZE 1024 | | #define UTIL_PATH_SIZE 1024 | |
| #define UTIL_NAME_SIZE 512 | | #define UTIL_NAME_SIZE 512 | |
| #define UTIL_LINE_SIZE 16384 | | #define UTIL_LINE_SIZE 16384 | |
| #define UDEV_ALLOWED_CHARS_INPUT "/ $%?," | | #define UDEV_ALLOWED_CHARS_INPUT "/ $%?," | |
| ssize_t util_get_sys_core_link_value(struct udev *udev, const char *slink,
const char *syspath, char *value, size_t size); | | ssize_t util_get_sys_core_link_value(struct udev *udev, const char *slink,
const char *syspath, char *value, size_t size); | |
| int util_resolve_sys_link(struct udev *udev, char *syspath, size_t size); | | int util_resolve_sys_link(struct udev *udev, char *syspath, size_t size); | |
| int util_log_priority(const char *priority); | | int util_log_priority(const char *priority); | |
| size_t util_path_encode(const char *src, char *dest, size_t size); | | size_t util_path_encode(const char *src, char *dest, size_t size); | |
| void util_remove_trailing_chars(char *path, char c); | | void util_remove_trailing_chars(char *path, char c); | |
| size_t util_strpcpy(char **dest, size_t size, const char *src); | | size_t util_strpcpy(char **dest, size_t size, const char *src); | |
|
| | | size_t util_strpcpyf(char **dest, size_t size, const char *src, ...) __attr
ibute__((format(printf, 3, 4))); | |
| size_t util_strpcpyl(char **dest, size_t size, const char *src, ...) __attr
ibute__((sentinel)); | | size_t util_strpcpyl(char **dest, size_t size, const char *src, ...) __attr
ibute__((sentinel)); | |
| size_t util_strscpy(char *dest, size_t size, const char *src); | | size_t util_strscpy(char *dest, size_t size, const char *src); | |
| size_t util_strscpyl(char *dest, size_t size, const char *src, ...) __attri
bute__((sentinel)); | | size_t util_strscpyl(char *dest, size_t size, const char *src, ...) __attri
bute__((sentinel)); | |
| int util_replace_whitespace(const char *str, char *to, size_t len); | | int util_replace_whitespace(const char *str, char *to, size_t len); | |
| int util_replace_chars(char *str, const char *white); | | int util_replace_chars(char *str, const char *white); | |
| unsigned int util_string_hash32(const char *key); | | unsigned int util_string_hash32(const char *key); | |
| uint64_t util_string_bloom64(const char *str); | | uint64_t util_string_bloom64(const char *str); | |
| | | | |
| /* libudev-util-private.c */ | | /* libudev-util-private.c */ | |
| int util_delete_path(struct udev *udev, const char *path); | | int util_delete_path(struct udev *udev, const char *path); | |
| | | | |
End of changes. 2 change blocks. |
| 0 lines changed or deleted | | 3 lines changed or added | |
|
| logind.h | | logind.h | |
| | | | |
| skipping to change at line 43 | | skipping to change at line 43 | |
| #include "cgroup-util.h" | | #include "cgroup-util.h" | |
| | | | |
| typedef struct Manager Manager; | | typedef struct Manager Manager; | |
| | | | |
| #include "logind-device.h" | | #include "logind-device.h" | |
| #include "logind-seat.h" | | #include "logind-seat.h" | |
| #include "logind-session.h" | | #include "logind-session.h" | |
| #include "logind-user.h" | | #include "logind-user.h" | |
| #include "logind-inhibit.h" | | #include "logind-inhibit.h" | |
| #include "logind-button.h" | | #include "logind-button.h" | |
|
| | | #include "logind-action.h" | |
| | | | |
| struct Manager { | | struct Manager { | |
| DBusConnection *bus; | | DBusConnection *bus; | |
| | | | |
| Hashmap *devices; | | Hashmap *devices; | |
| Hashmap *seats; | | Hashmap *seats; | |
| Hashmap *sessions; | | Hashmap *sessions; | |
| Hashmap *users; | | Hashmap *users; | |
| Hashmap *inhibitors; | | Hashmap *inhibitors; | |
| Hashmap *buttons; | | Hashmap *buttons; | |
| | | | |
| skipping to change at line 102 | | skipping to change at line 103 | |
| | | | |
| /* If a shutdown was delayed due to a inhibitor this contains | | /* If a shutdown was delayed due to a inhibitor this contains | |
| the unit name we are supposed to start after the delay is | | the unit name we are supposed to start after the delay is | |
| over */ | | over */ | |
| const char *delayed_unit; | | const char *delayed_unit; | |
| InhibitWhat delayed_what; | | InhibitWhat delayed_what; | |
| usec_t delayed_timestamp; | | usec_t delayed_timestamp; | |
| | | | |
| usec_t inhibit_delay_max; | | usec_t inhibit_delay_max; | |
| | | | |
|
| HandleButton handle_power_key; | | int idle_action_fd; | |
| HandleButton handle_suspend_key; | | usec_t idle_action_usec; | |
| HandleButton handle_hibernate_key; | | usec_t idle_action_not_before_usec; | |
| HandleButton handle_lid_switch; | | HandleAction idle_action; | |
| | | | |
| | | HandleAction handle_power_key; | |
| | | HandleAction handle_suspend_key; | |
| | | HandleAction handle_hibernate_key; | |
| | | HandleAction handle_lid_switch; | |
| | | | |
| bool power_key_ignore_inhibited; | | bool power_key_ignore_inhibited; | |
| bool suspend_key_ignore_inhibited; | | bool suspend_key_ignore_inhibited; | |
| bool hibernate_key_ignore_inhibited; | | bool hibernate_key_ignore_inhibited; | |
| bool lid_switch_ignore_inhibited; | | bool lid_switch_ignore_inhibited; | |
| }; | | }; | |
| | | | |
| enum { | | enum { | |
| FD_SEAT_UDEV, | | FD_SEAT_UDEV, | |
| FD_VCSA_UDEV, | | FD_VCSA_UDEV, | |
| FD_BUTTON_UDEV, | | FD_BUTTON_UDEV, | |
| FD_CONSOLE, | | FD_CONSOLE, | |
| FD_BUS, | | FD_BUS, | |
|
| | | FD_IDLE_ACTION, | |
| FD_OTHER_BASE | | FD_OTHER_BASE | |
| }; | | }; | |
| | | | |
| Manager *manager_new(void); | | Manager *manager_new(void); | |
| void manager_free(Manager *m); | | void manager_free(Manager *m); | |
| | | | |
| int manager_add_device(Manager *m, const char *sysfs, Device **_device); | | int manager_add_device(Manager *m, const char *sysfs, Device **_device); | |
| int manager_add_button(Manager *m, const char *name, Button **_button); | | int manager_add_button(Manager *m, const char *name, Button **_button); | |
| int manager_add_seat(Manager *m, const char *id, Seat **_seat); | | int manager_add_seat(Manager *m, const char *id, Seat **_seat); | |
| int manager_add_session(Manager *m, User *u, const char *id, Session **_ses
sion); | | int manager_add_session(Manager *m, User *u, const char *id, Session **_ses
sion); | |
| | | | |
| skipping to change at line 141 | | skipping to change at line 148 | |
| int manager_add_user_by_uid(Manager *m, uid_t uid, User **_user); | | int manager_add_user_by_uid(Manager *m, uid_t uid, User **_user); | |
| int manager_add_inhibitor(Manager *m, const char* id, Inhibitor **_inhibito
r); | | int manager_add_inhibitor(Manager *m, const char* id, Inhibitor **_inhibito
r); | |
| | | | |
| int manager_process_seat_device(Manager *m, struct udev_device *d); | | int manager_process_seat_device(Manager *m, struct udev_device *d); | |
| int manager_process_button_device(Manager *m, struct udev_device *d); | | int manager_process_button_device(Manager *m, struct udev_device *d); | |
| | | | |
| int manager_dispatch_seat_udev(Manager *m); | | int manager_dispatch_seat_udev(Manager *m); | |
| int manager_dispatch_vcsa_udev(Manager *m); | | int manager_dispatch_vcsa_udev(Manager *m); | |
| int manager_dispatch_button_udev(Manager *m); | | int manager_dispatch_button_udev(Manager *m); | |
| int manager_dispatch_console(Manager *m); | | int manager_dispatch_console(Manager *m); | |
|
| | | int manager_dispatch_idle_action(Manager *m); | |
| | | | |
| int manager_enumerate_devices(Manager *m); | | int manager_enumerate_devices(Manager *m); | |
| int manager_enumerate_buttons(Manager *m); | | int manager_enumerate_buttons(Manager *m); | |
| int manager_enumerate_seats(Manager *m); | | int manager_enumerate_seats(Manager *m); | |
| int manager_enumerate_sessions(Manager *m); | | int manager_enumerate_sessions(Manager *m); | |
| int manager_enumerate_users(Manager *m); | | int manager_enumerate_users(Manager *m); | |
| int manager_enumerate_inhibitors(Manager *m); | | int manager_enumerate_inhibitors(Manager *m); | |
| | | | |
| int manager_startup(Manager *m); | | int manager_startup(Manager *m); | |
| int manager_run(Manager *m); | | int manager_run(Manager *m); | |
| | | | |
End of changes. 4 change blocks. |
| 4 lines changed or deleted | | 12 lines changed or added | |
|
| manager.h | | manager.h | |
| | | | |
| skipping to change at line 63 | | skipping to change at line 63 | |
| WATCH_INVALID, | | WATCH_INVALID, | |
| WATCH_SIGNAL, | | WATCH_SIGNAL, | |
| WATCH_NOTIFY, | | WATCH_NOTIFY, | |
| WATCH_FD, | | WATCH_FD, | |
| WATCH_UNIT_TIMER, | | WATCH_UNIT_TIMER, | |
| WATCH_JOB_TIMER, | | WATCH_JOB_TIMER, | |
| WATCH_MOUNT, | | WATCH_MOUNT, | |
| WATCH_SWAP, | | WATCH_SWAP, | |
| WATCH_UDEV, | | WATCH_UDEV, | |
| WATCH_DBUS_WATCH, | | WATCH_DBUS_WATCH, | |
|
| WATCH_DBUS_TIMEOUT | | WATCH_DBUS_TIMEOUT, | |
| | | WATCH_TIME_CHANGE | |
| }; | | }; | |
| | | | |
| struct Watch { | | struct Watch { | |
| int fd; | | int fd; | |
| WatchType type; | | WatchType type; | |
| union { | | union { | |
| struct Unit *unit; | | struct Unit *unit; | |
| struct Job *job; | | struct Job *job; | |
| DBusWatch *bus_watch; | | DBusWatch *bus_watch; | |
| DBusTimeout *bus_timeout; | | DBusTimeout *bus_timeout; | |
| | | | |
| skipping to change at line 128 | | skipping to change at line 129 | |
| | | | |
| /* Units to check when doing GC */ | | /* Units to check when doing GC */ | |
| LIST_HEAD(Unit, gc_queue); | | LIST_HEAD(Unit, gc_queue); | |
| | | | |
| Hashmap *watch_pids; /* pid => Unit object n:1 */ | | Hashmap *watch_pids; /* pid => Unit object n:1 */ | |
| | | | |
| char *notify_socket; | | char *notify_socket; | |
| | | | |
| Watch notify_watch; | | Watch notify_watch; | |
| Watch signal_watch; | | Watch signal_watch; | |
|
| | | Watch time_change_watch; | |
| | | | |
| int epoll_fd; | | int epoll_fd; | |
| | | | |
| unsigned n_snapshots; | | unsigned n_snapshots; | |
| | | | |
| LookupPaths lookup_paths; | | LookupPaths lookup_paths; | |
| Set *unit_path_cache; | | Set *unit_path_cache; | |
| | | | |
| char **environment; | | char **environment; | |
| char **default_controllers; | | char **default_controllers; | |
| | | | |
| skipping to change at line 273 | | skipping to change at line 275 | |
| | | | |
| int manager_loop(Manager *m); | | int manager_loop(Manager *m); | |
| | | | |
| void manager_dispatch_bus_name_owner_changed(Manager *m, const char *name,
const char* old_owner, const char *new_owner); | | void manager_dispatch_bus_name_owner_changed(Manager *m, const char *name,
const char* old_owner, const char *new_owner); | |
| void manager_dispatch_bus_query_pid_done(Manager *m, const char *name, pid_
t pid); | | void manager_dispatch_bus_query_pid_done(Manager *m, const char *name, pid_
t pid); | |
| | | | |
| int manager_open_serialization(Manager *m, FILE **_f); | | int manager_open_serialization(Manager *m, FILE **_f); | |
| | | | |
| int manager_serialize(Manager *m, FILE *f, FDSet *fds, bool serialize_jobs)
; | | int manager_serialize(Manager *m, FILE *f, FDSet *fds, bool serialize_jobs)
; | |
| int manager_deserialize(Manager *m, FILE *f, FDSet *fds); | | int manager_deserialize(Manager *m, FILE *f, FDSet *fds); | |
|
| | | int manager_distribute_fds(Manager *m, FDSet *fds); | |
| | | | |
| int manager_reload(Manager *m); | | int manager_reload(Manager *m); | |
| | | | |
| bool manager_is_booting_or_shutting_down(Manager *m); | | bool manager_is_booting_or_shutting_down(Manager *m); | |
| | | | |
| void manager_reset_failed(Manager *m); | | void manager_reset_failed(Manager *m); | |
| | | | |
| void manager_send_unit_audit(Manager *m, Unit *u, int type, bool success); | | void manager_send_unit_audit(Manager *m, Unit *u, int type, bool success); | |
| void manager_send_unit_plymouth(Manager *m, Unit *u); | | void manager_send_unit_plymouth(Manager *m, Unit *u); | |
| | | | |
| | | | |
| skipping to change at line 294 | | skipping to change at line 297 | |
| | | | |
| void manager_check_finished(Manager *m); | | void manager_check_finished(Manager *m); | |
| | | | |
| void manager_run_generators(Manager *m); | | void manager_run_generators(Manager *m); | |
| void manager_undo_generators(Manager *m); | | void manager_undo_generators(Manager *m); | |
| | | | |
| void manager_recheck_journal(Manager *m); | | void manager_recheck_journal(Manager *m); | |
| | | | |
| void manager_set_show_status(Manager *m, bool b); | | void manager_set_show_status(Manager *m, bool b); | |
| bool manager_get_show_status(Manager *m); | | bool manager_get_show_status(Manager *m); | |
|
| | | | |
| | | void watch_init(Watch *w); | |
| | | | |
End of changes. 4 change blocks. |
| 1 lines changed or deleted | | 4 lines changed or added | |
|
| sd-messages.h | | sd-messages.h | |
| | | | |
| skipping to change at line 68 | | skipping to change at line 68 | |
| #define SD_MESSAGE_UNIT_STOPPING SD_ID128_MAKE(de,5b,42,6a,63,be,47,a7,b
6,ac,3e,aa,c8,2e,2f,6f) | | #define SD_MESSAGE_UNIT_STOPPING SD_ID128_MAKE(de,5b,42,6a,63,be,47,a7,b
6,ac,3e,aa,c8,2e,2f,6f) | |
| #define SD_MESSAGE_UNIT_STOPPED SD_ID128_MAKE(9d,1a,aa,27,d6,01,40,bd,9
6,36,54,38,aa,d2,02,86) | | #define SD_MESSAGE_UNIT_STOPPED SD_ID128_MAKE(9d,1a,aa,27,d6,01,40,bd,9
6,36,54,38,aa,d2,02,86) | |
| #define SD_MESSAGE_UNIT_FAILED SD_ID128_MAKE(be,02,cf,68,55,d2,42,8b,a
4,0d,f7,e9,d0,22,f0,3d) | | #define SD_MESSAGE_UNIT_FAILED SD_ID128_MAKE(be,02,cf,68,55,d2,42,8b,a
4,0d,f7,e9,d0,22,f0,3d) | |
| #define SD_MESSAGE_UNIT_RELOADING SD_ID128_MAKE(d3,4d,03,7f,ff,18,47,e6,a
e,66,9a,37,0e,69,47,25) | | #define SD_MESSAGE_UNIT_RELOADING SD_ID128_MAKE(d3,4d,03,7f,ff,18,47,e6,a
e,66,9a,37,0e,69,47,25) | |
| #define SD_MESSAGE_UNIT_RELOADED SD_ID128_MAKE(7b,05,eb,c6,68,38,42,22,b
a,a8,88,11,79,cf,da,54) | | #define SD_MESSAGE_UNIT_RELOADED SD_ID128_MAKE(7b,05,eb,c6,68,38,42,22,b
a,a8,88,11,79,cf,da,54) | |
| | | | |
| #define SD_MESSAGE_SPAWN_FAILED SD_ID128_MAKE(64,12,57,65,1c,1b,4e,c9,a
8,62,4d,7a,40,a9,e1,e7) | | #define SD_MESSAGE_SPAWN_FAILED SD_ID128_MAKE(64,12,57,65,1c,1b,4e,c9,a
8,62,4d,7a,40,a9,e1,e7) | |
| | | | |
| #define SD_MESSAGE_FORWARD_SYSLOG_MISSED SD_ID128_MAKE(00,27,22,9c,a0,64,41
,81,a7,6c,4e,92,45,8a,fa,2e) | | #define SD_MESSAGE_FORWARD_SYSLOG_MISSED SD_ID128_MAKE(00,27,22,9c,a0,64,41
,81,a7,6c,4e,92,45,8a,fa,2e) | |
| | | | |
|
| | | #define SD_MESSAGE_OVERMOUNTING SD_ID128_MAKE(1d,ee,03,69,c7,fc,47,36,b | |
| | | 7,09,9b,38,ec,b4,6e,e7) | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| } | | } | |
| #endif | | #endif | |
| | | | |
| #endif | | #endif | |
| | | | |
End of changes. 1 change blocks. |
| 0 lines changed or deleted | | 3 lines changed or added | |
|
| syscall-to-name.h | | syscall-to-name.h | |
| | | | |
| skipping to change at line 309 | | skipping to change at line 309 | |
| [__NR_iopl] = "iopl", | | [__NR_iopl] = "iopl", | |
| [__NR_gettimeofday] = "gettimeofday", | | [__NR_gettimeofday] = "gettimeofday", | |
| [__NR_fallocate] = "fallocate", | | [__NR_fallocate] = "fallocate", | |
| [__NR_getpgrp] = "getpgrp", | | [__NR_getpgrp] = "getpgrp", | |
| [__NR_recvmmsg] = "recvmmsg", | | [__NR_recvmmsg] = "recvmmsg", | |
| [__NR_eventfd2] = "eventfd2", | | [__NR_eventfd2] = "eventfd2", | |
| [__NR_mknod] = "mknod", | | [__NR_mknod] = "mknod", | |
| [__NR_statfs64] = "statfs64", | | [__NR_statfs64] = "statfs64", | |
| [__NR_faccessat] = "faccessat", | | [__NR_faccessat] = "faccessat", | |
| [__NR_fstatfs] = "fstatfs", | | [__NR_fstatfs] = "fstatfs", | |
|
| [__NR_set_robust_list] = "set_robust_list", | | | |
| [__NR_kexec_load] = "kexec_load", | | [__NR_kexec_load] = "kexec_load", | |
| [__NR_migrate_pages] = "migrate_pages", | | [__NR_migrate_pages] = "migrate_pages", | |
| [__NR_listxattr] = "listxattr", | | [__NR_listxattr] = "listxattr", | |
| [__NR_ptrace] = "ptrace", | | [__NR_ptrace] = "ptrace", | |
| [__NR_fadvise64] = "fadvise64", | | [__NR_fadvise64] = "fadvise64", | |
| [__NR_getegid] = "getegid", | | [__NR_getegid] = "getegid", | |
| [__NR_setrlimit] = "setrlimit", | | [__NR_setrlimit] = "setrlimit", | |
| [__NR_sigpending] = "sigpending", | | [__NR_sigpending] = "sigpending", | |
| [__NR_time] = "time", | | [__NR_time] = "time", | |
| [__NR_unlink] = "unlink", | | [__NR_unlink] = "unlink", | |
| | | | |
| skipping to change at line 341 | | skipping to change at line 340 | |
| [__NR_syncfs] = "syncfs", | | [__NR_syncfs] = "syncfs", | |
| [__NR_setsid] = "setsid", | | [__NR_setsid] = "setsid", | |
| [__NR_setfsgid] = "setfsgid", | | [__NR_setfsgid] = "setfsgid", | |
| [__NR_epoll_create] = "epoll_create", | | [__NR_epoll_create] = "epoll_create", | |
| [__NR_tgkill] = "tgkill", | | [__NR_tgkill] = "tgkill", | |
| [__NR_flock] = "flock", | | [__NR_flock] = "flock", | |
| [__NR_capget] = "capget", | | [__NR_capget] = "capget", | |
| [__NR_getpid] = "getpid", | | [__NR_getpid] = "getpid", | |
| [__NR_add_key] = "add_key", | | [__NR_add_key] = "add_key", | |
| [__NR_getrlimit] = "getrlimit", | | [__NR_getrlimit] = "getrlimit", | |
|
| | | [__NR_set_robust_list] = "set_robust_list", | |
| [__NR_setresuid32] = "setresuid32", | | [__NR_setresuid32] = "setresuid32", | |
| [__NR_waitpid] = "waitpid", | | [__NR_waitpid] = "waitpid", | |
| [__NR_tkill] = "tkill", | | [__NR_tkill] = "tkill", | |
| [__NR_epoll_wait] = "epoll_wait", | | [__NR_epoll_wait] = "epoll_wait", | |
| [__NR_sethostname] = "sethostname", | | [__NR_sethostname] = "sethostname", | |
| }; | | }; | |
| | | | |
End of changes. 2 change blocks. |
| 1 lines changed or deleted | | 1 lines changed or added | |
|
| unit.h | | unit.h | |
| | | | |
| skipping to change at line 313 | | skipping to change at line 313 | |
| | | | |
| bool (*can_reload)(Unit *u); | | bool (*can_reload)(Unit *u); | |
| | | | |
| /* Write all data that cannot be restored from other sources | | /* Write all data that cannot be restored from other sources | |
| * away using unit_serialize_item() */ | | * away using unit_serialize_item() */ | |
| int (*serialize)(Unit *u, FILE *f, FDSet *fds); | | int (*serialize)(Unit *u, FILE *f, FDSet *fds); | |
| | | | |
| /* Restore one item from the serialization */ | | /* Restore one item from the serialization */ | |
| int (*deserialize_item)(Unit *u, const char *key, const char *data,
FDSet *fds); | | int (*deserialize_item)(Unit *u, const char *key, const char *data,
FDSet *fds); | |
| | | | |
|
| | | /* Try to match up fds with what we need for this unit */ | |
| | | int (*distribute_fds)(Unit *u, FDSet *fds); | |
| | | | |
| /* Boils down the more complex internal state of this unit to | | /* Boils down the more complex internal state of this unit to | |
| * a simpler one that the engine can understand */ | | * a simpler one that the engine can understand */ | |
| UnitActiveState (*active_state)(Unit *u); | | UnitActiveState (*active_state)(Unit *u); | |
| | | | |
| /* Returns the substate specific to this unit type as | | /* Returns the substate specific to this unit type as | |
| * string. This is purely information so that we can give the | | * string. This is purely information so that we can give the | |
| * user a more fine grained explanation in which actual state a | | * user a more fine grained explanation in which actual state a | |
| * unit is in. */ | | * unit is in. */ | |
| const char* (*sub_state_to_string)(Unit *u); | | const char* (*sub_state_to_string)(Unit *u); | |
| | | | |
| | | | |
| skipping to change at line 361 | | skipping to change at line 364 | |
| | | | |
| /* Called for each message received on the bus */ | | /* Called for each message received on the bus */ | |
| DBusHandlerResult (*bus_message_handler)(Unit *u, DBusConnection *c
, DBusMessage *message); | | DBusHandlerResult (*bus_message_handler)(Unit *u, DBusConnection *c
, DBusMessage *message); | |
| | | | |
| /* Return the unit this unit is following */ | | /* Return the unit this unit is following */ | |
| Unit *(*following)(Unit *u); | | Unit *(*following)(Unit *u); | |
| | | | |
| /* Return the set of units that are following each other */ | | /* Return the set of units that are following each other */ | |
| int (*following_set)(Unit *u, Set **s); | | int (*following_set)(Unit *u, Set **s); | |
| | | | |
|
| | | /* Called whenever CLOCK_REALTIME made a jump */ | |
| | | void (*time_change)(Unit *u); | |
| | | | |
| /* This is called for each unit type and should be used to | | /* This is called for each unit type and should be used to | |
| * enumerate existing devices and load them. However, | | * enumerate existing devices and load them. However, | |
| * everything that is loaded here should still stay in | | * everything that is loaded here should still stay in | |
| * inactive state. It is the job of the coldplug() call above | | * inactive state. It is the job of the coldplug() call above | |
| * to put the units into the initial state. */ | | * to put the units into the initial state. */ | |
| int (*enumerate)(Manager *m); | | int (*enumerate)(Manager *m); | |
| | | | |
| /* Type specific cleanups. */ | | /* Type specific cleanups. */ | |
| void (*shutdown)(Manager *m); | | void (*shutdown)(Manager *m); | |
| | | | |
| | | | |
| skipping to change at line 487 | | skipping to change at line 493 | |
| int unit_kill(Unit *u, KillWho w, int signo, DBusError *error); | | int unit_kill(Unit *u, KillWho w, int signo, DBusError *error); | |
| | | | |
| void unit_notify(Unit *u, UnitActiveState os, UnitActiveState ns, bool relo
ad_success); | | void unit_notify(Unit *u, UnitActiveState os, UnitActiveState ns, bool relo
ad_success); | |
| | | | |
| int unit_watch_fd(Unit *u, int fd, uint32_t events, Watch *w); | | int unit_watch_fd(Unit *u, int fd, uint32_t events, Watch *w); | |
| void unit_unwatch_fd(Unit *u, Watch *w); | | void unit_unwatch_fd(Unit *u, Watch *w); | |
| | | | |
| int unit_watch_pid(Unit *u, pid_t pid); | | int unit_watch_pid(Unit *u, pid_t pid); | |
| void unit_unwatch_pid(Unit *u, pid_t pid); | | void unit_unwatch_pid(Unit *u, pid_t pid); | |
| | | | |
|
| int unit_watch_timer(Unit *u, usec_t delay, Watch *w); | | int unit_watch_timer(Unit *u, clockid_t, bool relative, usec_t usec, Watch
*w); | |
| void unit_unwatch_timer(Unit *u, Watch *w); | | void unit_unwatch_timer(Unit *u, Watch *w); | |
| | | | |
| int unit_watch_bus_name(Unit *u, const char *name); | | int unit_watch_bus_name(Unit *u, const char *name); | |
| void unit_unwatch_bus_name(Unit *u, const char *name); | | void unit_unwatch_bus_name(Unit *u, const char *name); | |
| | | | |
| bool unit_job_is_applicable(Unit *u, JobType j); | | bool unit_job_is_applicable(Unit *u, JobType j); | |
| | | | |
| int set_unit_path(const char *p); | | int set_unit_path(const char *p); | |
| | | | |
| char *unit_dbus_path(Unit *u); | | char *unit_dbus_path(Unit *u); | |
| | | | |
| skipping to change at line 552 | | skipping to change at line 558 | |
| | | | |
| int unit_exec_context_defaults(Unit *u, ExecContext *c); | | int unit_exec_context_defaults(Unit *u, ExecContext *c); | |
| | | | |
| ExecContext *unit_get_exec_context(Unit *u); | | ExecContext *unit_get_exec_context(Unit *u); | |
| | | | |
| const char *unit_active_state_to_string(UnitActiveState i); | | const char *unit_active_state_to_string(UnitActiveState i); | |
| UnitActiveState unit_active_state_from_string(const char *s); | | UnitActiveState unit_active_state_from_string(const char *s); | |
| | | | |
| const char *unit_dependency_to_string(UnitDependency i); | | const char *unit_dependency_to_string(UnitDependency i); | |
| UnitDependency unit_dependency_from_string(const char *s); | | UnitDependency unit_dependency_from_string(const char *s); | |
|
| | | | |
| | | #define log_full_unit(level, unit, ...) log_meta_object(level, __FILE__, | |
| | | __LINE__, __func__, "UNIT=", unit, __VA_ARGS__) | |
| | | #define log_debug_unit(unit, ...) log_full_unit(LOG_DEBUG, unit, __VA | |
| | | _ARGS__) | |
| | | #define log_info_unit(unit, ...) log_full_unit(LOG_INFO, unit, __VA_ | |
| | | ARGS__) | |
| | | #define log_notice_unit(unit, ...) log_full_unit(LOG_NOTICE, unit, __V | |
| | | A_ARGS__) | |
| | | #define log_warning_unit(unit, ...) log_full_unit(LOG_WARNING, unit, __ | |
| | | VA_ARGS__) | |
| | | #define log_error_unit(unit, ...) log_full_unit(LOG_ERR, unit, __VA_A | |
| | | RGS__) | |
| | | | |
End of changes. 4 change blocks. |
| 1 lines changed or deleted | | 7 lines changed or added | |
|
| util.h | | util.h | |
| | | | |
| skipping to change at line 41 | | skipping to change at line 41 | |
| #include <signal.h> | | #include <signal.h> | |
| #include <sched.h> | | #include <sched.h> | |
| #include <limits.h> | | #include <limits.h> | |
| #include <sys/types.h> | | #include <sys/types.h> | |
| #include <sys/stat.h> | | #include <sys/stat.h> | |
| #include <dirent.h> | | #include <dirent.h> | |
| #include <sys/resource.h> | | #include <sys/resource.h> | |
| #include <stddef.h> | | #include <stddef.h> | |
| | | | |
| #include "macro.h" | | #include "macro.h" | |
|
| | | #include "time-util.h" | |
| typedef uint64_t usec_t; | | | |
| typedef uint64_t nsec_t; | | | |
| | | | |
| typedef struct dual_timestamp { | | | |
| usec_t realtime; | | | |
| usec_t monotonic; | | | |
| } dual_timestamp; | | | |
| | | | |
| union dirent_storage { | | union dirent_storage { | |
| struct dirent de; | | struct dirent de; | |
| uint8_t storage[offsetof(struct dirent, d_name) + | | uint8_t storage[offsetof(struct dirent, d_name) + | |
| ((NAME_MAX + 1 + sizeof(long)) & ~(sizeof(long) - 1
))]; | | ((NAME_MAX + 1 + sizeof(long)) & ~(sizeof(long) - 1
))]; | |
| }; | | }; | |
| | | | |
|
| #define MSEC_PER_SEC 1000ULL | | | |
| #define USEC_PER_SEC 1000000ULL | | | |
| #define USEC_PER_MSEC 1000ULL | | | |
| #define NSEC_PER_SEC 1000000000ULL | | | |
| #define NSEC_PER_MSEC 1000000ULL | | | |
| #define NSEC_PER_USEC 1000ULL | | | |
| | | | |
| #define USEC_PER_MINUTE (60ULL*USEC_PER_SEC) | | | |
| #define NSEC_PER_MINUTE (60ULL*NSEC_PER_SEC) | | | |
| #define USEC_PER_HOUR (60ULL*USEC_PER_MINUTE) | | | |
| #define NSEC_PER_HOUR (60ULL*NSEC_PER_MINUTE) | | | |
| #define USEC_PER_DAY (24ULL*USEC_PER_HOUR) | | | |
| #define NSEC_PER_DAY (24ULL*NSEC_PER_HOUR) | | | |
| #define USEC_PER_WEEK (7ULL*USEC_PER_DAY) | | | |
| #define NSEC_PER_WEEK (7ULL*NSEC_PER_DAY) | | | |
| #define USEC_PER_MONTH (2629800ULL*USEC_PER_SEC) | | | |
| #define NSEC_PER_MONTH (2629800ULL*NSEC_PER_SEC) | | | |
| #define USEC_PER_YEAR (31557600ULL*USEC_PER_SEC) | | | |
| #define NSEC_PER_YEAR (31557600ULL*NSEC_PER_SEC) | | | |
| | | | |
| /* What is interpreted as whitespace? */ | | /* What is interpreted as whitespace? */ | |
| #define WHITESPACE " \t\n\r" | | #define WHITESPACE " \t\n\r" | |
| #define NEWLINE "\n\r" | | #define NEWLINE "\n\r" | |
| #define QUOTES "\"\'" | | #define QUOTES "\"\'" | |
| #define COMMENTS "#;\n" | | #define COMMENTS "#;\n" | |
| | | | |
|
| #define FORMAT_TIMESTAMP_MAX (5+11+9+4+1) | | | |
| #define FORMAT_TIMESTAMP_PRETTY_MAX 256 | | | |
| #define FORMAT_TIMESPAN_MAX 64 | | | |
| #define FORMAT_BYTES_MAX 8 | | #define FORMAT_BYTES_MAX 8 | |
| | | | |
| #define ANSI_HIGHLIGHT_ON "\x1B[1;39m" | | #define ANSI_HIGHLIGHT_ON "\x1B[1;39m" | |
| #define ANSI_HIGHLIGHT_RED_ON "\x1B[1;31m" | | #define ANSI_HIGHLIGHT_RED_ON "\x1B[1;31m" | |
| #define ANSI_HIGHLIGHT_GREEN_ON "\x1B[1;32m" | | #define ANSI_HIGHLIGHT_GREEN_ON "\x1B[1;32m" | |
| #define ANSI_HIGHLIGHT_YELLOW_ON "\x1B[1;33m" | | #define ANSI_HIGHLIGHT_YELLOW_ON "\x1B[1;33m" | |
| #define ANSI_HIGHLIGHT_OFF "\x1B[0m" | | #define ANSI_HIGHLIGHT_OFF "\x1B[0m" | |
| | | | |
| bool is_efiboot(void); | | bool is_efiboot(void); | |
| | | | |
|
| usec_t now(clockid_t clock); | | | |
| | | | |
| dual_timestamp* dual_timestamp_get(dual_timestamp *ts); | | | |
| dual_timestamp* dual_timestamp_from_realtime(dual_timestamp *ts, usec_t u); | | | |
| | | | |
| #define dual_timestamp_is_set(ts) ((ts)->realtime > 0) | | | |
| | | | |
| usec_t timespec_load(const struct timespec *ts); | | | |
| struct timespec *timespec_store(struct timespec *ts, usec_t u); | | | |
| | | | |
| usec_t timeval_load(const struct timeval *tv); | | | |
| struct timeval *timeval_store(struct timeval *tv, usec_t u); | | | |
| | | | |
| size_t page_size(void); | | size_t page_size(void); | |
| #define PAGE_ALIGN(l) ALIGN_TO((l), page_size()) | | #define PAGE_ALIGN(l) ALIGN_TO((l), page_size()) | |
| | | | |
| #define streq(a,b) (strcmp((a),(b)) == 0) | | #define streq(a,b) (strcmp((a),(b)) == 0) | |
| #define strneq(a, b, n) (strncmp((a), (b), (n)) == 0) | | #define strneq(a, b, n) (strncmp((a), (b), (n)) == 0) | |
| | | | |
| bool streq_ptr(const char *a, const char *b); | | bool streq_ptr(const char *a, const char *b); | |
| | | | |
| #define new(t, n) ((t*) malloc_multiply(sizeof(t), (n))) | | #define new(t, n) ((t*) malloc_multiply(sizeof(t), (n))) | |
| | | | |
| | | | |
| skipping to change at line 157 | | skipping to change at line 114 | |
| char *startswith(const char *s, const char *prefix); | | char *startswith(const char *s, const char *prefix); | |
| char *startswith_no_case(const char *s, const char *prefix); | | char *startswith_no_case(const char *s, const char *prefix); | |
| | | | |
| bool first_word(const char *s, const char *word); | | bool first_word(const char *s, const char *word); | |
| | | | |
| int close_nointr(int fd); | | int close_nointr(int fd); | |
| void close_nointr_nofail(int fd); | | void close_nointr_nofail(int fd); | |
| void close_many(const int fds[], unsigned n_fd); | | void close_many(const int fds[], unsigned n_fd); | |
| | | | |
| int parse_boolean(const char *v); | | int parse_boolean(const char *v); | |
|
| int parse_usec(const char *t, usec_t *usec); | | | |
| int parse_nsec(const char *t, nsec_t *nsec); | | | |
| int parse_bytes(const char *t, off_t *bytes); | | int parse_bytes(const char *t, off_t *bytes); | |
| int parse_pid(const char *s, pid_t* ret_pid); | | int parse_pid(const char *s, pid_t* ret_pid); | |
| int parse_uid(const char *s, uid_t* ret_uid); | | int parse_uid(const char *s, uid_t* ret_uid); | |
| #define parse_gid(s, ret_uid) parse_uid(s, ret_uid) | | #define parse_gid(s, ret_uid) parse_uid(s, ret_uid) | |
| | | | |
| int safe_atou(const char *s, unsigned *ret_u); | | int safe_atou(const char *s, unsigned *ret_u); | |
| int safe_atoi(const char *s, int *ret_i); | | int safe_atoi(const char *s, int *ret_i); | |
| | | | |
| int safe_atollu(const char *s, unsigned long long *ret_u); | | int safe_atollu(const char *s, unsigned long long *ret_u); | |
| int safe_atolli(const char *s, long long int *ret_i); | | int safe_atolli(const char *s, long long int *ret_i); | |
| | | | |
| skipping to change at line 286 | | skipping to change at line 241 | |
| | | | |
| char *ascii_strlower(char *path); | | char *ascii_strlower(char *path); | |
| | | | |
| bool dirent_is_file(const struct dirent *de); | | bool dirent_is_file(const struct dirent *de); | |
| bool dirent_is_file_with_suffix(const struct dirent *de, const char *suffix
); | | bool dirent_is_file_with_suffix(const struct dirent *de, const char *suffix
); | |
| | | | |
| bool ignore_file(const char *filename); | | bool ignore_file(const char *filename); | |
| | | | |
| bool chars_intersect(const char *a, const char *b); | | bool chars_intersect(const char *a, const char *b); | |
| | | | |
|
| char *format_timestamp(char *buf, size_t l, usec_t t); | | | |
| char *format_timestamp_pretty(char *buf, size_t l, usec_t t); | | | |
| char *format_timespan(char *buf, size_t l, usec_t t); | | | |
| | | | |
| int make_stdio(int fd); | | int make_stdio(int fd); | |
| int make_null_stdio(void); | | int make_null_stdio(void); | |
| int make_console_stdio(void); | | int make_console_stdio(void); | |
| | | | |
| unsigned long long random_ull(void); | | unsigned long long random_ull(void); | |
| | | | |
| /* For basic lookup tables with strictly enumerated entries */ | | /* For basic lookup tables with strictly enumerated entries */ | |
| #define __DEFINE_STRING_TABLE_LOOKUP(name,type,scope) \ | | #define __DEFINE_STRING_TABLE_LOOKUP(name,type,scope) \ | |
| scope const char *name##_to_string(type i) { \ | | scope const char *name##_to_string(type i) { \ | |
| if (i < 0 || i >= (type) ELEMENTSOF(name##_table)) \ | | if (i < 0 || i >= (type) ELEMENTSOF(name##_table)) \ | |
| | | | |
| skipping to change at line 445 | | skipping to change at line 396 | |
| int wait_for_terminate(pid_t pid, siginfo_t *status); | | int wait_for_terminate(pid_t pid, siginfo_t *status); | |
| int wait_for_terminate_and_warn(const char *name, pid_t pid); | | int wait_for_terminate_and_warn(const char *name, pid_t pid); | |
| | | | |
| _noreturn_ void freeze(void); | | _noreturn_ void freeze(void); | |
| | | | |
| bool null_or_empty(struct stat *st); | | bool null_or_empty(struct stat *st); | |
| int null_or_empty_path(const char *fn); | | int null_or_empty_path(const char *fn); | |
| | | | |
| DIR *xopendirat(int dirfd, const char *name, int flags); | | DIR *xopendirat(int dirfd, const char *name, int flags); | |
| | | | |
|
| void dual_timestamp_serialize(FILE *f, const char *name, dual_timestamp *t) | | | |
| ; | | | |
| void dual_timestamp_deserialize(const char *value, dual_timestamp *t); | | | |
| | | | |
| char *fstab_node_to_udev_node(const char *p); | | char *fstab_node_to_udev_node(const char *p); | |
| | | | |
| bool tty_is_vc(const char *tty); | | bool tty_is_vc(const char *tty); | |
| bool tty_is_vc_resolve(const char *tty); | | bool tty_is_vc_resolve(const char *tty); | |
| bool tty_is_console(const char *tty); | | bool tty_is_console(const char *tty); | |
| int vtnr_from_tty(const char *tty); | | int vtnr_from_tty(const char *tty); | |
| const char *default_term_for_tty(const char *tty); | | const char *default_term_for_tty(const char *tty); | |
| | | | |
| void execute_directory(const char *directory, DIR *_d, char *argv[]); | | void execute_directory(const char *directory, DIR *_d, char *argv[]); | |
| | | | |
| | | | |
| skipping to change at line 598 | | skipping to change at line 546 | |
| _malloc_ static inline void *memdup_multiply(const void *p, size_t a, size_
t b) { | | _malloc_ static inline void *memdup_multiply(const void *p, size_t a, size_
t b) { | |
| if (_unlikely_(b == 0 || a > ((size_t) -1) / b)) | | if (_unlikely_(b == 0 || a > ((size_t) -1) / b)) | |
| return NULL; | | return NULL; | |
| | | | |
| return memdup(p, a * b); | | return memdup(p, a * b); | |
| } | | } | |
| | | | |
| bool filename_is_safe(const char *p); | | bool filename_is_safe(const char *p); | |
| bool string_is_safe(const char *p); | | bool string_is_safe(const char *p); | |
| | | | |
|
| int parse_timestamp(const char *t, usec_t *usec); | | | |
| | | | |
| void *xbsearch_r(const void *key, const void *base, size_t nmemb, size_t si
ze, | | void *xbsearch_r(const void *key, const void *base, size_t nmemb, size_t si
ze, | |
| int (*compar) (const void *, const void *, void *), | | int (*compar) (const void *, const void *, void *), | |
| void *arg); | | void *arg); | |
| | | | |
| bool is_locale_utf8(void); | | bool is_locale_utf8(void); | |
| | | | |
| typedef enum DrawSpecialChar { | | typedef enum DrawSpecialChar { | |
| DRAW_TREE_VERT, | | DRAW_TREE_VERT, | |
| DRAW_TREE_BRANCH, | | DRAW_TREE_BRANCH, | |
| DRAW_TREE_RIGHT, | | DRAW_TREE_RIGHT, | |
| DRAW_TRIANGULAR_BULLET, | | DRAW_TRIANGULAR_BULLET, | |
| _DRAW_SPECIAL_CHAR_MAX | | _DRAW_SPECIAL_CHAR_MAX | |
| } DrawSpecialChar; | | } DrawSpecialChar; | |
| const char *draw_special_char(DrawSpecialChar ch); | | const char *draw_special_char(DrawSpecialChar ch); | |
| | | | |
| char *strreplace(const char *text, const char *old_string, const char *new_
string); | | char *strreplace(const char *text, const char *old_string, const char *new_
string); | |
|
| | | | |
| | | char *strip_tab_ansi(char **p, size_t *l); | |
| | | | |
| | | int on_ac_power(void); | |
| | | | |
End of changes. 9 change blocks. |
| 56 lines changed or deleted | | 1 lines changed or added | |
|