| logging.h | | logging.h | |
| | | | |
| skipping to change at line 64 | | skipping to change at line 64 | |
| log_message(LOG_DEBUG ,"%s: " format ,__FUNCTION__ ,## arg);
\ | | log_message(LOG_DEBUG ,"%s: " format ,__FUNCTION__ ,## arg);
\ | |
| } while (0) | | } while (0) | |
| #endif | | #endif | |
| | | | |
| extern void log_message(int priority, const char *format, ...) | | extern void log_message(int priority, const char *format, ...) | |
| __attribute__ ((format (printf, 2, 3))); | | __attribute__ ((format (printf, 2, 3))); | |
| | | | |
| #undef logging_init | | #undef logging_init | |
| static inline void logging_init(const char *program_name) | | static inline void logging_init(const char *program_name) | |
| { | | { | |
|
| openlog(program_name, LOG_PID, LOG_DAEMON); | | openlog(program_name, LOG_PID | LOG_CONS, LOG_DAEMON); | |
| } | | } | |
| | | | |
| #undef logging_close | | #undef logging_close | |
| static inline void logging_close(void) | | static inline void logging_close(void) | |
| { | | { | |
| closelog(); | | closelog(); | |
| } | | } | |
| | | | |
| #endif /* USE_LOG */ | | #endif /* USE_LOG */ | |
| | | | |
| | | | |
End of changes. 1 change blocks. |
| 1 lines changed or deleted | | 1 lines changed or added | |
|
| udev_libc_wrapper.h | | udev_libc_wrapper.h | |
| | | | |
| skipping to change at line 27 | | skipping to change at line 27 | |
| * with this program; if not, write to the Free Software Foundation, In
c., | | * with this program; if not, write to the Free Software Foundation, In
c., | |
| * 675 Mass Ave, Cambridge, MA 02139, USA. | | * 675 Mass Ave, Cambridge, MA 02139, USA. | |
| * | | * | |
| */ | | */ | |
| | | | |
| #ifndef _UDEV_LIBC_WRAPPER_H_ | | #ifndef _UDEV_LIBC_WRAPPER_H_ | |
| #define _UDEV_LIBC_WRAPPER_H_ | | #define _UDEV_LIBC_WRAPPER_H_ | |
| | | | |
| #include <string.h> | | #include <string.h> | |
| #include <unistd.h> | | #include <unistd.h> | |
|
| #include <linux/types.h> | | #include <stdint.h> | |
| | | | |
| | | /* needed until Inotify! syscalls reach glibc */ | |
| | | #include <sys/syscall.h> | |
| | | #ifndef __NR_inotify_init | |
| | | #if defined(__i386__) | |
| | | # define __NR_inotify_init 291 | |
| | | # define __NR_inotify_add_watch 292 | |
| | | # define __NR_inotify_rm_watch 293 | |
| | | #elif defined(__x86_64__) | |
| | | # define __NR_inotify_init 253 | |
| | | # define __NR_inotify_add_watch 254 | |
| | | # define __NR_inotify_rm_watch 255 | |
| | | #elif defined(__powerpc__) || defined(__powerpc64__) | |
| | | # define __NR_inotify_init 275 | |
| | | # define __NR_inotify_add_watch 276 | |
| | | # define __NR_inotify_rm_watch 277 | |
| | | #elif defined (__ia64__) | |
| | | # define __NR_inotify_init 1277 | |
| | | # define __NR_inotify_add_watch 1278 | |
| | | # define __NR_inotify_rm_watch 1279 | |
| | | #elif defined (__s390__) | |
| | | # define __NR_inotify_init 284 | |
| | | # define __NR_inotify_add_watch 285 | |
| | | # define __NR_inotify_rm_watch 286 | |
| | | #elif defined (__alpha__) | |
| | | # define __NR_inotify_init 444 | |
| | | # define __NR_inotify_add_watch 445 | |
| | | # define __NR_inotify_rm_watch 446 | |
| | | #elif defined (__sparc__) || defined (__sparc64__) | |
| | | # define __NR_inotify_init 151 | |
| | | # define __NR_inotify_add_watch 152 | |
| | | # define __NR_inotify_rm_watch 156 | |
| | | #elif defined (__arm__) | |
| | | # define __NR_inotify_init 316 | |
| | | # define __NR_inotify_add_watch 317 | |
| | | # define __NR_inotify_rm_watch 318 | |
| | | #elif defined (__sh__) | |
| | | # define __NR_inotify_init 290 | |
| | | # define __NR_inotify_add_watch 291 | |
| | | # define __NR_inotify_rm_watch 292 | |
| | | #else | |
| | | #warning "inotify unsupported on this architecture!" | |
| | | #endif | |
| | | #endif /* __NR_inotify_init */ | |
| | | | |
| | | /* dummy if we don't have the syscalls defined */ | |
| | | #ifndef __NR_inotify_init | |
| | | static inline int inotify_init(void) | |
| | | { | |
| | | return -1; | |
| | | } | |
| | | | |
| | | static inline int inotify_add_watch(int fd, const char *name, uint32_t mask | |
| | | ) | |
| | | { | |
| | | return -1; | |
| | | } | |
| | | #else | |
| | | /* needed until /usr/include/sys/inotify.h is working */ | |
| | | #ifdef __KLIBC__ | |
| | | #include <sys/inotify.h> | |
| | | #else | |
| | | static inline int inotify_init(void) | |
| | | { | |
| | | return syscall(__NR_inotify_init); | |
| | | } | |
| | | | |
| | | static inline int inotify_add_watch(int fd, const char *name, uint32_t mask | |
| | | ) | |
| | | { | |
| | | return syscall(__NR_inotify_add_watch, fd, name, mask); | |
| | | } | |
| | | #endif /* __KLIBC__ */ | |
| | | #endif /* __NR_inotify_init */ | |
| | | | |
| | | #ifndef IN_CREATE | |
| | | #define IN_CREATE 0x00000100 /* Subfile was created */ | |
| | | #define IN_MOVED_FROM 0x00000040 /* File was moved from X */ | |
| | | #define IN_MOVED_TO 0x00000080 /* File was moved to Y */ | |
| | | #define IN_DELETE 0x00000200 /* Subfile was deleted */ | |
| | | #define IN_CLOSE_WRITE 0x00000008 /* Writtable file was closed | |
| | | */ | |
| | | #define IN_MOVE (IN_MOVED_FROM | IN_MOVED_TO) /* mov | |
| | | es */ | |
| | | #endif /* IN_CREATE */ | |
| | | | |
| /* needed for our signal handlers to work */ | | /* needed for our signal handlers to work */ | |
| #undef asmlinkage | | #undef asmlinkage | |
| #ifdef __i386__ | | #ifdef __i386__ | |
| #define asmlinkage __attribute__((regparm(0))) | | #define asmlinkage __attribute__((regparm(0))) | |
| #else | | #else | |
| #define asmlinkage | | #define asmlinkage | |
|
| #endif | | #endif /* __i386__ */ | |
| | | | |
| /* headers are broken on some lazy platforms */ | | /* headers are broken on some lazy platforms */ | |
| #ifndef __FD_SET | | #ifndef __FD_SET | |
| #define __FD_SET(d, set) ((set)->fds_bits[__FDELT(d)] |= __FDMASK(d)) | | #define __FD_SET(d, set) ((set)->fds_bits[__FDELT(d)] |= __FDMASK(d)) | |
| #endif | | #endif | |
| #ifndef __FD_CLR | | #ifndef __FD_CLR | |
| #define __FD_CLR(d, set) ((set)->fds_bits[__FDELT(d)] &= ~__FDMASK(d)) | | #define __FD_CLR(d, set) ((set)->fds_bits[__FDELT(d)] &= ~__FDMASK(d)) | |
| #endif | | #endif | |
| #ifndef __FD_ISSET | | #ifndef __FD_ISSET | |
| #define __FD_ISSET(d, set) (((set)->fds_bits[__FDELT(d)] & __FDMASK(d)) !=
0) | | #define __FD_ISSET(d, set) (((set)->fds_bits[__FDELT(d)] & __FDMASK(d)) !=
0) | |
| | | | |
End of changes. 2 change blocks. |
| 2 lines changed or deleted | | 87 lines changed or added | |
|
| udev_rules.h | | udev_rules.h | |
| | | | |
| skipping to change at line 103 | | skipping to change at line 103 | |
| ignore_remove:1; | | ignore_remove:1; | |
| | | | |
| size_t bufsize; | | size_t bufsize; | |
| char buf[]; | | char buf[]; | |
| }; | | }; | |
| | | | |
| struct udev_rules { | | struct udev_rules { | |
| char *buf; | | char *buf; | |
| size_t bufsize; | | size_t bufsize; | |
| size_t current; | | size_t current; | |
|
| int mapped; | | | |
| int resolve_names; | | int resolve_names; | |
| }; | | }; | |
| | | | |
|
| extern int udev_rules_init(struct udev_rules *rules, int read_compiled, int
resolve_names); | | extern int udev_rules_init(struct udev_rules *rules, int resolve_names); | |
| extern void udev_rules_close(struct udev_rules *rules); | | extern void udev_rules_close(struct udev_rules *rules); | |
| | | | |
| extern void udev_apply_format(struct udevice *udev, char *string, size_t ma
xsize, | | extern void udev_apply_format(struct udevice *udev, char *string, size_t ma
xsize, | |
| struct sysfs_class_device *class_dev, struct s
ysfs_device *sysfs_device); | | struct sysfs_class_device *class_dev, struct s
ysfs_device *sysfs_device); | |
| | | | |
| extern void udev_rules_iter_init(struct udev_rules *rules); | | extern void udev_rules_iter_init(struct udev_rules *rules); | |
| extern struct udev_rule *udev_rules_iter_next(struct udev_rules *rules); | | extern struct udev_rule *udev_rules_iter_next(struct udev_rules *rules); | |
| extern struct udev_rule *udev_rules_iter_label(struct udev_rules *rules, co
nst char *label); | | extern struct udev_rule *udev_rules_iter_label(struct udev_rules *rules, co
nst char *label); | |
| | | | |
| extern int udev_rules_get_name(struct udev_rules *rules, struct udevice *ud
ev, | | extern int udev_rules_get_name(struct udev_rules *rules, struct udevice *ud
ev, | |
| | | | |
End of changes. 2 change blocks. |
| 2 lines changed or deleted | | 1 lines changed or added | |
|
| udev_sysfs.h | | udev_sysfs.h | |
| | | | |
| skipping to change at line 31 | | skipping to change at line 31 | |
| | | | |
| #ifndef _UDEV_SYSFS_H_ | | #ifndef _UDEV_SYSFS_H_ | |
| #define _UDEV_SYSFS_H_ | | #define _UDEV_SYSFS_H_ | |
| | | | |
| #include "libsysfs/sysfs/libsysfs.h" | | #include "libsysfs/sysfs/libsysfs.h" | |
| | | | |
| #define WAIT_MAX_SECONDS 3 | | #define WAIT_MAX_SECONDS 3 | |
| #define WAIT_LOOP_PER_SECOND 20 | | #define WAIT_LOOP_PER_SECOND 20 | |
| | | | |
| extern dev_t get_devt(struct sysfs_class_device *class_dev); | | extern dev_t get_devt(struct sysfs_class_device *class_dev); | |
|
| extern int subsystem_expect_no_dev(const char *subsystem); | | | |
| | | | |
|
| /* /sys/class /sys/block devices */ | | /* /sys/class, /sys/block devices */ | |
| extern struct sysfs_class_device *wait_class_device_open(const char *path); | | extern struct sysfs_class_device *wait_class_device_open(const char *path); | |
| extern int wait_for_class_device(struct sysfs_class_device *class_dev, cons
t char **error); | | extern int wait_for_class_device(struct sysfs_class_device *class_dev, cons
t char **error); | |
| | | | |
| /* /sys/devices devices */ | | /* /sys/devices devices */ | |
| extern struct sysfs_device *wait_devices_device_open(const char *path); | | extern struct sysfs_device *wait_devices_device_open(const char *path); | |
| extern int wait_for_devices_device(struct sysfs_device *devices_dev, const
char **error); | | extern int wait_for_devices_device(struct sysfs_device *devices_dev, const
char **error); | |
| | | | |
| #endif /* _UDEV_SYSFS_H_ */ | | #endif /* _UDEV_SYSFS_H_ */ | |
| | | | |
End of changes. 2 change blocks. |
| 2 lines changed or deleted | | 1 lines changed or added | |
|
| udev_utils.h | | udev_utils.h | |
| | | | |
| skipping to change at line 40 | | skipping to change at line 40 | |
| #define READ_END 0 | | #define READ_END 0 | |
| #define WRITE_END 1 | | #define WRITE_END 1 | |
| | | | |
| struct name_entry { | | struct name_entry { | |
| struct list_head node; | | struct list_head node; | |
| char name[PATH_SIZE]; | | char name[PATH_SIZE]; | |
| }; | | }; | |
| | | | |
| /* udev_utils.c */ | | /* udev_utils.c */ | |
| extern int log_priority(const char *priority); | | extern int log_priority(const char *priority); | |
|
| extern int kernel_release_satisfactory(unsigned int version, unsigned int p
atchlevel, unsigned int sublevel); | | | |
| extern int name_list_add(struct list_head *name_list, const char *name, int
sort); | | extern int name_list_add(struct list_head *name_list, const char *name, int
sort); | |
| extern int name_list_key_add(struct list_head *name_list, const char *key,
const char *value); | | extern int name_list_key_add(struct list_head *name_list, const char *key,
const char *value); | |
| extern void name_list_cleanup(struct list_head *name_list); | | extern void name_list_cleanup(struct list_head *name_list); | |
| extern int add_matching_files(struct list_head *name_list, const char *dirn
ame, const char *suffix); | | extern int add_matching_files(struct list_head *name_list, const char *dirn
ame, const char *suffix); | |
| | | | |
| /* udev_utils_string.c */ | | /* udev_utils_string.c */ | |
| extern int strcmp_pattern(const char *p, const char *s); | | extern int strcmp_pattern(const char *p, const char *s); | |
| extern int string_is_true(const char *str); | | extern int string_is_true(const char *str); | |
| extern void remove_trailing_chars(char *path, char c); | | extern void remove_trailing_chars(char *path, char c); | |
| extern int utf8_encoded_valid_unichar(const char *str); | | extern int utf8_encoded_valid_unichar(const char *str); | |
| | | | |
End of changes. 1 change blocks. |
| 1 lines changed or deleted | | 0 lines changed or added | |
|