| config.h | | config.h | |
| | | | |
| skipping to change at line 19 | | skipping to change at line 19 | |
| | | | |
| /* Target Distribution */ | | /* Target Distribution */ | |
| #define DISTRIBUTION "other" | | #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 <attr/xattr.h> header file. */ | |
| | | #define HAVE_ATTR_XATTR_H 1 | |
| | | | |
| /* AUDIT available */ | | /* AUDIT available */ | |
| #define HAVE_AUDIT 1 | | #define HAVE_AUDIT 1 | |
| | | | |
| /* 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 | |
| | | you don't. */ | |
| | | #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. */ | |
| #define HAVE_DECL_PIVOT_ROOT 0 | | #define HAVE_DECL_PIVOT_ROOT 0 | |
| | | | |
| /* 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 | |
| | | | |
| | | | |
| skipping to change at line 66 | | skipping to change at line 73 | |
| | | | |
| /* Logind support available */ | | /* Logind support available */ | |
| #define HAVE_LOGIND 1 | | #define HAVE_LOGIND 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 if microhttpd is available */ | | /* Define if microhttpd is available */ | |
| #define HAVE_MICROHTTPD 1 | | #define HAVE_MICROHTTPD 1 | |
| | | | |
|
| /* Define to 1 if you have the `name_to_handle_at' function. */ | | | |
| /* #undef HAVE_NAME_TO_HANDLE_AT */ | | | |
| | | | |
| /* 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. */ | |
| | | | |
| skipping to change at line 123 | | skipping to change at line 127 | |
| | | | |
| /* 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/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 */ | |
| | | #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 | |
| | | | |
| /* 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/" | |
| | | | |
| | | | |
| skipping to change at line 146 | | skipping to change at line 153 | |
| /* 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 194" | | #define PACKAGE_STRING "systemd 195" | |
| | | | |
| /* 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 "194" | | #define PACKAGE_VERSION "195" | |
| | | | |
| /* Define to 1 if you have the ANSI C header files. */ | | /* Define to 1 if you have the ANSI C header files. */ | |
| #define STDC_HEADERS 1 | | #define STDC_HEADERS 1 | |
| | | | |
| /* Target is ALTLinux */ | | /* Target is ALTLinux */ | |
| /* #undef TARGET_ALTLINUX */ | | /* #undef TARGET_ALTLINUX */ | |
| | | | |
| /* Target is Ångström */ | | /* Target is Ångström */ | |
| /* #undef TARGET_ANGSTROM */ | | /* #undef TARGET_ANGSTROM */ | |
| | | | |
| | | | |
| skipping to change at line 221 | | skipping to change at line 228 | |
| /* 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 "194" | | #define VERSION "195" | |
| | | | |
| /* 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. */ | |
| | | | |
End of changes. 7 change blocks. |
| 6 lines changed or deleted | | 14 lines changed or added | |
|
| hashmap.h | | hashmap.h | |
| | | | |
| skipping to change at line 82 | | skipping to change at line 82 | |
| | | | |
| void hashmap_clear(Hashmap *h); | | void hashmap_clear(Hashmap *h); | |
| void hashmap_clear_free(Hashmap *h); | | void hashmap_clear_free(Hashmap *h); | |
| | | | |
| void *hashmap_steal_first(Hashmap *h); | | void *hashmap_steal_first(Hashmap *h); | |
| void *hashmap_steal_first_key(Hashmap *h); | | void *hashmap_steal_first_key(Hashmap *h); | |
| void* hashmap_first(Hashmap *h); | | void* hashmap_first(Hashmap *h); | |
| void* hashmap_first_key(Hashmap *h); | | void* hashmap_first_key(Hashmap *h); | |
| void* hashmap_last(Hashmap *h); | | void* hashmap_last(Hashmap *h); | |
| | | | |
|
| | | void *hashmap_next(Hashmap *h, const void *key); | |
| | | | |
| char **hashmap_get_strv(Hashmap *h); | | char **hashmap_get_strv(Hashmap *h); | |
| | | | |
| #define HASHMAP_FOREACH(e, h, i) \ | | #define HASHMAP_FOREACH(e, h, i) \ | |
| for ((i) = ITERATOR_FIRST, (e) = hashmap_iterate((h), &(i), NULL);
(e); (e) = hashmap_iterate((h), &(i), NULL)) | | for ((i) = ITERATOR_FIRST, (e) = hashmap_iterate((h), &(i), NULL);
(e); (e) = hashmap_iterate((h), &(i), NULL)) | |
| | | | |
| #define HASHMAP_FOREACH_KEY(e, k, h, i) \ | | #define HASHMAP_FOREACH_KEY(e, k, h, i) \ | |
| for ((i) = ITERATOR_FIRST, (e) = hashmap_iterate((h), &(i), (const
void**) &(k)); (e); (e) = hashmap_iterate((h), &(i), (const void**) &(k))) | | for ((i) = ITERATOR_FIRST, (e) = hashmap_iterate((h), &(i), (const
void**) &(k)); (e); (e) = hashmap_iterate((h), &(i), (const void**) &(k))) | |
| | | | |
| #define HASHMAP_FOREACH_BACKWARDS(e, h, i) \ | | #define HASHMAP_FOREACH_BACKWARDS(e, h, i) \ | |
| for ((i) = ITERATOR_LAST, (e) = hashmap_iterate_backwards((h), &(i)
, NULL); (e); (e) = hashmap_iterate_backwards((h), &(i), NULL)) | | for ((i) = ITERATOR_LAST, (e) = hashmap_iterate_backwards((h), &(i)
, NULL); (e); (e) = hashmap_iterate_backwards((h), &(i), NULL)) | |
| | | | |
End of changes. 1 change blocks. |
| 0 lines changed or deleted | | 2 lines changed or added | |
|
| journal-def.h | | journal-def.h | |
| | | | |
| skipping to change at line 30 | | skipping to change at line 30 | |
| You should have received a copy of the GNU Lesser General Public License | | You should have received a copy of the GNU Lesser General Public License | |
| along with systemd; If not, see <http://www.gnu.org/licenses/>. | | along with systemd; If not, see <http://www.gnu.org/licenses/>. | |
| ***/ | | ***/ | |
| | | | |
| #include "sparse-endian.h" | | #include "sparse-endian.h" | |
| | | | |
| #include <systemd/sd-id128.h> | | #include <systemd/sd-id128.h> | |
| | | | |
| #include "macro.h" | | #include "macro.h" | |
| | | | |
|
| | | /* | |
| | | * If you change this file you probably should also change its documentatio | |
| | | n: | |
| | | * | |
| | | * http://www.freedesktop.org/wiki/Software/systemd/journal-files | |
| | | * | |
| | | */ | |
| | | | |
| typedef struct Header Header; | | typedef struct Header Header; | |
| | | | |
| typedef struct ObjectHeader ObjectHeader; | | typedef struct ObjectHeader ObjectHeader; | |
| typedef union Object Object; | | typedef union Object Object; | |
| | | | |
| typedef struct DataObject DataObject; | | typedef struct DataObject DataObject; | |
| typedef struct FieldObject FieldObject; | | typedef struct FieldObject FieldObject; | |
| typedef struct EntryObject EntryObject; | | typedef struct EntryObject EntryObject; | |
| typedef struct HashTableObject HashTableObject; | | typedef struct HashTableObject HashTableObject; | |
| typedef struct EntryArrayObject EntryArrayObject; | | typedef struct EntryArrayObject EntryArrayObject; | |
| typedef struct TagObject TagObject; | | typedef struct TagObject TagObject; | |
| | | | |
| typedef struct EntryItem EntryItem; | | typedef struct EntryItem EntryItem; | |
| typedef struct HashItem HashItem; | | typedef struct HashItem HashItem; | |
| | | | |
| typedef struct FSSHeader FSSHeader; | | typedef struct FSSHeader FSSHeader; | |
| | | | |
| /* Object types */ | | /* Object types */ | |
| enum { | | enum { | |
| OBJECT_UNUSED, | | OBJECT_UNUSED, | |
|
| OBJECT_DATA, /* !!! */ | | OBJECT_DATA, | |
| OBJECT_FIELD, | | OBJECT_FIELD, | |
| OBJECT_ENTRY, | | OBJECT_ENTRY, | |
| OBJECT_DATA_HASH_TABLE, | | OBJECT_DATA_HASH_TABLE, | |
| OBJECT_FIELD_HASH_TABLE, | | OBJECT_FIELD_HASH_TABLE, | |
|
| 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 { | | _packed_ struct ObjectHeader { | |
| | | | |
| skipping to change at line 127 | | skipping to change at line 134 | |
| _packed_ struct EntryArrayObject { | | _packed_ struct EntryArrayObject { | |
| ObjectHeader object; | | ObjectHeader object; | |
| le64_t next_entry_array_offset; | | le64_t next_entry_array_offset; | |
| le64_t items[]; | | le64_t items[]; | |
| }; | | }; | |
| | | | |
| #define TAG_LENGTH (256/8) | | #define TAG_LENGTH (256/8) | |
| | | | |
| _packed_ struct TagObject { | | _packed_ struct TagObject { | |
| ObjectHeader object; | | ObjectHeader object; | |
|
| uint64_t seqnum; | | le64_t seqnum; | |
| uint64_t epoch; | | le64_t epoch; | |
| uint8_t tag[TAG_LENGTH]; /* SHA-256 HMAC */ | | uint8_t tag[TAG_LENGTH]; /* SHA-256 HMAC */ | |
| }; | | }; | |
| | | | |
| 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; | |
| | | | |
| skipping to change at line 172 | | skipping to change at line 179 | |
| 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; | |
| le64_t arena_size; | | le64_t arena_size; | |
|
| le64_t data_hash_table_offset; /* for looking up data objects *
/ | | le64_t data_hash_table_offset; | |
| le64_t data_hash_table_size; | | le64_t data_hash_table_size; | |
|
| le64_t field_hash_table_offset; /* for looking up field objects
*/ | | le64_t field_hash_table_offset; | |
| le64_t field_hash_table_size; | | le64_t field_hash_table_size; | |
| le64_t tail_object_offset; | | le64_t tail_object_offset; | |
| le64_t n_objects; | | le64_t n_objects; | |
| le64_t n_entries; | | le64_t n_entries; | |
| le64_t tail_entry_seqnum; | | le64_t tail_entry_seqnum; | |
| le64_t head_entry_seqnum; | | le64_t head_entry_seqnum; | |
| le64_t entry_array_offset; | | le64_t entry_array_offset; | |
| le64_t head_entry_realtime; | | le64_t head_entry_realtime; | |
| le64_t tail_entry_realtime; | | le64_t tail_entry_realtime; | |
| le64_t tail_entry_monotonic; | | le64_t tail_entry_monotonic; | |
| | | | |
End of changes. 6 change blocks. |
| 6 lines changed or deleted | | 14 lines changed or added | |
|
| journal-file.h | | journal-file.h | |
| | | | |
| skipping to change at line 158 | | skipping to change at line 158 | |
| uint64_t journal_file_entry_n_items(Object *o); | | uint64_t journal_file_entry_n_items(Object *o); | |
| uint64_t journal_file_entry_array_n_items(Object *o); | | uint64_t journal_file_entry_array_n_items(Object *o); | |
| uint64_t journal_file_hash_table_n_items(Object *o); | | uint64_t journal_file_hash_table_n_items(Object *o); | |
| | | | |
| int journal_file_append_object(JournalFile *f, int type, uint64_t size, Obj
ect **ret, uint64_t *offset); | | int journal_file_append_object(JournalFile *f, int type, uint64_t size, Obj
ect **ret, uint64_t *offset); | |
| int journal_file_append_entry(JournalFile *f, const dual_timestamp *ts, con
st struct iovec iovec[], unsigned n_iovec, uint64_t *seqno, Object **ret, u
int64_t *offset); | | int journal_file_append_entry(JournalFile *f, const dual_timestamp *ts, con
st struct iovec iovec[], unsigned n_iovec, uint64_t *seqno, Object **ret, u
int64_t *offset); | |
| | | | |
| int journal_file_find_data_object(JournalFile *f, const void *data, uint64_
t size, Object **ret, uint64_t *offset); | | int journal_file_find_data_object(JournalFile *f, const void *data, uint64_
t size, Object **ret, uint64_t *offset); | |
| int journal_file_find_data_object_with_hash(JournalFile *f, const void *dat
a, uint64_t size, uint64_t hash, Object **ret, uint64_t *offset); | | int journal_file_find_data_object_with_hash(JournalFile *f, const void *dat
a, uint64_t size, uint64_t hash, Object **ret, uint64_t *offset); | |
| | | | |
|
| | | int journal_file_find_field_object(JournalFile *f, const void *field, uint6 | |
| | | 4_t size, Object **ret, uint64_t *offset); | |
| | | int journal_file_find_field_object_with_hash(JournalFile *f, const void *fi | |
| | | eld, uint64_t size, uint64_t hash, Object **ret, uint64_t *offset); | |
| | | | |
| int journal_file_next_entry(JournalFile *f, Object *o, uint64_t p, directio
n_t direction, Object **ret, uint64_t *offset); | | int journal_file_next_entry(JournalFile *f, Object *o, uint64_t p, directio
n_t direction, Object **ret, uint64_t *offset); | |
| int journal_file_skip_entry(JournalFile *f, Object *o, uint64_t p, int64_t
skip, Object **ret, uint64_t *offset); | | int journal_file_skip_entry(JournalFile *f, Object *o, uint64_t p, int64_t
skip, Object **ret, uint64_t *offset); | |
| | | | |
| int journal_file_next_entry_for_data(JournalFile *f, Object *o, uint64_t p,
uint64_t data_offset, direction_t direction, Object **ret, uint64_t *offse
t); | | int journal_file_next_entry_for_data(JournalFile *f, Object *o, uint64_t p,
uint64_t data_offset, direction_t direction, Object **ret, uint64_t *offse
t); | |
| | | | |
| int journal_file_move_to_entry_by_offset(JournalFile *f, uint64_t seqnum, d
irection_t direction, Object **ret, uint64_t *offset); | | int journal_file_move_to_entry_by_offset(JournalFile *f, uint64_t seqnum, d
irection_t direction, Object **ret, uint64_t *offset); | |
| int journal_file_move_to_entry_by_seqnum(JournalFile *f, uint64_t seqnum, d
irection_t direction, Object **ret, uint64_t *offset); | | int journal_file_move_to_entry_by_seqnum(JournalFile *f, uint64_t seqnum, d
irection_t direction, Object **ret, uint64_t *offset); | |
| int journal_file_move_to_entry_by_realtime(JournalFile *f, uint64_t realtim
e, direction_t direction, Object **ret, uint64_t *offset); | | int journal_file_move_to_entry_by_realtime(JournalFile *f, uint64_t realtim
e, direction_t direction, Object **ret, uint64_t *offset); | |
| int journal_file_move_to_entry_by_monotonic(JournalFile *f, sd_id128_t boot
_id, uint64_t monotonic, direction_t direction, Object **ret, uint64_t *off
set); | | int journal_file_move_to_entry_by_monotonic(JournalFile *f, sd_id128_t boot
_id, uint64_t monotonic, direction_t direction, Object **ret, uint64_t *off
set); | |
| | | | |
| | | | |
| skipping to change at line 187 | | skipping to change at line 190 | |
| | | | |
| int journal_file_rotate(JournalFile **f, bool compress, bool seal); | | int journal_file_rotate(JournalFile **f, bool compress, bool seal); | |
| | | | |
| void journal_file_post_change(JournalFile *f); | | void journal_file_post_change(JournalFile *f); | |
| | | | |
| void journal_default_metrics(JournalMetrics *m, int fd); | | void journal_default_metrics(JournalMetrics *m, int fd); | |
| | | | |
| int journal_file_get_cutoff_realtime_usec(JournalFile *f, usec_t *from, use
c_t *to); | | int journal_file_get_cutoff_realtime_usec(JournalFile *f, usec_t *from, use
c_t *to); | |
| int journal_file_get_cutoff_monotonic_usec(JournalFile *f, sd_id128_t boot,
usec_t *from, usec_t *to); | | int journal_file_get_cutoff_monotonic_usec(JournalFile *f, sd_id128_t boot,
usec_t *from, usec_t *to); | |
| | | | |
|
| bool journal_file_rotate_suggested(JournalFile *f); | | bool journal_file_rotate_suggested(JournalFile *f, usec_t max_file_usec); | |
| | | | |
End of changes. 2 change blocks. |
| 0 lines changed or deleted | | 5 lines changed or added | |
|
| journald-syslog.h | | journald-syslog.h | |
| | | | |
| skipping to change at line 29 | | skipping to change at line 29 | |
| | | | |
| You should have received a copy of the GNU Lesser General Public License | | You should have received a copy of the GNU Lesser General Public License | |
| along with systemd; If not, see <http://www.gnu.org/licenses/>. | | along with systemd; If not, see <http://www.gnu.org/licenses/>. | |
| ***/ | | ***/ | |
| | | | |
| #include "journald.h" | | #include "journald.h" | |
| | | | |
| int syslog_fixup_facility(int priority); | | int syslog_fixup_facility(int priority); | |
| | | | |
| void syslog_parse_priority(char **p, int *priority); | | void syslog_parse_priority(char **p, int *priority); | |
|
| void syslog_parse_identifier(const char **buf, char **identifier, char **pi
d); | | size_t syslog_parse_identifier(const char **buf, char **identifier, char **
pid); | |
| | | | |
| void server_forward_syslog(Server *s, int priority, const char *identifier,
const char *message, struct ucred *ucred, struct timeval *tv); | | void server_forward_syslog(Server *s, int priority, const char *identifier,
const char *message, struct ucred *ucred, struct timeval *tv); | |
| | | | |
| void server_process_syslog_message(Server *s, const char *buf, struct ucred
*ucred, struct timeval *tv, const char *label, size_t label_len); | | void server_process_syslog_message(Server *s, const char *buf, struct ucred
*ucred, struct timeval *tv, const char *label, size_t label_len); | |
| int server_open_syslog_socket(Server *s); | | int server_open_syslog_socket(Server *s); | |
| | | | |
| void server_maybe_warn_forward_syslog_missed(Server *s); | | void server_maybe_warn_forward_syslog_missed(Server *s); | |
| | | | |
End of changes. 1 change blocks. |
| 1 lines changed or deleted | | 1 lines changed or added | |
|
| journald.h | | journald.h | |
| | | | |
| skipping to change at line 25 | | skipping to change at line 25 | |
| systemd is distributed in the hope that it will be useful, but | | systemd is distributed in the hope that it will be useful, but | |
| WITHOUT ANY WARRANTY; without even the implied warranty of | | WITHOUT ANY WARRANTY; without even the implied warranty of | |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
| Lesser General Public License for more details. | | Lesser General Public License for more details. | |
| | | | |
| You should have received a copy of the GNU Lesser General Public License | | You should have received a copy of the GNU Lesser General Public License | |
| along with systemd; If not, see <http://www.gnu.org/licenses/>. | | along with systemd; If not, see <http://www.gnu.org/licenses/>. | |
| ***/ | | ***/ | |
| | | | |
| #include <inttypes.h> | | #include <inttypes.h> | |
|
| #include <sys/types.h> | | | |
| #include <stdbool.h> | | #include <stdbool.h> | |
|
| | | #include <sys/types.h> | |
| | | #include <sys/socket.h> | |
| | | | |
| #include "journal-file.h" | | #include "journal-file.h" | |
| #include "hashmap.h" | | #include "hashmap.h" | |
| #include "util.h" | | #include "util.h" | |
| #include "audit.h" | | #include "audit.h" | |
| #include "journald-rate-limit.h" | | #include "journald-rate-limit.h" | |
| #include "list.h" | | #include "list.h" | |
| | | | |
| typedef enum Storage { | | typedef enum Storage { | |
| STORAGE_AUTO, | | STORAGE_AUTO, | |
| | | | |
| skipping to change at line 93 | | skipping to change at line 94 | |
| bool forward_to_console; | | bool forward_to_console; | |
| | | | |
| unsigned n_forward_syslog_missed; | | unsigned n_forward_syslog_missed; | |
| usec_t last_warn_forward_syslog_missed; | | usec_t last_warn_forward_syslog_missed; | |
| | | | |
| uint64_t cached_available_space; | | uint64_t cached_available_space; | |
| usec_t cached_available_space_timestamp; | | usec_t cached_available_space_timestamp; | |
| | | | |
| uint64_t var_available_timestamp; | | uint64_t var_available_timestamp; | |
| | | | |
|
| | | usec_t max_retention_usec; | |
| | | usec_t max_file_usec; | |
| | | usec_t oldest_file_usec; | |
| | | | |
| gid_t file_gid; | | gid_t file_gid; | |
| bool file_gid_valid; | | bool file_gid_valid; | |
| | | | |
| LIST_HEAD(StdoutStream, stdout_streams); | | LIST_HEAD(StdoutStream, stdout_streams); | |
| unsigned n_stdout_streams; | | unsigned n_stdout_streams; | |
| | | | |
| char *tty_path; | | char *tty_path; | |
| | | | |
| int max_level_store; | | int max_level_store; | |
| int max_level_syslog; | | int max_level_syslog; | |
| | | | |
End of changes. 3 change blocks. |
| 1 lines changed or deleted | | 6 lines changed or added | |
|
| libudev-private.h | | libudev-private.h | |
| | | | |
| skipping to change at line 53 | | skipping to change at line 53 | |
| __attribute__((format(printf, 6, 7))); | | __attribute__((format(printf, 6, 7))); | |
| int udev_get_rules_path(struct udev *udev, char **path[], unsigned long lon
g *ts_usec[]); | | int udev_get_rules_path(struct udev *udev, char **path[], unsigned long lon
g *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); | |
| 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 unique); | | 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); | |
| int udev_device_read_db(struct udev_device *udev_device, const char *dbfile
); | | int udev_device_read_db(struct udev_device *udev_device, const char *dbfile
); | |
| int udev_device_read_uevent_file(struct udev_device *udev_device); | | int udev_device_read_uevent_file(struct udev_device *udev_device); | |
| int udev_device_set_action(struct udev_device *udev_device, const char *act
ion); | | int udev_device_set_action(struct udev_device *udev_device, const char *act
ion); | |
| const char *udev_device_get_devpath_old(struct udev_device *udev_device); | | const char *udev_device_get_devpath_old(struct udev_device *udev_device); | |
| | | | |
End of changes. 1 change blocks. |
| 1 lines changed or deleted | | 1 lines changed or added | |
|
| missing.h | | missing.h | |
| | | | |
| skipping to change at line 211 | | skipping to change at line 211 | |
| #endif | | #endif | |
| | | | |
| #ifndef PR_SET_CHILD_SUBREAPER | | #ifndef PR_SET_CHILD_SUBREAPER | |
| #define PR_SET_CHILD_SUBREAPER 36 | | #define PR_SET_CHILD_SUBREAPER 36 | |
| #endif | | #endif | |
| | | | |
| #ifndef MAX_HANDLE_SZ | | #ifndef MAX_HANDLE_SZ | |
| #define MAX_HANDLE_SZ 128 | | #define MAX_HANDLE_SZ 128 | |
| #endif | | #endif | |
| | | | |
|
| #ifdef __x86_64__ | | #if defined __x86_64__ | |
| # ifndef __NR_name_to_handle_at | | # ifndef __NR_name_to_handle_at | |
| # define __NR_name_to_handle_at 303 | | # define __NR_name_to_handle_at 303 | |
| # endif | | # endif | |
|
| #else | | #elif defined __i386__ | |
| # ifndef __NR_name_to_handle_at | | # ifndef __NR_name_to_handle_at | |
| # define __NR_name_to_handle_at 341 | | # define __NR_name_to_handle_at 341 | |
| # endif | | # endif | |
|
| | | #elif defined __arm__ | |
| | | # ifndef __NR_name_to_handle_at | |
| | | # define __NR_name_to_handle_at 370 | |
| | | # endif | |
| | | #elif defined __powerpc__ | |
| | | # ifndef __NR_name_to_handle_at | |
| | | # define __NR_name_to_handle_at 345 | |
| | | # endif | |
| | | #else | |
| | | # ifndef __NR_name_to_handle_at | |
| | | # error __NR_name_to_handle_at is not defined | |
| | | # endif | |
| #endif | | #endif | |
| | | | |
|
| #ifndef HAVE_NAME_TO_HANDLE_AT | | #if !HAVE_DECL_NAME_TO_HANDLE_AT | |
| struct file_handle { | | struct file_handle { | |
| unsigned int handle_bytes; | | unsigned int handle_bytes; | |
| int handle_type; | | int handle_type; | |
| unsigned char f_handle[0]; | | unsigned char f_handle[0]; | |
| }; | | }; | |
| | | | |
| static inline int name_to_handle_at(int fd, const char *name, struct file_h
andle *handle, int *mnt_id, int flags) { | | static inline int name_to_handle_at(int fd, const char *name, struct file_h
andle *handle, int *mnt_id, int flags) { | |
| return syscall(__NR_name_to_handle_at, fd, name, handle, mnt_id, fl
ags); | | return syscall(__NR_name_to_handle_at, fd, name, handle, mnt_id, fl
ags); | |
| } | | } | |
| #endif | | #endif | |
| | | | |
End of changes. 4 change blocks. |
| 3 lines changed or deleted | | 15 lines changed or added | |
|
| sd-id128.h | | sd-id128.h | |
| | | | |
| skipping to change at line 63 | | skipping to change at line 63 | |
| 0x##v8, 0x##v9, 0x##v10, 0x##v11, 0x##v1
2, 0x##v13, 0x##v14, 0x##v15 }}) | | 0x##v8, 0x##v9, 0x##v10, 0x##v11, 0x##v1
2, 0x##v13, 0x##v14, 0x##v15 }}) | |
| | | | |
| /* Note that SD_ID128_FORMAT_VAL will evaluate the passed argument 16 | | /* Note that SD_ID128_FORMAT_VAL will evaluate the passed argument 16 | |
| * times. It is hence not a good idea to call this macro with an | | * times. It is hence not a good idea to call this macro with an | |
| * expensive function as paramater or an expression with side | | * expensive function as paramater or an expression with side | |
| * effects */ | | * effects */ | |
| | | | |
| #define SD_ID128_FORMAT_STR "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%0
2x%02x%02x%02x%02x" | | #define SD_ID128_FORMAT_STR "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%0
2x%02x%02x%02x%02x" | |
| #define SD_ID128_FORMAT_VAL(x) (x).bytes[0], (x).bytes[1], (x).bytes[2], (x
).bytes[3], (x).bytes[4], (x).bytes[5], (x).bytes[6], (x).bytes[7], (x).byt
es[8], (x).bytes[9], (x).bytes[10], (x).bytes[11], (x).bytes[12], (x).bytes
[13], (x).bytes[14], (x).bytes[15] | | #define SD_ID128_FORMAT_VAL(x) (x).bytes[0], (x).bytes[1], (x).bytes[2], (x
).bytes[3], (x).bytes[4], (x).bytes[5], (x).bytes[6], (x).bytes[7], (x).byt
es[8], (x).bytes[9], (x).bytes[10], (x).bytes[11], (x).bytes[12], (x).bytes
[13], (x).bytes[14], (x).bytes[15] | |
| | | | |
|
| | | #define SD_ID128_CONST_STR(x) \ | |
| | | ((char[33]) { \ | |
| | | ((x).bytes[0] >> 4) >= 10 ? 'a' + ((x).bytes[0] >> 4) - 10 | |
| | | : '0' + ((x).bytes[0] >> 4), \ | |
| | | ((x).bytes[0] & 15) >= 10 ? 'a' + ((x).bytes[0] & 15) - 10 | |
| | | : '0' + ((x).bytes[0] & 15), \ | |
| | | ((x).bytes[1] >> 4) >= 10 ? 'a' + ((x).bytes[1] >> 4) - 10 | |
| | | : '0' + ((x).bytes[1] >> 4), \ | |
| | | ((x).bytes[1] & 15) >= 10 ? 'a' + ((x).bytes[1] & 15) - 10 | |
| | | : '0' + ((x).bytes[1] & 15), \ | |
| | | ((x).bytes[2] >> 4) >= 10 ? 'a' + ((x).bytes[2] >> 4) - 10 | |
| | | : '0' + ((x).bytes[2] >> 4), \ | |
| | | ((x).bytes[2] & 15) >= 10 ? 'a' + ((x).bytes[2] & 15) - 10 | |
| | | : '0' + ((x).bytes[2] & 15), \ | |
| | | ((x).bytes[3] >> 4) >= 10 ? 'a' + ((x).bytes[3] >> 4) - 10 | |
| | | : '0' + ((x).bytes[3] >> 4), \ | |
| | | ((x).bytes[3] & 15) >= 10 ? 'a' + ((x).bytes[3] & 15) - 10 | |
| | | : '0' + ((x).bytes[3] & 15), \ | |
| | | ((x).bytes[4] >> 4) >= 10 ? 'a' + ((x).bytes[4] >> 4) - 10 | |
| | | : '0' + ((x).bytes[4] >> 4), \ | |
| | | ((x).bytes[4] & 15) >= 10 ? 'a' + ((x).bytes[4] & 15) - 10 | |
| | | : '0' + ((x).bytes[4] & 15), \ | |
| | | ((x).bytes[5] >> 4) >= 10 ? 'a' + ((x).bytes[5] >> 4) - 10 | |
| | | : '0' + ((x).bytes[5] >> 4), \ | |
| | | ((x).bytes[5] & 15) >= 10 ? 'a' + ((x).bytes[5] & 15) - 10 | |
| | | : '0' + ((x).bytes[5] & 15), \ | |
| | | ((x).bytes[6] >> 4) >= 10 ? 'a' + ((x).bytes[6] >> 4) - 10 | |
| | | : '0' + ((x).bytes[6] >> 4), \ | |
| | | ((x).bytes[6] & 15) >= 10 ? 'a' + ((x).bytes[6] & 15) - 10 | |
| | | : '0' + ((x).bytes[6] & 15), \ | |
| | | ((x).bytes[7] >> 4) >= 10 ? 'a' + ((x).bytes[7] >> 4) - 10 | |
| | | : '0' + ((x).bytes[7] >> 4), \ | |
| | | ((x).bytes[7] & 15) >= 10 ? 'a' + ((x).bytes[7] & 15) - 10 | |
| | | : '0' + ((x).bytes[7] & 15), \ | |
| | | ((x).bytes[8] >> 4) >= 10 ? 'a' + ((x).bytes[8] >> 4) - 10 | |
| | | : '0' + ((x).bytes[8] >> 4), \ | |
| | | ((x).bytes[8] & 15) >= 10 ? 'a' + ((x).bytes[8] & 15) - 10 | |
| | | : '0' + ((x).bytes[8] & 15), \ | |
| | | ((x).bytes[9] >> 4) >= 10 ? 'a' + ((x).bytes[9] >> 4) - 10 | |
| | | : '0' + ((x).bytes[9] >> 4), \ | |
| | | ((x).bytes[9] & 15) >= 10 ? 'a' + ((x).bytes[9] & 15) - 10 | |
| | | : '0' + ((x).bytes[9] & 15), \ | |
| | | ((x).bytes[10] >> 4) >= 10 ? 'a' + ((x).bytes[10] >> 4) - 1 | |
| | | 0 : '0' + ((x).bytes[10] >> 4), \ | |
| | | ((x).bytes[10] & 15) >= 10 ? 'a' + ((x).bytes[10] & 15) - 1 | |
| | | 0 : '0' + ((x).bytes[10] & 15), \ | |
| | | ((x).bytes[11] >> 4) >= 10 ? 'a' + ((x).bytes[11] >> 4) - 1 | |
| | | 0 : '0' + ((x).bytes[11] >> 4), \ | |
| | | ((x).bytes[11] & 15) >= 10 ? 'a' + ((x).bytes[11] & 15) - 1 | |
| | | 0 : '0' + ((x).bytes[11] & 15), \ | |
| | | ((x).bytes[12] >> 4) >= 10 ? 'a' + ((x).bytes[12] >> 4) - 1 | |
| | | 0 : '0' + ((x).bytes[12] >> 4), \ | |
| | | ((x).bytes[12] & 15) >= 10 ? 'a' + ((x).bytes[12] & 15) - 1 | |
| | | 0 : '0' + ((x).bytes[12] & 15), \ | |
| | | ((x).bytes[13] >> 4) >= 10 ? 'a' + ((x).bytes[13] >> 4) - 1 | |
| | | 0 : '0' + ((x).bytes[13] >> 4), \ | |
| | | ((x).bytes[13] & 15) >= 10 ? 'a' + ((x).bytes[13] & 15) - 1 | |
| | | 0 : '0' + ((x).bytes[13] & 15), \ | |
| | | ((x).bytes[14] >> 4) >= 10 ? 'a' + ((x).bytes[14] >> 4) - 1 | |
| | | 0 : '0' + ((x).bytes[14] >> 4), \ | |
| | | ((x).bytes[14] & 15) >= 10 ? 'a' + ((x).bytes[14] & 15) - 1 | |
| | | 0 : '0' + ((x).bytes[14] & 15), \ | |
| | | ((x).bytes[15] >> 4) >= 10 ? 'a' + ((x).bytes[15] >> 4) - 1 | |
| | | 0 : '0' + ((x).bytes[15] >> 4), \ | |
| | | ((x).bytes[15] & 15) >= 10 ? 'a' + ((x).bytes[15] & 15) - 1 | |
| | | 0 : '0' + ((x).bytes[15] & 15), \ | |
| | | 0 }) | |
| | | | |
| static inline int sd_id128_equal(sd_id128_t a, sd_id128_t b) { | | static inline int sd_id128_equal(sd_id128_t a, sd_id128_t b) { | |
| return memcmp(&a, &b, 16) == 0; | | return memcmp(&a, &b, 16) == 0; | |
| } | | } | |
| | | | |
| #define SD_ID128_NULL ((sd_id128_t) { .qwords = { 0, 0 }}) | | #define SD_ID128_NULL ((sd_id128_t) { .qwords = { 0, 0 }}) | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| } | | } | |
| #endif | | #endif | |
| | | | |
| | | | |
End of changes. 1 change blocks. |
| 0 lines changed or deleted | | 68 lines changed or added | |
|
| sd-journal.h | | sd-journal.h | |
| | | | |
| skipping to change at line 73 | | skipping to change at line 73 | |
| #define sd_journal_perror(message) sd_journal_perror_with_location("CODE_FI
LE=" __FILE__, "CODE_LINE=" _sd_STRINGIFY(__LINE__), __func__, message) | | #define sd_journal_perror(message) sd_journal_perror_with_location("CODE_FI
LE=" __FILE__, "CODE_LINE=" _sd_STRINGIFY(__LINE__), __func__, message) | |
| | | | |
| #endif | | #endif | |
| | | | |
| int sd_journal_stream_fd(const char *identifier, int priority, int level_pr
efix); | | int sd_journal_stream_fd(const char *identifier, int priority, int level_pr
efix); | |
| | | | |
| /* Browse journal stream */ | | /* Browse journal stream */ | |
| | | | |
| typedef struct sd_journal sd_journal; | | typedef struct sd_journal sd_journal; | |
| | | | |
|
| | | /* Open flags */ | |
| enum { | | enum { | |
| SD_JOURNAL_LOCAL_ONLY = 1, | | SD_JOURNAL_LOCAL_ONLY = 1, | |
| SD_JOURNAL_RUNTIME_ONLY = 2, | | SD_JOURNAL_RUNTIME_ONLY = 2, | |
| SD_JOURNAL_SYSTEM_ONLY = 4 | | SD_JOURNAL_SYSTEM_ONLY = 4 | |
| }; | | }; | |
| | | | |
|
| | | /* Wakeup event types */ | |
| | | enum { | |
| | | SD_JOURNAL_NOP, | |
| | | SD_JOURNAL_APPEND, | |
| | | SD_JOURNAL_INVALIDATE | |
| | | }; | |
| | | | |
| int sd_journal_open(sd_journal **ret, int flags); | | int sd_journal_open(sd_journal **ret, int flags); | |
| int sd_journal_open_directory(sd_journal **ret, const char *path, int flags
); | | int sd_journal_open_directory(sd_journal **ret, const char *path, int flags
); | |
| void sd_journal_close(sd_journal *j); | | void sd_journal_close(sd_journal *j); | |
| | | | |
| int sd_journal_previous(sd_journal *j); | | int sd_journal_previous(sd_journal *j); | |
| int sd_journal_next(sd_journal *j); | | int sd_journal_next(sd_journal *j); | |
| | | | |
| int sd_journal_previous_skip(sd_journal *j, uint64_t skip); | | int sd_journal_previous_skip(sd_journal *j, uint64_t skip); | |
| int sd_journal_next_skip(sd_journal *j, uint64_t skip); | | int sd_journal_next_skip(sd_journal *j, uint64_t skip); | |
| | | | |
| | | | |
| skipping to change at line 107 | | skipping to change at line 115 | |
| int sd_journal_add_disjunction(sd_journal *j); | | int sd_journal_add_disjunction(sd_journal *j); | |
| void sd_journal_flush_matches(sd_journal *j); | | void sd_journal_flush_matches(sd_journal *j); | |
| | | | |
| int sd_journal_seek_head(sd_journal *j); | | int sd_journal_seek_head(sd_journal *j); | |
| int sd_journal_seek_tail(sd_journal *j); | | int sd_journal_seek_tail(sd_journal *j); | |
| int sd_journal_seek_monotonic_usec(sd_journal *j, sd_id128_t boot_id, uint6
4_t usec); | | int sd_journal_seek_monotonic_usec(sd_journal *j, sd_id128_t boot_id, uint6
4_t usec); | |
| int sd_journal_seek_realtime_usec(sd_journal *j, uint64_t usec); | | int sd_journal_seek_realtime_usec(sd_journal *j, uint64_t usec); | |
| int sd_journal_seek_cursor(sd_journal *j, const char *cursor); | | int sd_journal_seek_cursor(sd_journal *j, const char *cursor); | |
| | | | |
| int sd_journal_get_cursor(sd_journal *j, char **cursor); | | int sd_journal_get_cursor(sd_journal *j, char **cursor); | |
|
| | | int sd_journal_test_cursor(sd_journal *j, const char *cursor); | |
| | | | |
| int sd_journal_get_cutoff_realtime_usec(sd_journal *j, uint64_t *from, uint
64_t *to); | | int sd_journal_get_cutoff_realtime_usec(sd_journal *j, uint64_t *from, uint
64_t *to); | |
| int sd_journal_get_cutoff_monotonic_usec(sd_journal *j, const sd_id128_t bo
ot_id, uint64_t *from, uint64_t *to); | | int sd_journal_get_cutoff_monotonic_usec(sd_journal *j, const sd_id128_t bo
ot_id, uint64_t *from, uint64_t *to); | |
| | | | |
| int sd_journal_get_usage(sd_journal *j, uint64_t *bytes); | | int sd_journal_get_usage(sd_journal *j, uint64_t *bytes); | |
| | | | |
|
| /* int sd_journal_query_unique(sd_journal *j, const char *field); /\* | | int sd_journal_query_unique(sd_journal *j, const char *field); | |
| missing *\/ */ | | int sd_journal_enumerate_unique(sd_journal *j, const void **data, size_t *l | |
| /* int sd_journal_enumerate_unique(sd_journal *j, const void **data, size_t | | ); | |
| *l); /\* missing *\/ */ | | void sd_journal_restart_unique(sd_journal *j); | |
| /* void sd_journal_restart_unique(sd_journal *j); /\* | | | |
| missing *\/ */ | | | |
| | | | |
| enum { | | | |
| SD_JOURNAL_NOP, | | | |
| SD_JOURNAL_APPEND, | | | |
| SD_JOURNAL_INVALIDATE | | | |
| }; | | | |
| | | | |
| int sd_journal_get_fd(sd_journal *j); | | int sd_journal_get_fd(sd_journal *j); | |
| int sd_journal_process(sd_journal *j); | | int sd_journal_process(sd_journal *j); | |
| int sd_journal_wait(sd_journal *j, uint64_t timeout_usec); | | int sd_journal_wait(sd_journal *j, uint64_t timeout_usec); | |
| | | | |
| #define SD_JOURNAL_FOREACH(j) \ | | #define SD_JOURNAL_FOREACH(j) \ | |
| if (sd_journal_seek_head(j) >= 0) \ | | if (sd_journal_seek_head(j) >= 0) \ | |
| while (sd_journal_next(j) > 0) | | while (sd_journal_next(j) > 0) | |
| | | | |
| #define SD_JOURNAL_FOREACH_BACKWARDS(j) \ | | #define SD_JOURNAL_FOREACH_BACKWARDS(j) \ | |
| if (sd_journal_seek_tail(j) >= 0) \ | | if (sd_journal_seek_tail(j) >= 0) \ | |
| while (sd_journal_previous(j) > 0) | | while (sd_journal_previous(j) > 0) | |
| | | | |
| #define SD_JOURNAL_FOREACH_DATA(j, data, l) \ | | #define SD_JOURNAL_FOREACH_DATA(j, data, l) \ | |
| for (sd_journal_restart_data(j); sd_journal_enumerate_data((j), &(d
ata), &(l)) > 0; ) | | for (sd_journal_restart_data(j); sd_journal_enumerate_data((j), &(d
ata), &(l)) > 0; ) | |
| | | | |
|
| /* #define SD_JOURNAL_FOREACH_UNIQUE(j, data, l) | | #define SD_JOURNAL_FOREACH_UNIQUE(j, data, l) \ | |
| \ */ | | for (sd_journal_restart_unique(j); sd_journal_enumerate_unique((j), | |
| /* for (sd_journal_restart_unique(j); sd_journal_enumerate_data((j) | | &(data), &(l)) > 0; ) | |
| , &(data), &(l)) > 0; ) */ | | | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| } | | } | |
| #endif | | #endif | |
| | | | |
| #endif | | #endif | |
| | | | |
End of changes. 5 change blocks. |
| 16 lines changed or deleted | | 16 lines changed or added | |
|
| sd-messages.h | | sd-messages.h | |
| | | | |
| skipping to change at line 61 | | skipping to change at line 61 | |
| #define SD_MESSAGE_SHUTDOWN SD_ID128_MAKE(98,26,88,66,d1,d5,4a,49,9
c,4e,98,92,1d,93,bc,40) | | #define SD_MESSAGE_SHUTDOWN SD_ID128_MAKE(98,26,88,66,d1,d5,4a,49,9
c,4e,98,92,1d,93,bc,40) | |
| | | | |
| #define SD_MESSAGE_UNIT_STARTING SD_ID128_MAKE(7d,49,58,e8,42,da,4a,75,8
f,6c,1c,dc,7b,36,dc,c5) | | #define SD_MESSAGE_UNIT_STARTING SD_ID128_MAKE(7d,49,58,e8,42,da,4a,75,8
f,6c,1c,dc,7b,36,dc,c5) | |
| #define SD_MESSAGE_UNIT_STARTED SD_ID128_MAKE(39,f5,34,79,d3,a0,45,ac,8
e,11,78,62,48,23,1f,bf) | | #define SD_MESSAGE_UNIT_STARTED SD_ID128_MAKE(39,f5,34,79,d3,a0,45,ac,8
e,11,78,62,48,23,1f,bf) | |
| #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_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) | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| } | | } | |
| #endif | | #endif | |
| | | | |
| #endif | | #endif | |
| | | | |
End of changes. 1 change blocks. |
| 0 lines changed or deleted | | 3 lines changed or added | |
|
| set.h | | set.h | |
| | | | |
| skipping to change at line 65 | | skipping to change at line 65 | |
| void *set_iterate_backwards(Set *s, Iterator *i); | | void *set_iterate_backwards(Set *s, Iterator *i); | |
| void *set_iterate_skip(Set *s, void *value, Iterator *i); | | void *set_iterate_skip(Set *s, void *value, Iterator *i); | |
| | | | |
| void set_clear(Set *s); | | void set_clear(Set *s); | |
| void set_clear_free(Set *s); | | void set_clear_free(Set *s); | |
| | | | |
| void *set_steal_first(Set *s); | | void *set_steal_first(Set *s); | |
| void* set_first(Set *s); | | void* set_first(Set *s); | |
| void* set_last(Set *s); | | void* set_last(Set *s); | |
| | | | |
|
| | | char **set_get_strv(Set *s); | |
| | | | |
| #define SET_FOREACH(e, s, i) \ | | #define SET_FOREACH(e, s, i) \ | |
| for ((i) = ITERATOR_FIRST, (e) = set_iterate((s), &(i)); (e); (e) =
set_iterate((s), &(i))) | | for ((i) = ITERATOR_FIRST, (e) = set_iterate((s), &(i)); (e); (e) =
set_iterate((s), &(i))) | |
| | | | |
| #define SET_FOREACH_BACKWARDS(e, s, i) \ | | #define SET_FOREACH_BACKWARDS(e, s, i) \ | |
| for ((i) = ITERATOR_LAST, (e) = set_iterate_backwards((s), &(i)); (
e); (e) = set_iterate_backwards((s), &(i))) | | for ((i) = ITERATOR_LAST, (e) = set_iterate_backwards((s), &(i)); (
e); (e) = set_iterate_backwards((s), &(i))) | |
| | | | |
End of changes. 1 change blocks. |
| 0 lines changed or deleted | | 2 lines changed or added | |
|
| strv.h | | strv.h | |
| | | | |
| skipping to change at line 33 | | skipping to change at line 33 | |
| | | | |
| #include <stdarg.h> | | #include <stdarg.h> | |
| #include <stdbool.h> | | #include <stdbool.h> | |
| | | | |
| #include "macro.h" | | #include "macro.h" | |
| | | | |
| char *strv_find(char **l, const char *name); | | char *strv_find(char **l, const char *name); | |
| char *strv_find_prefix(char **l, const char *name); | | char *strv_find_prefix(char **l, const char *name); | |
| | | | |
| void strv_free(char **l); | | void strv_free(char **l); | |
|
| | | void strv_freep(char ***l); | |
| char **strv_copy(char **l) _malloc_; | | char **strv_copy(char **l) _malloc_; | |
| unsigned strv_length(char **l); | | unsigned strv_length(char **l); | |
| | | | |
| char **strv_merge(char **a, char **b); | | char **strv_merge(char **a, char **b); | |
| char **strv_merge_concat(char **a, char **b, const char *suffix); | | char **strv_merge_concat(char **a, char **b, const char *suffix); | |
| char **strv_append(char **l, const char *s); | | char **strv_append(char **l, const char *s); | |
| | | | |
| char **strv_remove(char **l, const char *s); | | char **strv_remove(char **l, const char *s); | |
| char **strv_remove_prefix(char **l, const char *s); | | char **strv_remove_prefix(char **l, const char *s); | |
| char **strv_uniq(char **l); | | char **strv_uniq(char **l); | |
| | | | |
| skipping to change at line 82 | | skipping to change at line 83 | |
| | | | |
| char **strv_parse_nulstr(const char *s, size_t l); | | char **strv_parse_nulstr(const char *s, size_t l); | |
| | | | |
| bool strv_overlap(char **a, char **b); | | bool strv_overlap(char **a, char **b); | |
| | | | |
| #define STRV_FOREACH(s, l) \ | | #define STRV_FOREACH(s, l) \ | |
| for ((s) = (l); (s) && *(s); (s)++) | | for ((s) = (l); (s) && *(s); (s)++) | |
| | | | |
| #define STRV_FOREACH_BACKWARDS(s, l) \ | | #define STRV_FOREACH_BACKWARDS(s, l) \ | |
| for (; (l) && ((s) >= (l)); (s)--) | | for (; (l) && ((s) >= (l)); (s)--) | |
|
| | | | |
| | | char **strv_sort(char **l); | |
| | | | |
End of changes. 2 change blocks. |
| 0 lines changed or deleted | | 1 lines changed or added | |
|
| util.h | | util.h | |
| | | | |
| skipping to change at line 144 | | skipping to change at line 144 | |
| } | | } | |
| | | | |
| static inline const char *strna(const char *s) { | | static inline const char *strna(const char *s) { | |
| return s ? s : "n/a"; | | return s ? s : "n/a"; | |
| } | | } | |
| | | | |
| static inline bool isempty(const char *p) { | | static inline bool isempty(const char *p) { | |
| return !p || !p[0]; | | return !p || !p[0]; | |
| } | | } | |
| | | | |
|
| bool endswith(const char *s, const char *postfix); | | char *endswith(const char *s, const char *postfix); | |
| bool startswith(const char *s, const char *prefix); | | bool startswith(const char *s, const char *prefix); | |
| bool startswith_no_case(const char *s, const char *prefix); | | bool 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); | |
| | | | |
| skipping to change at line 387 | | skipping to change at line 387 | |
| int pipe_eof(int fd); | | int pipe_eof(int fd); | |
| | | | |
| cpu_set_t* cpu_set_malloc(unsigned *ncpus); | | cpu_set_t* cpu_set_malloc(unsigned *ncpus); | |
| | | | |
| int status_vprintf(const char *status, bool ellipse, const char *format, va
_list ap); | | int status_vprintf(const char *status, bool ellipse, const char *format, va
_list ap); | |
| int status_printf(const char *status, bool ellipse, const char *format, ...
); | | int status_printf(const char *status, bool ellipse, const char *format, ...
); | |
| int status_welcome(void); | | int status_welcome(void); | |
| | | | |
| int fd_columns(int fd); | | int fd_columns(int fd); | |
| unsigned columns(void); | | unsigned columns(void); | |
|
| unsigned columns_uncached(void); | | | |
| void columns_cache_reset(int _unused_ signum); | | | |
| | | | |
| int fd_lines(int fd); | | int fd_lines(int fd); | |
| unsigned lines(void); | | unsigned lines(void); | |
|
| | | void columns_lines_cache_reset(int _unused_ signum); | |
| | | | |
| | | bool on_tty(void); | |
| | | | |
| int running_in_chroot(void); | | int running_in_chroot(void); | |
| | | | |
| char *ellipsize(const char *s, size_t length, unsigned percent); | | char *ellipsize(const char *s, size_t length, unsigned percent); | |
| char *ellipsize_mem(const char *s, size_t old_length, size_t new_length, un
signed percent); | | char *ellipsize_mem(const char *s, size_t old_length, size_t new_length, un
signed percent); | |
| | | | |
| int touch(const char *path); | | int touch(const char *path); | |
| | | | |
| char *unquote(const char *s, const char *quotes); | | char *unquote(const char *s, const char *quotes); | |
| char *normalize_env_assignment(const char *s); | | char *normalize_env_assignment(const char *s); | |
| | | | |
| skipping to change at line 564 | | skipping to change at line 564 | |
| | | | |
| _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, | |
| | | int (*compar) (const void *, const void *, void *), | |
| | | void *arg); | |
| | | | |
End of changes. 4 change blocks. |
| 4 lines changed or deleted | | 4 lines changed or added | |
|