+
+ pututxline(&utx);
+
+ msg = asl_msg_new(ASL_TYPE_MSG);
+ if (msg == NULL) return;
+
+ asl_msg_set_key_val(msg, ASL_KEY_SENDER, "bootlog");
+ asl_msg_set_key_val(msg, ASL_KEY_FACILITY, "com.apple.system.utmpx");
+ asl_msg_set_key_val(msg, ASL_KEY_LEVEL, "Notice");
+ asl_msg_set_key_val(msg, ASL_KEY_UID, "0");
+ asl_msg_set_key_val(msg, ASL_KEY_GID, "0");
+ asl_msg_set_key_val(msg, ASL_KEY_PID, "0");
+ snprintf(buf, sizeof(buf), "BOOT_TIME %lu %u", (unsigned long)utx.ut_tv.tv_sec, (unsigned int)utx.ut_tv.tv_usec);
+ asl_msg_set_key_val(msg, ASL_KEY_MSG, buf);
+ asl_msg_set_key_val(msg, "ut_id", "0x00 0x00 0x00 0x00");
+ asl_msg_set_key_val(msg, "ut_pid", "1");
+ asl_msg_set_key_val(msg, "ut_type", "2");
+ snprintf(buf, sizeof(buf), "%lu", (unsigned long)utx.ut_tv.tv_sec);
+ asl_msg_set_key_val(msg, ASL_KEY_TIME, buf);
+ asl_msg_set_key_val(msg, "ut_tv.tv_sec", buf);
+ snprintf(buf, sizeof(buf), "%u", (unsigned int)utx.ut_tv.tv_usec);
+ asl_msg_set_key_val(msg, "ut_tv.tv_usec", buf);
+ snprintf(buf, sizeof(buf), "%u%s", (unsigned int)utx.ut_tv.tv_usec, (utx.ut_tv.tv_usec == 0) ? "" : "000");
+ asl_msg_set_key_val(msg, ASL_KEY_TIME_NSEC, buf);
+
+ process_message(msg, SOURCE_INTERNAL);