• R/O
  • HTTP
  • SSH
  • HTTPS

コミット

タグ
未設定

よく使われているワード(クリックで追加)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

system/corennnnn


コミットメタ情報

リビジョンebefc48e61a7d5cf2a3228e6c8729feeeb42d1b4 (tree)
日時2009-05-29 21:45:04
作者David 'Digit' Turner <digit@goog...>
コミッターDavid 'Digit' Turner

ログメッセージ

Expose the stable/frozen log-related definitions of <cutils/logd.h> into a new header: <android/log.h>

This is in order to expose the correponding functions in the 1.5 Native Development Kit, to allow
applicative native code to send messages to the log.

変更サマリ

差分

--- /dev/null
+++ b/include/android/log.h
@@ -0,0 +1,128 @@
1+/*
2+ * Copyright (C) 2009 The Android Open Source Project
3+ *
4+ * Licensed under the Apache License, Version 2.0 (the "License");
5+ * you may not use this file except in compliance with the License.
6+ * You may obtain a copy of the License at
7+ *
8+ * http://www.apache.org/licenses/LICENSE-2.0
9+ *
10+ * Unless required by applicable law or agreed to in writing, software
11+ * distributed under the License is distributed on an "AS IS" BASIS,
12+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+ * See the License for the specific language governing permissions and
14+ * limitations under the License.
15+ */
16+
17+#ifndef _ANDROID_LOG_H
18+#define _ANDROID_LOG_H
19+
20+/******************************************************************
21+ *
22+ * IMPORTANT NOTICE:
23+ *
24+ * This file is part of Android's set of stable system headers
25+ * exposed by the Android NDK (Native Development Kit) since
26+ * platform release 1.5
27+ *
28+ * Third-party source AND binary code relies on the definitions
29+ * here to be FROZEN ON ALL UPCOMING PLATFORM RELEASES.
30+ *
31+ * - DO NOT MODIFY ENUMS (EXCEPT IF YOU ADD NEW 32-BIT VALUES)
32+ * - DO NOT MODIFY CONSTANTS OR FUNCTIONAL MACROS
33+ * - DO NOT CHANGE THE SIGNATURE OF FUNCTIONS IN ANY WAY
34+ * - DO NOT CHANGE THE LAYOUT OR SIZE OF STRUCTURES
35+ */
36+
37+/*
38+ * Support routines to send messages to the Android in-kernel log buffer,
39+ * which can later be accessed through the 'logcat' utility.
40+ *
41+ * Each log message must have
42+ * - a priority
43+ * - a log tag
44+ * - some text
45+ *
46+ * The tag normally corresponds to the component that emits the log message,
47+ * and should be reasonably small.
48+ *
49+ * Log message text may be truncated to less than an implementation-specific
50+ * limit (e.g. 1023 characters max).
51+ *
52+ * Note that a newline character ("\n") will be appended automatically to your
53+ * log message, if not already there. It is not possible to send several messages
54+ * and have them appear on a single line in logcat.
55+ *
56+ * PLEASE USE LOGS WITH MODERATION:
57+ *
58+ * - Sending log messages eats CPU and slow down your application and the
59+ * system.
60+ *
61+ * - The circular log buffer is pretty small (<64KB), sending many messages
62+ * might push off other important log messages from the rest of the system.
63+ *
64+ * - In release builds, only send log messages to account for exceptional
65+ * conditions.
66+ *
67+ * NOTE: These functions MUST be implemented by /system/lib/liblog.so
68+ */
69+
70+#include <stdarg.h>
71+
72+#ifdef __cplusplus
73+extern "C" {
74+#endif
75+
76+/*
77+ * Android log priority values, in ascending priority order.
78+ */
79+typedef enum android_LogPriority {
80+ ANDROID_LOG_UNKNOWN = 0,
81+ ANDROID_LOG_DEFAULT, /* only for SetMinPriority() */
82+ ANDROID_LOG_VERBOSE,
83+ ANDROID_LOG_DEBUG,
84+ ANDROID_LOG_INFO,
85+ ANDROID_LOG_WARN,
86+ ANDROID_LOG_ERROR,
87+ ANDROID_LOG_FATAL,
88+ ANDROID_LOG_SILENT, /* only for SetMinPriority(); must be last */
89+} android_LogPriority;
90+
91+/*
92+ * Send a simple string to the log.
93+ */
94+int __android_log_write(int prio, const char *tag, const char *text);
95+
96+/*
97+ * Send a formatted string to the log, used like printf(fmt,...)
98+ */
99+int __android_log_print(int prio, const char *tag, const char *fmt, ...)
100+#if defined(__GNUC__)
101+ __attribute__ ((format(printf, 3, 4)))
102+#endif
103+ ;
104+
105+/*
106+ * A variant of __android_log_print() that takes a va_list to list
107+ * additional parameters.
108+ */
109+int __android_log_vprint(int prio, const char *tag,
110+ const char *fmt, va_list ap);
111+
112+/*
113+ * Log an assertion failure and SIGTRAP the process to have a chance
114+ * to inspect it, if a debugger is attached. This uses the FATAL priority.
115+ */
116+void __android_log_assert(const char *cond, const char *tag,
117+ const char *fmt, ...)
118+#if defined(__GNUC__)
119+ __attribute__ ((noreturn))
120+ __attribute__ ((format(printf, 3, 4)))
121+#endif
122+ ;
123+
124+#ifdef __cplusplus
125+}
126+#endif
127+
128+#endif /* _ANDROID_LOG_H */
--- a/include/cutils/logd.h
+++ b/include/cutils/logd.h
@@ -1,5 +1,5 @@
11 /*
2- * Copyright (C) 2006 The Android Open Source Project
2+ * Copyright (C) 2009 The Android Open Source Project
33 *
44 * Licensed under the Apache License, Version 2.0 (the "License");
55 * you may not use this file except in compliance with the License.
@@ -17,6 +17,12 @@
1717 #ifndef _ANDROID_CUTILS_LOGD_H
1818 #define _ANDROID_CUTILS_LOGD_H
1919
20+/* the stable/frozen log-related definitions have been
21+ * moved to this header, which is exposed by the NDK
22+ */
23+#include <android/log.h>
24+
25+/* the rest is only used internally by the system */
2026 #include <time.h>
2127 #include <stdio.h>
2228 #include <unistd.h>
@@ -32,45 +38,10 @@
3238 extern "C" {
3339 #endif
3440
35-/*
36- * Priority values, in ascending priority order.
37- */
38-typedef enum android_LogPriority {
39- ANDROID_LOG_UNKNOWN = 0,
40- ANDROID_LOG_DEFAULT, /* only for SetMinPriority() */
41- ANDROID_LOG_VERBOSE,
42- ANDROID_LOG_DEBUG,
43- ANDROID_LOG_INFO,
44- ANDROID_LOG_WARN,
45- ANDROID_LOG_ERROR,
46- ANDROID_LOG_FATAL,
47- ANDROID_LOG_SILENT, /* only for SetMinPriority(); must be last */
48-} android_LogPriority;
49-
50-int __android_log_write(int prio, const char *tag, const char *text);
51-
52-int __android_log_vprint(int prio, const char *tag,
53- const char *fmt, va_list ap);
54-
5541 int __android_log_bwrite(int32_t tag, const void *payload, size_t len);
5642 int __android_log_btwrite(int32_t tag, char type, const void *payload,
5743 size_t len);
5844
59-int __android_log_print(int prio, const char *tag, const char *fmt, ...)
60-#if defined(__GNUC__)
61- __attribute__ ((format(printf, 3, 4)))
62-#endif
63- ;
64-
65-
66-void __android_log_assert(const char *cond, const char *tag,
67- const char *fmt, ...)
68-#if defined(__GNUC__)
69- __attribute__ ((noreturn))
70- __attribute__ ((format(printf, 3, 4)))
71-#endif
72- ;
73-
7445 #ifdef __cplusplus
7546 }
7647 #endif