# steam-enums
[](https://crates.io/crates/steam-enums)
[](https://docs.rs/steam-enums)
[](LICENSE)
Auto-generated Rust enums for the Steam protocol, derived from Valve's protobuf definitions and SteamKit sources.
## Installation
```toml
[dependencies]
steam-enums = "0.1"
```
## Overview
Every enum in this crate corresponds to a Steam protocol value — account types, app states, market categories, chat states, lobby types, and hundreds more. All types implement `serde::Serialize` and `serde::Deserialize` for use in API responses, database documents, and protobuf-adjacent payloads.
The crate is code-generated. Do not hand-edit individual enum files.
## Usage
All enums are re-exported from the crate root:
```rust
use steam_enums::{EAccountType, EPersonaState, EChatEntryType};
let account_type = EAccountType::Individual;
let state = EPersonaState::Online;
```
## Conventions
- All enum names follow the original Valve `E`-prefix naming convention (e.g., `EAccountType`, `EAppType`).
- Variants are integer-backed and `#[repr(i32)]` unless the underlying type requires otherwise.
- Unknown or future values can be represented as raw integers via the `__Unknown(i32)` catch-all variant where present.
## Dependencies
| `serde` | Serialize/Deserialize derives for all enum types |