1425bb815Sopenharmony_ci/* Copyright JS Foundation and other contributors, http://js.foundation
2425bb815Sopenharmony_ci *
3425bb815Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
4425bb815Sopenharmony_ci * you may not use this file except in compliance with the License.
5425bb815Sopenharmony_ci * You may obtain a copy of the License at
6425bb815Sopenharmony_ci *
7425bb815Sopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
8425bb815Sopenharmony_ci *
9425bb815Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
10425bb815Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS
11425bb815Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12425bb815Sopenharmony_ci * See the License for the specific language governing permissions and
13425bb815Sopenharmony_ci * limitations under the License.
14425bb815Sopenharmony_ci */
15425bb815Sopenharmony_ci
16425bb815Sopenharmony_ci
17425bb815Sopenharmony_ci#include <stdio.h>
18425bb815Sopenharmony_ci#include <stdarg.h>
19425bb815Sopenharmony_ci#include <sys/time.h>
20425bb815Sopenharmony_ci
21425bb815Sopenharmony_ci#include "esp_common.h"
22425bb815Sopenharmony_ci
23425bb815Sopenharmony_ci#include "jerryscript-port.h"
24425bb815Sopenharmony_ci
25425bb815Sopenharmony_ci/**
26425bb815Sopenharmony_ci * Provide log message implementation for the engine.
27425bb815Sopenharmony_ci */
28425bb815Sopenharmony_civoid
29425bb815Sopenharmony_cijerry_port_log (jerry_log_level_t level, /**< log level */
30425bb815Sopenharmony_ci                const char *format, /**< format string */
31425bb815Sopenharmony_ci                ...)  /**< parameters */
32425bb815Sopenharmony_ci{
33425bb815Sopenharmony_ci  (void) level; /* ignore log level */
34425bb815Sopenharmony_ci
35425bb815Sopenharmony_ci  va_list args;
36425bb815Sopenharmony_ci  va_start (args, format);
37425bb815Sopenharmony_ci  vfprintf (stderr, format, args);
38425bb815Sopenharmony_ci  va_end (args);
39425bb815Sopenharmony_ci} /* jerry_port_log */
40425bb815Sopenharmony_ci
41425bb815Sopenharmony_ci/**
42425bb815Sopenharmony_ci * Provide fatal message implementation for the engine.
43425bb815Sopenharmony_ci */
44425bb815Sopenharmony_civoid
45425bb815Sopenharmony_cijerry_port_fatal (jerry_fatal_code_t code)
46425bb815Sopenharmony_ci{
47425bb815Sopenharmony_ci  jerry_port_log (JERRY_LOG_LEVEL_ERROR, "Jerry Fatal Error!\n");
48425bb815Sopenharmony_ci  while (true);
49425bb815Sopenharmony_ci} /* jerry_port_fatal */
50425bb815Sopenharmony_ci
51425bb815Sopenharmony_ci/**
52425bb815Sopenharmony_ci * Implementation of jerry_port_get_current_time.
53425bb815Sopenharmony_ci *
54425bb815Sopenharmony_ci * @return current timer's counter value in milliseconds
55425bb815Sopenharmony_ci */
56425bb815Sopenharmony_cidouble
57425bb815Sopenharmony_cijerry_port_get_current_time (void)
58425bb815Sopenharmony_ci{
59425bb815Sopenharmony_ci  uint32_t rtc_time = system_rtc_clock_cali_proc();
60425bb815Sopenharmony_ci  return (double) rtc_time;
61425bb815Sopenharmony_ci} /* jerry_port_get_current_time */
62425bb815Sopenharmony_ci
63425bb815Sopenharmony_ci/**
64425bb815Sopenharmony_ci * Dummy function to get the time zone adjustment.
65425bb815Sopenharmony_ci *
66425bb815Sopenharmony_ci * @return 0
67425bb815Sopenharmony_ci */
68425bb815Sopenharmony_cidouble
69425bb815Sopenharmony_cijerry_port_get_local_time_zone_adjustment (double unix_ms, bool is_utc)
70425bb815Sopenharmony_ci{
71425bb815Sopenharmony_ci  /* We live in UTC. */
72425bb815Sopenharmony_ci  return 0;
73425bb815Sopenharmony_ci} /* jerry_port_get_local_time_zone_adjustment */
74