blob: 78e2cec6f71ccc74a15670011764cab947afd8bd [file] [log] [blame] [edit]
// Copyright 2026 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.
#include "src/lib/dso/cpp/async.h"
#include <zircon/compiler.h>
#include <zircon/types.h>
extern "C" struct dso_async_input {
uint32_t handle_count;
zx_handle_t* handle;
uint32_t* handle_info;
uint32_t name_count;
const char** names;
int argc;
const char** argv;
const char** envp;
fdf_dispatcher_t* dispatcher;
};
typedef struct dso_async_input dso_async_input_t;
__EXPORT
extern "C" int _dso_start_async(dso_async_input_t input) {
// TODO(https://fxbug.dev/403545512): Fill in the implementation of this routine to extract
// relevant handles and pass them to dso_main_async.
const int code = dso_main_async(input.argc, input.argv, input.envp, input.dispatcher);
// Don't call libc finalize, component is still running.
return code;
}