The program catalog: names confined to --programs, reading a program's manifest and PTX, image hashes and identities
$ sexc add @ajax/mesh-loader- total 3
- drwxr-xr-x-../
- drwxr-xr-x-Oct 27 02:56v/# 1 version
- drwxr-xr-x-Oct 27 02:56files/# the files of 0.1.0
- latest
- 0.1.0, published Oct 27 02:56 by ajax
- owners
- ajax
- license
- MIT
- dependencies
- @ajax/mesh-text ^0.1.0, @ajax/mesh-manifest ^0.1.0, @ajax/mesh-abi-fnv ^0.1.0, @ajax/mesh-check ^0.1.0
- dependents
- @ajax/mesh-backend, @ajax/mesh-control, @ajax/mesh-driver, @ajax/mesh-exec-wasm, @ajax/mesh-inproc, @ajax/mesh-mps, @ajax/mesh-native, @ajax/mesh-shared, @ajax/mesh-state-file
- keywords
- mesh alphaos loader catalog program
- homepage
- https://github.com/thomasdavis/alpha-c-mesh/tree/main/packages/mesh-loader
- repository
- https://github.com/thomasdavis/alpha-c-mesh
1# @ajax/mesh-loader 2 3The program catalog under `--programs DIR`: catalog names (`[a-z0-9-]`, never a path), resolving them inside the root (symlinks that escape are refused), reading a program's manifest and PTX, image hashes (fnv1a64 with `param` folded in), a native program's identity (manifest + `source.hash`), the catalog identity rule, the peer hash check and the catalog listing. 4 5## Ported from 6 7[alpha-rust-mesh](https://github.com/rsafier/alpha-rust-mesh) (Richard Safier, MIT): crates/mesh-host/src/loader.rs (`Payload`, `catalog_name`, `resolve`, `read`, `image_hash`, `identity`, `check_hash`, `catalog`) and native.rs (`identity`). 8 9## Tests 10 11`tests/loader.c`: the Rust's `names_only` and `confined_and_catalog`, reads with and without PTX, identities, hashes and the exact error messages. 12 13## Licence 14 15MIT. See the repository's LICENSE.