strncat(to, from, maxsize - strlen(to)-1); \
} while (0)
-#define strintcat(to, i) \
-do { \
- to[sizeof(to)-1] = '\0'; \
- snprintf((to) + strlen(to), sizeof(to) - strlen(to)-1, "%u", i); \
-} while (0)
-
-#define strintcatmax(to, i, maxsize) \
-do { \
- to[maxsize-1] = '\0'; \
- snprintf((to) + strlen(to), maxsize - strlen(to)-1, "%u", i); \
-} while (0)
-
-#define foreach_strpart(str, separator, pos, len) \
- for(pos = str, len = 0; \
- (pos) < ((str) + strlen(str)); \
- pos = pos + len + strspn(pos, separator), len = strcspn(pos, separator)) \
- if (len > 0)
-
#ifdef asmlinkage
# undef asmlinkage
#endif
# define asmlinkage __attribute__((regparm(0)))
#endif
#ifndef asmlinkage
-# define asmlinkage /* nothing */
+# define asmlinkage
#endif
-extern void udev_init_device(struct udevice *udev, const char* devpath, const char *subsystem);
+struct name_entry {
+ struct list_head node;
+ char name[NAME_SIZE];
+};
+
+extern int udev_init_device(struct udevice *udev, const char* devpath, const char *subsystem);
+extern void udev_cleanup_device(struct udevice *udev);
+
extern int kernel_release_satisfactory(unsigned int version, unsigned int patchlevel, unsigned int sublevel);
extern int create_path(const char *path);
extern int parse_get_pair(char **orig_string, char **left, char **right);
extern void file_unmap(char *buf, size_t bufsize);
extern size_t buf_get_line(const char *buf, size_t buflen, size_t cur);
extern void no_trailing_slash(char *path);
-typedef int (*file_fnct_t)(const char *filename, void *data);
-extern int call_foreach_file(file_fnct_t fnct, const char *dirname,
- const char *suffix, void *data);
-
+extern int name_list_add(struct list_head *name_list, const char *name, int sort);
+extern int call_foreach_file(int (*handler_function)(struct udevice *udev, const char *string),
+ struct udevice *udev, const char *dirname, const char *suffix);
#endif