code wiki / (root) / nx_file_install.nx

nx_file_install.nx

buildroot/runtime/nx_file_install.nx

21537 B413 linesdepth 6pulls 6 transitivereach 42 importersview sourcekind librarytopic file
docsdependenciesstructsconstsfunctions

about

Recoverable file installation. An immutable, checksummed intent identifies every pathname and both artifact digests. No process-local pointer is persisted. Runtime/service health is a later acceptance step, not implied by file install.

dependencies 1 imports · 9 importers

nx_fio.nx nx_file_install.nx nx_fileop.nx nx_fileop_intent_20260910.nx nx_fio_region_gate.nx nx_hostctl.nx nx_mgmt_cap_data_candidate_t186.nx nx_mgmt_data.nx nx_mgmt_data.pre-toolchain-2026091 nx_mgmt_deploy_data_candidate_t185 nx_rollback_executor_t185.nx

imports: nx_fio.nx

imported by: nx_fileop.nxnx_fileop_intent_20260910.nxnx_fio_region_gate.nxnx_hostctl.nxnx_mgmt_cap_data_candidate_t186.nxnx_mgmt_data.nxnx_mgmt_data.pre-toolchain-20260910.nxnx_mgmt_deploy_data_candidate_t185.nxnx_rollback_executor_t185.nx

structs

16struct NxFileInstallPlan
27struct NxFileInstallResult
314struct NxFileInstallSession

consts

7const FI_MAGIC: *u8="NXFINST1"
8const FI_MAGIC_BYTES: i64=8
9const FI_DIGEST_BYTES: i64=32
10const FI_WORD_BYTES: i64=8
11const FI_PATH_FIELDS: i64=4
12const FI_HEADER_BYTES: i64=FI_MAGIC_BYTES + FI_DIGEST_BYTES*2 + FI_WORD_BYTES*(1+FI_PATH_FIELDS)
13const FI_ENOENT: i64=0-2
14const FI_EACCES: i64=0-13 // Linux errno: recorded target is outside the supplied authorization.

functions

34func fi_len(s: *u8) -> i64
38func fi_same(a: *u8,b: *u8,n: i64) -> i64
43func fi_copy(dst: *u8,src: *u8,n: i64) -> i64
48func fi_path_valid(path: *u8) -> i64
65func fi_paths_distinct(names: *i64) -> i64
80func fi_word_put(p: *u8,v: i64) -> i64
called by 1: fi_plan_create
83func fi_word_get(p: *u8) -> i64
called by 1: fi_plan_decode
87func fi_plan_init(p: *NxFileInstallPlan) -> i64
91func fi_plan_close(p: *NxFileInstallPlan) -> i64
98func fi_plan_decode(bytes: *u8,n: i64,p: *NxFileInstallPlan) -> i64
137func fi_plan_read(path: *u8,budget: i64,p: *NxFileInstallPlan) -> i64
158func fi_plan_create(path: *u8,source: *u8,live: *u8,candidate: *u8,backup: *u8,mode: i64,new_digest: *u8,old_digest: *u8,budget: i64,out: *NxFileWriteResult) -> i64
200func fi_sync_existing(path: *u8,out: *NxFileWriteResult) -> i64
208func fi_prepare_expected(source: *u8,path: *u8,digest: *u8,mode: i64,buffer: *u8,capacity: i64,out: *NxFilePrepareResult) -> i64
225func fi_install_owned(p: *NxFileInstallPlan,buffer: *u8,capacity: i64,out: *NxFileInstallResult) -> i64
258func fi_install_core(plan_path: *u8,record_budget: i64,buffer: *u8,capacity: i64,allowed_live: *u8,expected_intent: *u8,out: *NxFileInstallResult) -> i64
298func fi_install(plan_path: *u8,record_budget: i64,buffer: *u8,capacity: i64,out: *NxFileInstallResult) -> i64
called by 1: frg_install_checks calls 1: fi_install_core
301func fi_install_bound(plan_path: *u8,record_budget: i64,buffer: *u8,capacity: i64,allowed_live: *u8,expected_intent: *u8,out: *NxFileInstallResult) -> i64
321func fi_session_init(s:*NxFileInstallSession)->i64
325func fi_session_bind(p:*NxFileInstallPlan,allowed_live:*u8,expected_intent:*u8)->i64
336func fi_session_close(s:*NxFileInstallSession)->i64
345func fi_session_begin(path:*u8,budget:i64,allowed_live:*u8,expected_intent:*u8,s:*NxFileInstallSession)->i64
361func fi_session_result_init(out:*NxFileInstallResult)->i64
366func fi_session_publish(s:*NxFileInstallSession,buffer:*u8,capacity:i64,out:*NxFileInstallResult)->i64
373func fi_session_reverse(s:*NxFileInstallSession,path:*u8,budget:i64,expected_intent:*u8,buffer:*u8,capacity:i64,out:*NxFileInstallResult)->i64
392func fi_session_prepare_reverse(s:*NxFileInstallSession,path:*u8,budget:i64,expected_intent:*u8,buffer:*u8,capacity:i64,out:*NxFileInstallResult)->i64