Esempio n. 1
0
void dnx_log(const char *func, uint32_t line,
  dnx_log_level_t level, const char *fmt, ...)
{
  char buff[DNX_MAX_LOG_BUFF] = {0};
  int n = 0, offset = 0;
  va_list va;

  if (log_flags & DNX_LOG_FLAG_TIMESTAMP)
  {
    n = dnx_snprintf(buff + offset, DNX_MAX_LOG_BUFF - offset, "[%010u] ",
      dnx_timestamp());
    if (n >= DNX_MAX_LOG_BUFF - offset)
    {
      goto Exit;
    }
    offset += n;
  }

  switch (level) {
  case DNX_LOG_LEVEL_ERROR:
    n = dnx_snprintf(buff + offset, DNX_MAX_LOG_BUFF - offset, "Error: ");
    break;
  case DNX_LOG_LEVEL_WARNING:
    n = dnx_snprintf(buff + offset, DNX_MAX_LOG_BUFF - offset, "Warning: ");
    break;
  case DNX_LOG_LEVEL_INFO:
    n = dnx_snprintf(buff + offset, DNX_MAX_LOG_BUFF - offset, "Info: ");
    break;
  case DNX_LOG_LEVEL_EXTRA:
    n = dnx_snprintf(buff + offset, DNX_MAX_LOG_BUFF - offset, "Extra: ");
    break;
  default:
    DNX_ASSERT(0);
  } 
  if (n >= DNX_MAX_LOG_BUFF - offset)
    {
      goto Exit;
    }

  offset += n;

  n = dnx_snprintf(buff + offset, DNX_MAX_LOG_BUFF - offset, "[%s: (%d)]: ", func,
    line);
  if (n >= DNX_MAX_LOG_BUFF - offset)
  {
    goto Exit;
  }
  offset += n;

  va_start(va, fmt);
  vsnprintf(buff + offset, DNX_MAX_LOG_BUFF - offset, fmt, va);
  va_end(va);

Exit:
  syslog(dnx_convert_prioroty(level), "%s", buff);
}
Esempio n. 2
0
void dnx_log(const char *func, uint32_t line,
  dnx_log_level_t level, const char *fmt, ...)
{
  char buff[DNX_MAX_LOG_BUFF] = {0};
  int n = 0, offset = 0;
  va_list va;

  if (level > dnx_max_dlevel)
    goto Exit;

  if (log_flags & DNX_LOG_FLAG_TIMESTAMP)
  {
    n = dnx_snprintf(buff + offset, DNX_MAX_LOG_BUFF - offset, "[%010u] ",
      dnx_timestamp());
    if (n >= DNX_MAX_LOG_BUFF - offset)
    {
      goto Exit;
    }
    offset += n;
  }

  n = dnx_snprintf(buff + offset, DNX_MAX_LOG_BUFF - offset, "[%s: (%d)]: ", func,
    line);
  if (n >= DNX_MAX_LOG_BUFF - offset)
  {
    goto Exit;
  }
  offset += n;

  va_start(va, fmt);
  dnx_vsnprintf(buff + offset, DNX_MAX_LOG_BUFF - offset, fmt, va);
  va_end(va);

Exit:
  switch (level)
  {
  case DNX_LOG_LEVEL_ERROR:
    printk(KERN_ERR "%s", buff);
    return;
  case DNX_LOG_LEVEL_WARNING:
    printk(KERN_WARNING "%s", buff);
    return;
  case DNX_LOG_LEVEL_INFO:
    printk(KERN_INFO "%s", buff);
    return;
  case DNX_LOG_LEVEL_EXTRA:
    printk(KERN_DEBUG "%s", buff);
    return;
  default:
    DNX_ASSERT(0);
    break;
  }
}
Esempio n. 3
0
dnx_status_t dnx_test_time(void)
{
  uint32_t timestamp1, timestamp2;
  dnx_status_t rc = DNX_ERR_OK;

  timestamp1 = dnx_timestamp();
  if (0 == timestamp1)
  {
    dnx_printf("DNX_OS_TIME_TEST: Failed to get first timestamp.\n");
    rc = DNX_ERR_UNKNOWN;
    goto Exit;
  }

  dnx_msleep(100);

  timestamp2 = dnx_timestamp();
  if (0 == timestamp2)
  {
    dnx_printf("DNX_OS_TIME_TEST: Failed to get second timestamp.\n");
    rc = DNX_ERR_UNKNOWN;
    goto Exit;
  }

  if (timestamp1 == timestamp2)
  {
    dnx_printf("DNX_OS_TIME_TEST: Both timestamps have the same value: %u.\n",
      timestamp1);
    rc = DNX_ERR_UNKNOWN;
    goto Exit;
  }

  dnx_printf("DNX_OS_TIME_TEST: First timestamp: %u, second timestamp %u.\n",
    timestamp1, timestamp2);


  dnx_printf("DNX_OS_TIME_TEST: Finished Successfully.\n");

Exit:
  return rc;
}
Esempio n. 4
0
void dnx_log(const char *func, uint32_t line,
  dnx_log_level_t level, const char *fmt, ...)
{
  char buff[DNX_MAX_LOG_BUFF] = {0};
  int offset = 0, n = 0;
  va_list va;

  if (level > os_max_level)
    return;

  if (log_flags & DNX_LOG_FLAG_TIMESTAMP)
  {
    n = dnx_snprintf(buff + offset, DNX_MAX_LOG_BUFF - offset, "[%010u] ",
      dnx_timestamp());
    if (n >= DNX_MAX_LOG_BUFF - offset)
    {
      goto Exit;
    }
    offset += n;
  }

  switch (level) {
  case DNX_LOG_LEVEL_ERROR:
    n = dnx_snprintf(buff + offset, DNX_MAX_LOG_BUFF - offset, "Error: ");
    break;
  case DNX_LOG_LEVEL_WARNING:
    n = dnx_snprintf(buff + offset, DNX_MAX_LOG_BUFF - offset, "Warning: ");
    break;
  case DNX_LOG_LEVEL_INFO:
    n = dnx_snprintf(buff + offset, DNX_MAX_LOG_BUFF - offset, "Info: ");
    break;
  case DNX_LOG_LEVEL_EXTRA:
    n = dnx_snprintf(buff + offset, DNX_MAX_LOG_BUFF - offset, "Extra: ");
    break;
  default:
    DNX_ASSERT(0);
  } 
  if (n >= DNX_MAX_LOG_BUFF - offset)
    {
      goto Exit;
    }

  offset += n;

  n = dnx_snprintf(buff + offset, DNX_MAX_LOG_BUFF - offset, "[%s: (%d)]: ", func,
    line);
  if (n >= DNX_MAX_LOG_BUFF - offset)
  {
    goto Exit;
  }
  offset += n;

  if (os_ident)
  {
    n = dnx_snprintf(buff + offset, DNX_MAX_LOG_BUFF - offset, "%s: ",
      os_ident);
    /* if ident too long. skip it. */
    if (n < DNX_MAX_LOG_BUFF - offset)
    {
      offset +=n;
    }
  }

  va_start(va, fmt);
  n = dnx_vsnprintf(buff + offset, DNX_MAX_LOG_BUFF - offset, fmt, va);
  va_end(va);

  if (n >= DNX_MAX_LOG_BUFF - offset)
  {
    buff[DNX_MAX_LOG_BUFF - 1] = 0;
  }

Exit:
  OutputDebugStringA(buff);

  if (duplicate_to_stderr)
    fprintf(stderr, "%s\n", buff);
}