Home | History | Annotate | Download | only in nacl_io
      1 /* Copyright (c) 2013 The Chromium Authors. All rights reserved.
      2  * Use of this source code is governed by a BSD-style license that can be
      3  * found in the LICENSE file. */
      4 
      5 #ifndef LIBRARIES_NACL_IO_LOG_H_
      6 #define LIBRARIES_NACL_IO_LOG_H_
      7 
      8 #include "sdk_util/macros.h"
      9 
     10 #define LOG_PREFIX "nacl_io: "
     11 
     12 #if NACL_IO_LOGGING
     13 #define LOG_TRACE(format, ...) \
     14   nacl_io_log(LOG_PREFIX format "\n", ##__VA_ARGS__)
     15 #else
     16 #define LOG_TRACE(format, ...)
     17 #endif
     18 
     19 #define LOG_ERROR(format, ...) \
     20   nacl_io_log(LOG_PREFIX "error: " format "\n", ##__VA_ARGS__)
     21 
     22 #define LOG_WARN(format, ...) \
     23   nacl_io_log(LOG_PREFIX "warning: " format "\n", ##__VA_ARGS__)
     24 
     25 EXTERN_C_BEGIN
     26 
     27 /*
     28  * Low level logging function for nacl_io log messages.
     29  *
     30  * This function sends its output directly to the IRT standard out
     31  * file descriptor, which by default will apear on the standard out
     32  * or chrome or sel_ldr.
     33  */
     34 void nacl_io_log(const char* format, ...) PRINTF_LIKE(1, 2);
     35 
     36 EXTERN_C_END
     37 
     38 #endif  /* LIBRARIES_NACL_IO_LOG_H_ */
     39