blob: 230656367cf6f9f4b4edd8da5112714f15a900e6 [file] [log] [blame]
// Copyright 2019 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#pragma once
#include <zircon/types.h> // zx_handle_t
extern "C" {
// Defined in Scrt1.o, linked into main executable.
[[noreturn]] void _start(zx_handle_t bootstrap);
// Referenced by _start, defined wherever in the main executable's link (it
// could be in a DSO or statically linked into the main executable).
int main(int, char**, char**);
using main_t = decltype(main)*;
// Referenced by _start, defined in libc.
// TODO(mcgrathr): Convert the impl. to C++, have the impl. use this header.
// Probably do as part of bootstrap protocol cleanup.
[[noreturn]] void __libc_start_main(zx_handle_t, main_t);
}