am e79201e4: am 4487c605: Merge changes I0ec0fe3e,I9e5fccba

* commit 'e79201e4cb030e9df773ff535d34e12c8b3c8624':
  liblog: logprint use <endian.h>
  private: Add event payload structures to android_logger.h
diff --git a/include/private/android_logger.h b/include/private/android_logger.h
index cc7ba30..724ca51 100644
--- a/include/private/android_logger.h
+++ b/include/private/android_logger.h
@@ -41,4 +41,46 @@
     log_time realtime;
 } android_log_header_t;
 
+/* Event Header Structure to logd */
+typedef struct __attribute__((__packed__)) {
+    int32_t tag;  // Little Endian Order
+} android_event_header_t;
+
+/* Event payload EVENT_TYPE_INT */
+typedef struct __attribute__((__packed__)) {
+    int8_t type;  // EVENT_TYPE_INT
+    int32_t data; // Little Endian Order
+} android_event_int_t;
+
+/* Event with single EVENT_TYPE_INT */
+typedef struct __attribute__((__packed__)) {
+    android_event_header_t header;
+    android_event_int_t payload;
+} android_log_event_int_t;
+
+/* Event payload EVENT_TYPE_LONG */
+typedef struct __attribute__((__packed__)) {
+    int8_t type;  // EVENT_TYPE_LONG
+    int64_t data; // Little Endian Order
+} android_event_long_t;
+
+/* Event with single EVENT_TYPE_LONG */
+typedef struct __attribute__((__packed__)) {
+    android_event_header_t header;
+    android_event_long_t payload;
+} android_log_event_long_t;
+
+/* Event payload EVENT_TYPE_STRING */
+typedef struct __attribute__((__packed__)) {
+    int8_t type;    // EVENT_TYPE_STRING;
+    int32_t length; // Little Endian Order
+    char data[];
+} android_event_string_t;
+
+/* Event with single EVENT_TYPE_STRING */
+typedef struct __attribute__((__packed__)) {
+    android_event_header_t header;
+    android_event_string_t payload;
+} android_log_event_string_t;
+
 #endif
diff --git a/liblog/logprint.c b/liblog/logprint.c
index 7ba4c8e..8093a4c 100644
--- a/liblog/logprint.c
+++ b/liblog/logprint.c
@@ -416,27 +416,6 @@
 }
 
 /*
- * Extract a 4-byte value from a byte stream.
- */
-static inline uint32_t get4LE(const uint8_t* src)
-{
-    return src[0] | (src[1] << 8) | (src[2] << 16) | (src[3] << 24);
-}
-
-/*
- * Extract an 8-byte value from a byte stream.
- */
-static inline uint64_t get8LE(const uint8_t* src)
-{
-    uint32_t low, high;
-
-    low = src[0] | (src[1] << 8) | (src[2] << 16) | (src[3] << 24);
-    high = src[4] | (src[5] << 8) | (src[6] << 16) | (src[7] << 24);
-    return ((long long) high << 32) | (long long) low;
-}
-
-
-/*
  * Recursively convert binary log data to printable form.
  *
  * This needs to be recursive because you can have lists of lists.
@@ -473,7 +452,7 @@
 
             if (eventDataLen < 4)
                 return -1;
-            ival = get4LE(eventData);
+            ival = le32toh(*((int32_t *)eventData));
             eventData += 4;
             eventDataLen -= 4;
 
@@ -494,7 +473,7 @@
 
             if (eventDataLen < 8)
                 return -1;
-            lval = get8LE(eventData);
+            lval = le64toh(*((int64_t *)eventData));
             eventData += 8;
             eventDataLen -= 8;
 
@@ -515,7 +494,7 @@
 
             if (eventDataLen < 4)
                 return -1;
-            strLen = get4LE(eventData);
+            strLen = le32toh(*((int32_t *)eventData));
             eventData += 4;
             eventDataLen -= 4;
 
@@ -630,7 +609,7 @@
     inCount = buf->len;
     if (inCount < 4)
         return -1;
-    tagIndex = get4LE(eventData);
+    tagIndex = le32toh(*((int32_t *)eventData));
     eventData += 4;
     inCount -= 4;