#include <errno.h>
#include <ctype.h>
#include <signal.h>
+#include <sysfs/libsysfs.h>
#include "udev.h"
#include "udev_version.h"
-#include "udev_dbus.h"
#include "logging.h"
#include "namedev.h"
-#include "udevdb.h"
-#include "libsysfs/libsysfs.h"
/* global variables */
char **main_argv;
{
va_list args;
- if (!udev_log)
- return;
+// if (!udev_log)
+// return;
+ /* FIXME use level... */
va_start(args, format);
- vsyslog(level, format, args);
+ vprintf(format, args);
va_end(args);
+ if (format[strlen(format)-1] != '\n')
+ printf("\n");
}
#endif
switch (signum) {
case SIGINT:
case SIGTERM:
- sysbus_disconnect();
- udevdb_exit();
exit(20 + signum);
default:
dbg("unhandled signal");
static int udev_hotplug(int argc, char **argv)
{
- char *action;
char *devpath;
char *subsystem;
int retval = -EINVAL;
int i;
struct sigaction act;
- action = get_action();
- if (!action) {
- dbg ("no action?");
- goto exit;
- }
-
- devpath = get_devpath();
+ devpath = argv[1];
if (!devpath) {
- dbg ("no devpath?");
+ dbg("no devpath?");
goto exit;
}
dbg("looking at '%s'", devpath);
i++;
}
- /* connect to the system message bus */
- sysbus_connect();
-
/* initialize our configuration */
udev_init_config();
- /* initialize udev database */
- retval = udevdb_init(UDEVDB_DEFAULT);
- if (retval != 0) {
- dbg("unable to initialize database");
- goto exit_sysbus;
- }
-
/* set up a default signal handler for now */
act.sa_handler = sig_handler;
sigemptyset (&act.sa_mask);
/* initialize the naming deamon */
namedev_init();
- if (strcmp(action, "add") == 0)
- retval = udev_add_device(devpath, subsystem);
-
- else if (strcmp(action, "remove") == 0)
- retval = udev_remove_device(devpath, subsystem);
-
- else {
- dbg("unknown action '%s'", action);
- retval = -EINVAL;
- }
- udevdb_exit();
-
-exit_sysbus:
- /* disconnect from the system message bus */
- sysbus_disconnect();
+ retval = udev_add_device(devpath, subsystem, 1);
exit:
if (retval > 0)
main_argv = argv;
main_envp = envp;
- init_logging("udev");
dbg("version %s", UDEV_VERSION);
return udev_hotplug(argc, argv);