windows-erg 0.1.0

Ergonomic, idiomatic Rust wrappers for Windows APIs
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
rust-version = "1.90"
name = "windows-erg"
version = "0.1.0"
authors = ["Samuel Garces <samuel.garces@protonmail.com>"]
build = false
include = [
    "src/**",
    "examples/**",
    "README.md",
    "LICENSE",
    "Cargo.toml",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Ergonomic, idiomatic Rust wrappers for Windows APIs"
documentation = "https://docs.rs/windows-erg"
readme = "README.md"
keywords = [
    "windows",
    "api",
    "ergonomic",
    "system",
    "process",
]
categories = [
    "os::windows-apis",
    "api-bindings",
]
license = "MIT"
repository = "https://github.com/secsamdev/windows-erg"

[package.metadata.docs.rs]
default-target = "x86_64-pc-windows-msvc"
targets = [
    "x86_64-pc-windows-msvc",
    "aarch64-pc-windows-msvc",
]

[features]
default = []
full = ["serde"]
serde = ["dep:serde"]

[lib]
name = "windows_erg"
path = "src/lib.rs"

[[example]]
name = "desktop_tray_notification"
path = "examples/desktop_tray_notification.rs"

[[example]]
name = "desktop_windows"
path = "examples/desktop_windows.rs"

[[example]]
name = "etw_decoded_events"
path = "examples/etw_decoded_events.rs"

[[example]]
name = "etw_multi_provider"
path = "examples/etw_multi_provider.rs"

[[example]]
name = "etw_network_monitor"
path = "examples/etw_network_monitor.rs"

[[example]]
name = "etw_process_monitor"
path = "examples/etw_process_monitor.rs"

[[example]]
name = "etw_registry_monitor"
path = "examples/etw_registry_monitor.rs"

[[example]]
name = "etw_stop_with_wait"
path = "examples/etw_stop_with_wait.rs"

[[example]]
name = "etw_user_mode_provider"
path = "examples/etw_user_mode_provider.rs"

[[example]]
name = "evt_custom_parsing"
path = "examples/evt_custom_parsing.rs"

[[example]]
name = "evt_filter"
path = "examples/evt_filter.rs"

[[example]]
name = "evt_query_basic"
path = "examples/evt_query_basic.rs"

[[example]]
name = "evt_serde"
path = "examples/evt_serde.rs"

[[example]]
name = "evt_streaming"
path = "examples/evt_streaming.rs"

[[example]]
name = "pipes_list"
path = "examples/pipes_list.rs"

[[example]]
name = "process_basics"
path = "examples/process_basics.rs"

[[example]]
name = "process_metrics"
path = "examples/process_metrics.rs"

[[example]]
name = "process_mitigation"
path = "examples/process_mitigation.rs"

[[example]]
name = "process_monitoring"
path = "examples/process_monitoring.rs"

[[example]]
name = "process_spawn_parented"
path = "examples/process_spawn_parented.rs"

[[example]]
name = "process_tree"
path = "examples/process_tree.rs"

[[example]]
name = "process_wait_any"
path = "examples/process_wait_any.rs"

[[example]]
name = "proxy_for_url"
path = "examples/proxy_for_url.rs"

[[example]]
name = "proxy_system"
path = "examples/proxy_system.rs"

[[example]]
name = "raw_file_copy"
path = "examples/raw_file_copy.rs"

[[example]]
name = "registry_basics"
path = "examples/registry_basics.rs"

[[example]]
name = "registry_convenience"
path = "examples/registry_convenience.rs"

[[example]]
name = "registry_enumerate"
path = "examples/registry_enumerate.rs"

[[example]]
name = "registry_operations"
path = "examples/registry_operations.rs"

[[example]]
name = "registry_safe_access"
path = "examples/registry_safe_access.rs"

[[example]]
name = "registry_write"
path = "examples/registry_write.rs"

[[example]]
name = "security_permissions"
path = "examples/security_permissions.rs"

[[example]]
name = "service_basics"
path = "examples/service_basics.rs"

[[example]]
name = "service_enumerate"
path = "examples/service_enumerate.rs"

[[example]]
name = "system_snapshot"
path = "examples/system_snapshot.rs"

[[example]]
name = "wait_multi_object"
path = "examples/wait_multi_object.rs"

[dependencies.quick-xml]
version = "0.39"
features = ["serialize"]

[dependencies.serde]
version = "1.0"
features = ["derive"]
optional = true

[dependencies.windows]
version = "0.58"
features = [
    "Win32_System_Threading",
    "Win32_System_Diagnostics_Debug",
    "Win32_System_Diagnostics_ToolHelp",
    "Win32_System_Environment",
    "Win32_System_ProcessStatus",
    "Win32_System_Memory",
    "Win32_System_SystemInformation",
    "Win32_System_Registry",
    "Win32_System_Kernel",
    "Win32_System_Pipes",
    "Win32_System_SystemServices",
    "Win32_System_Services",
    "Win32_System_IO",
    "Win32_System_Ioctl",
    "Win32_System_LibraryLoader",
    "Wdk_Foundation",
    "Wdk_Storage_FileSystem",
    "Wdk_System_Threading",
    "Win32_Security",
    "Win32_Security_Authorization",
    "Win32_System_EventLog",
    "Win32_System_Diagnostics_Etw",
    "Win32_System_Time",
    "Win32_Storage_FileSystem",
    "Win32_NetworkManagement_IpHelper",
    "Win32_NetworkManagement_Ndis",
    "Win32_NetworkManagement_WindowsFirewall",
    "Win32_Networking_WinSock",
    "Win32_Networking_WinInet",
    "Win32_Networking_WinHttp",
    "Win32_Foundation",
    "Win32_UI_Shell",
    "Win32_UI_WindowsAndMessaging",
    "Win32_Graphics_Gdi",
    "Win32_Graphics_Dwm",
    "Win32_System_Com",
]

[dev-dependencies.tempfile]
version = "3.8"

[profile.dev]
opt-level = 0

[profile.release]
opt-level = 3
lto = true
codegen-units = 1
strip = true