1// Copyright 2016 The Fuchsia Authors
2// Copyright (c) 2008 Travis Geiselbrecht
3//
4// Use of this source code is governed by a MIT-style
5// license that can be found in the LICENSE file or at
6// https://opensource.org/licenses/MIT
7
8#pragma once
9
10#include <sys/types.h>
11#include <stdbool.h>
12#include <stdarg.h>
13#include <zircon/compiler.h>
14
15__BEGIN_CDECLS
16
17void platform_debug_panic_start(void);
18void platform_dputs_thread(const char* str, size_t len);
19void platform_dputs_irq(const char* str, size_t len);
20int platform_dgetc(char *c, bool wait);
21static inline void platform_dputc(char c) {
22    platform_dputs_thread(&c, 1);
23}
24
25// Should be available even if the system has panicked.
26void platform_pputc(char c);
27int platform_pgetc(char *c, bool wait);
28
29__END_CDECLS
30