Lines Matching full:logger
33 #include <log/logger.h>
199 #define logger_for_each(logger, logger_list) \
200 for (logger = node_to_item((logger_list)->node.next, struct logger, node); \
201 logger != node_to_item(&(logger_list)->node, struct logger, node); \
202 logger = node_to_item((logger)->node.next, struct logger, node))
255 struct logger {
263 static void android_logger_free(struct logger *logger)
265 if (!logger) {
269 list_remove(&logger->node);
271 free(logger);
277 log_id_t android_logger_get_id(struct logger *logger)
279 return logger->id;
282 /* worker for sending the command to the logger */
283 static ssize_t send_log_msg(struct logger *logger,
297 snprintf(buf, buf_size, msg, logger ? logger->id : (unsigned) -1);
411 int android_logger_clear(struct logger *logger)
415 if (logger->top->mode & ANDROID_LOG_PSTORE) {
423 send_log_msg(logger, "clear %d", buf, sizeof(buf)));
427 long android_logger_get_log_size(struct logger *logger)
431 ssize_t ret = send_log_msg(logger, "getLogSize %d", buf, sizeof(buf));
443 int android_logger_set_log_size(struct logger *logger, unsigned long size)
448 logger ? logger->id : (unsigned) -1, size);
457 long android_logger_get_log_readable_size(struct logger *logger)
461 ssize_t ret = send_log_msg(logger, "getLogSizeUsed %d", buf, sizeof(buf));
474 * returns the logger version
476 int android_logger_get_log_version(struct logger *logger __unused)
487 struct logger *logger;
497 logger_for_each(logger, logger_list) {
498 n = snprintf(cp, remaining, " %d", logger->id);
574 /* Open the named log and add it to the logger list */
575 struct logger *android_logger_open(struct logger_list *logger_list,
578 struct logger *logger;
584 logger_for_each(logger, logger_list) {
585 if (logger->id == id) {
590 logger = calloc(1, sizeof(*logger));
591 if (!logger) {
595 logger->id = id;
596 list_add_tail(&logger_list->node, &logger->node);
597 logger->top = logger_list;
601 logger = NULL;
603 return logger;
606 /* Open the single named log and make it part of a new logger list */
631 struct logger *logger;
676 logger_for_each(logger, logger_list) {
677 if (buf.l.id != logger->id) {
744 struct logger *logger;
784 logger_for_each(logger, logger_list) {
785 ret = snprintf(cp, remaining, "%c%u", c, logger->id);
872 logger_for_each(logger, logger_list) {
873 if (log_msg->entry.lid == logger->id) {
891 struct logger *logger = node_to_item(node, struct logger, node);
892 android_logger_free(logger);