7#ifndef LOOMC_LINK_DEPENDENCY_H_
8#define LOOMC_LINK_DEPENDENCY_H_
60#define LOOMC_ARTIFACT_FORMAT_LINK_DEPENDENCY_REPORT_JSON \
61 "loom-link-dependency-report-json"
64typedef enum loomc_link_dependency_artifact_flag_bits_e {
#define LOOMC_API_EXPORT
Exports a public Loom C API symbol from a shared library build.
Definition base.h:34
size_t loomc_host_size_t
Host allocation and container size type.
Definition base.h:45
loomc_structure_type_t
Structure type values used by extensible public descriptors.
Definition base.h:181
struct iree_status_handle_t * loomc_status_t
Opaque status handle.
Definition base.h:55
loomc_status_t loomc_link_analyze_dependencies(const loomc_link_index_t *link_index, loomc_workspace_t *workspace, const loomc_link_dependency_analysis_options_t *options, loomc_result_t **out_result)
Analyzes strict direct dependencies over a frozen link index.
uint32_t loomc_link_dependency_artifact_flags_t
Bitmask of loomc_link_dependency_artifact_flag_bits_t values.
Definition link_dependency.h:70
loomc_link_dependency_artifact_flag_bits_t
Dependency-analysis artifact flag bit values.
Definition link_dependency.h:64
@ LOOMC_LINK_DEPENDENCY_ARTIFACT_FLAG_REPORT_JSON
Emits a schema-versioned JSON dependency report on success or failure.
Definition link_dependency.h:66
Reusable link indexes for deterministic library and source discovery.
struct loomc_link_index_t loomc_link_index_t
Frozen immutable link index.
Definition link_index.h:71
Shared operation result container.
struct loomc_result_t loomc_result_t
Immutable operation result.
Definition result.h:64
Strict dependency analysis options.
Definition link_dependency.h:78
loomc_string_view_t report_identifier
Identifier for the JSON report artifact.
Definition link_dependency.h:112
loomc_string_view_t component_name
Caller-owned component name used only as diagnostic/report provenance.
Definition link_dependency.h:102
loomc_host_size_t structure_size
Size of this structure in bytes.
Definition link_dependency.h:84
loomc_host_size_t direct_provider_count
Number of entries in direct_provider_ordinals.
Definition link_dependency.h:96
const loomc_host_size_t * direct_provider_ordinals
LIBRARY provider ordinals declared as direct dependencies.
Definition link_dependency.h:93
const void * next
Extension chain for future analysis options.
Definition link_dependency.h:87
loomc_structure_type_t type
Structure type.
Definition link_dependency.h:81
loomc_link_dependency_artifact_flags_t artifact_flags
Optional report artifacts to attach to the returned result.
Definition link_dependency.h:105
Non-owning string view over bytes that need not be NUL-terminated.
Definition base.h:63
Per-worker scratch workspace.
struct loomc_workspace_t loomc_workspace_t
Mutable per-worker scratch workspace.
Definition workspace.h:54