fe2a6db786
rust / build / test / clippy / fmt (push) Has been cancelled
Layout:
- src/ .NET 10 x64 reference: MxNativeCodec, MxNativeClient,
MxAsbClient, probes, tests, harnesses. Executable spec.
- design/ Architectural plan for the Rust port (M0–M6), error
model, protocol invariants, risks (R1–R16), adversarial
review log (review.md).
- rust/ Rust workspace. M0 skeleton + M1 codec parity.
mxaccess-codec: 215 unit tests + 2 cross-implementation
parity tests (byte-identical against .NET reference).
Other crates are M0 stubs awaiting M2+.
- captures/ Frida + netsh + pcap evidence per CLAUDE.md
("captures are evidence, not throwaway logs").
- analysis/ Decompiled C# (frida/proxy/decompiled-*),
Ghidra exports for native DLLs (`exports/` only —
working state at `projects/` and AVEVA's input
binaries at `input/` are gitignored).
- docs/ Reverse-engineering reference docs.
- tools/ Setup-LiveProbeEnv.ps1 (Infisical credential fetcher),
Compute-Crc.ps1 (.NET parity helper).
- .github/workflows/ Rust CI: fmt + build + test + clippy on Windows.
- LICENSE MIT (Joseph Doherty, 2026).
Verified:
- cargo test --workspace → 217 passed (215 unit + 2 .NET parity), 0 failed
- cargo clippy --workspace -- -D warnings → clean
- cargo fmt --all -- --check → clean
- cargo publish --dry-run -p mxaccess-codec → packages cleanly
Excluded from history (see .gitignore):
- **/bin, **/obj, **/target — build artifacts
- analysis/ghidra/projects/ — Ghidra working state (regenerable)
- analysis/ghidra/input/ — AVEVA proprietary DLLs (vendor IP)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
52 lines
1.5 KiB
C#
52 lines
1.5 KiB
C#
namespace Interop.LmxProxy;
|
|
|
|
public enum MxStatusDetail
|
|
{
|
|
MX_S_Success = 0,
|
|
MX_E_RequestTimedOut = 1,
|
|
MX_E_PlatformCommunicationError = 2,
|
|
MX_E_InvalidPlatformId = 3,
|
|
MX_E_InvalidEngineId = 4,
|
|
MX_E_EngineCommunicationError = 5,
|
|
MX_E_InvalidReference = 6,
|
|
MX_E_NoGalaxyRepository = 7,
|
|
MX_E_InvalidObjectId = 8,
|
|
MX_E_ObjectSignatureMismatch = 9,
|
|
MX_E_AttributeSignatureMismatch = 10,
|
|
MX_E_ResolvingAttribute = 11,
|
|
MX_E_ResolvingObject = 12,
|
|
MX_E_WrongDataType = 13,
|
|
MX_E_WrongNumberOfDimensions = 14,
|
|
MX_E_InvalidIndex = 15,
|
|
MX_E_IndexOutOfOrder = 16,
|
|
MX_E_DimensionDoesNotExist = 17,
|
|
MX_E_ConversionNotSupported = 18,
|
|
MX_E_UnableToConvertString = 19,
|
|
MX_E_Overflow = 20,
|
|
MX_E_NmxVersionMismatch = 21,
|
|
MX_E_NmxInvalidCommand = 22,
|
|
MX_E_LmxVersionMismatch = 23,
|
|
MX_E_LmxInvalidCommand = 24,
|
|
MX_E_GalaxyRepositoryBusy = 25,
|
|
MX_E_EngineOverloaded = 26,
|
|
MX_E_InvalidPrimitiveId = 1000,
|
|
MX_E_InvalidAttributeId = 1001,
|
|
MX_E_InvalidPropertyId = 1002,
|
|
MX_E_IndexOutOfRange = 1003,
|
|
MX_E_DataOutOfRange = 1004,
|
|
MX_E_IncorrectDataType = 1005,
|
|
MX_E_NotReadable = 1006,
|
|
MX_E_NotWriteable = 1007,
|
|
MX_E_WriteAccessDenied = 1008,
|
|
MX_E_UnknownError = 1009,
|
|
MX_E_ObjectInitializing = 1010,
|
|
MX_E_EngineInitializing = 1011,
|
|
MX_E_SecuredWrite = 1012,
|
|
MX_E_VerifiedWrite = 1013,
|
|
MX_E_NoAlarmAckPrivilege = 1014,
|
|
MX_E_AlarmAckedAlready = 1015,
|
|
MX_E_UserNotHavingAccessRights = 1016,
|
|
MX_E_VerifierNotHavingVerifyRights = 1017,
|
|
MX_E_AutomationObjectSpecificError = 8000
|
|
}
|