#include <linux/types.h>
#include <linux/hdreg.h>
-#include "../../udev/udev.h"
+#include "libudev.h"
+#include "libudev-private.h"
static void log_fn(struct udev *udev, int priority,
const char *file, int line, const char *fn,
struct udev *udev;
struct hd_driveid id;
char model[41];
+ char model_enc[256];
char serial[21];
char revision[9];
const char *node = NULL;
if (udev == NULL)
goto exit;
- logging_init("ata_id");
+ udev_log_init("ata_id");
udev_set_log_fn(udev, log_fn);
while (1) {
break;
case 'h':
printf("Usage: ata_id [--export] [--help] <device>\n"
- " --export print values as environemt keys\n"
+ " --export print values as environment keys\n"
" --help print this help text\n\n");
default:
rc = 1;
goto close;
}
+ memcpy (model, id.model, 40);
+ model[40] = '\0';
+ udev_util_encode_string(model, model_enc, sizeof(model_enc));
udev_util_replace_whitespace((char *) id.model, model, 40);
udev_util_replace_chars(model, NULL);
udev_util_replace_whitespace((char *) id.serial_no, serial, 20);
} else {
printf("ID_TYPE=disk\n");
}
+ printf("ID_BUS=ata\n");
printf("ID_MODEL=%s\n", model);
- printf("ID_SERIAL=%s\n", serial);
+ printf("ID_MODEL_ENC=%s\n", model_enc);
printf("ID_REVISION=%s\n", revision);
- printf("ID_BUS=ata\n");
+ printf("ID_SERIAL=%s_%s\n", model, serial);
+ printf("ID_SERIAL_SHORT=%s\n", serial);
} else {
if (serial[0] != '\0')
printf("%s_%s\n", model, serial);
close(fd);
exit:
udev_unref(udev);
- logging_close();
+ udev_log_close();
return rc;
}