nx_mgmt_api.nx
buildroot/runtime/_hdl_build/nx_mgmt_api.nx
about
dependencies 16 imports · 17 importers
diagram shows first 10 each side; +6 more imports, +7 more importers in the complete lists below.
imports: nx_resource_arbiter.nxnx_status_daemon.nxnx_mgmt_data.nxnx_builddeploy_lib.nxnx_organkind.nxnx_mgmt_core.nxnx_access_lib.nxnx_os_introspect.nxnx_shard_view.nxnx_srcfresh.nxnx_fio.nxnx_sha256.nxnx_buildecho.nxnx_routeguard_lib.nxnx_mgmt_upload.nxnx_tool_exec_allow.nx
imported by: nx_cap_capacity_canonical_gate_t187.nxnx_content_publish_gate.nxnx_discocensus.nxnx_file_install_session_gate_20260910.nxnx_fio_region_gate.nxnx_mgmt_api_gate.nxnx_mgmt_cap_mint_gate.nxnx_mgmt_gaterun_gate.nxnx_mgmt_organ_capacity_gate_t180.nxnx_mgmt_proc_read_gate.nxnx_mgmt_promote_gate.nxnx_mgmt_tools_register_gate.nxnx_mgmt_upload_gate.nxnx_schema_backfill.nxnx_search_profile_registry_canonical_gate_t330.nxnx_toolflags.nxnx_toolgrammar.nx
structs
| 2540 | struct NxInstallRequest |
| 2658 | struct NxInstallReceiptWriter |
consts
| 44 | const MA_MAGIC_4096: i64 = 4096 // NX-UNNAMED: mechanical, collision-free placeholder -- this name RESTATES the value and so carries no meaning. Replace it with a domain term that says WHY, or move the number to a config row. |
| 45 | const MA_MAGIC_16384: i64 = 16384 // NX-UNNAMED: mechanical, collision-free placeholder -- this name RESTATES the value and so carries no meaning. Replace it with a domain term that says WHY, or move the number to a config row. |
| 46 | const MA_MAGIC_8192: i64 = 8192 // NX-UNNAMED: mechanical, collision-free placeholder -- this name RESTATES the value and so carries no meaning. Replace it with a domain term that says WHY, or move the number to a config row. |
| 47 | const MA_MAGIC_262144: i64 = 262144 // NX-UNNAMED: mechanical, collision-free placeholder -- this name RESTATES the value and so carries no meaning. Replace it with a domain term that says WHY, or move the number to a config row. |
| 48 | const MA_MAGIC_1024: i64 = 1024 // NX-UNNAMED: mechanical, collision-free placeholder -- this name RESTATES the value and so carries no meaning. Replace it with a domain term that says WHY, or move the number to a config row. |
| 49 | const MA_MAGIC_2048: i64 = 2048 // NX-UNNAMED: mechanical, collision-free placeholder -- this name RESTATES the value and so carries no meaning. Replace it with a domain term that says WHY, or move the number to a config row. |
| 50 | const MA_MAGIC_2046: i64 = 2046 // NX-UNNAMED: mechanical, collision-free placeholder -- this name RESTATES the value and so carries no meaning. Replace it with a domain term that says WHY, or move the number to a config row. |
| 51 | const MA_MAGIC_8190: i64 = 8190 // NX-UNNAMED: mechanical, collision-free placeholder -- this name RESTATES the value and so carries no meaning. Replace it with a domain term that says WHY, or move the number to a config row. |
| 52 | const MA_MAGIC_65536: i64 = 65536 // NX-UNNAMED: mechanical, collision-free placeholder -- this name RESTATES the value and so carries no meaning. Replace it with a domain term that says WHY, or move the number to a config row. |
| 53 | const MA_MAGIC_16380: i64 = 16380 // NX-UNNAMED: mechanical, collision-free placeholder -- this name RESTATES the value and so carries no meaning. Replace it with a domain term that says WHY, or move the number to a config row. |
| 54 | const MA_MAGIC_262140: i64 = 262140 // NX-UNNAMED: mechanical, collision-free placeholder -- this name RESTATES the value and so carries no meaning. Replace it with a domain term that says WHY, or move the number to a config row. |
| 55 | const MA_MAGIC_60000: i64 = 60000 // NX-UNNAMED: mechanical, collision-free placeholder -- this name RESTATES the value and so carries no meaning. Replace it with a domain term that says WHY, or move the number to a config row. |
| 56 | const MA_MAGIC_32768: i64 = 32768 // NX-UNNAMED: mechanical, collision-free placeholder -- this name RESTATES the value and so carries no meaning. Replace it with a domain term that says WHY, or move the number to a config row. |
| 57 | const MA_MAGIC_1400: i64 = 1400 // NX-UNNAMED: mechanical, collision-free placeholder -- this name RESTATES the value and so carries no meaning. Replace it with a domain term that says WHY, or move the number to a config row. |
| 58 | const MA_MAGIC_2040: i64 = 2040 // NX-UNNAMED: mechanical, collision-free placeholder -- this name RESTATES the value and so carries no meaning. Replace it with a domain term that says WHY, or move the number to a config row. |
| 59 | const MA_MAGIC_65500: i64 = 65500 // NX-UNNAMED: mechanical, collision-free placeholder -- this name RESTATES the value and so carries no meaning. Replace it with a domain term that says WHY, or move the number to a config row. |
| 60 | const MA_MAGIC_8000: i64 = 8000 // NX-UNNAMED: mechanical, collision-free placeholder -- this name RESTATES the value and so carries no meaning. Replace it with a domain term that says WHY, or move the number to a config row. |
| 61 | const MA_MAGIC_16000: i64 = 16000 // NX-UNNAMED: mechanical, collision-free placeholder -- this name RESTATES the value and so carries no meaning. Replace it with a domain term that says WHY, or move the number to a config row. |
| 62 | const MA_MAGIC_12000: i64 = 12000 // NX-UNNAMED: mechanical, collision-free placeholder -- this name RESTATES the value and so carries no meaning. Replace it with a domain term that says WHY, or move the number to a config row. |
| 63 | const MA_MAGIC_300000: i64 = 300000 // NX-UNNAMED: mechanical, collision-free placeholder -- this name RESTATES the value and so carries no meaning. Replace it with a domain term that says WHY, or move the number to a config row. |
| 64 | const MA_MAGIC_4000: i64 = 4000 // NX-UNNAMED: mechanical, collision-free placeholder -- this name RESTATES the value and so carries no meaning. Replace it with a domain term that says WHY, or move the number to a config row. |
| 65 | const MA_MAGIC_8180: i64 = 8180 // NX-UNNAMED: mechanical, collision-free placeholder -- this name RESTATES the value and so carries no meaning. Replace it with a domain term that says WHY, or move the number to a config row. |
| 66 | const MA_MAGIC_10000: i64 = 10000 // NX-UNNAMED: mechanical, collision-free placeholder -- this name RESTATES the value and so carries no meaning. Replace it with a domain term that says WHY, or move the number to a config row. |
| 67 | const MA_MAGIC_2000000: i64 = 2000000 // NX-UNNAMED: mechanical, collision-free placeholder -- this name RESTATES the value and so carries no meaning. Replace it with a domain term that says WHY, or move the number to a config row. |
| 68 | const MA_MAGIC_1600: i64 = 1600 // NX-UNNAMED: mechanical, collision-free placeholder -- this name RESTATES the value and so carries no meaning. Replace it with a domain term that says WHY, or move the number to a config row. |
| 69 | const MA_MAGIC_20480: i64 = 20480 // NX-UNNAMED: mechanical, collision-free placeholder -- this name RESTATES the value and so carries no meaning. Replace it with a domain term that says WHY, or move the number to a config row. |
| 70 | const MA_MAGIC_86400: i64 = 86400 // NX-UNNAMED: mechanical, collision-free placeholder -- this name RESTATES the value and so carries no meaning. Replace it with a domain term that says WHY, or move the number to a config row. |
| 71 | const MA_MAGIC_19456: i64 = 19456 // NX-UNNAMED: mechanical, collision-free placeholder -- this name RESTATES the value and so carries no meaning. Replace it with a domain term that says WHY, or move the number to a config row. |
| 81 | const MA_PROMOTE_LEASE_TTL_S: i64 = 300 |
| 88 | const MA_BUILD_LEASE_TTL_S: i64 = 600 |
| 89 | const MA_DEPLOY_LEASE_TTL_S: i64 = 600 |
| 90 | const MA_RESTART_LEASE_TTL_S: i64 = 300 |
| 105 | const TS_NONRETRY_TTL_S: i64 = 300 |
| 106 | const TS_JITTER_DIV: i64 = 4 |
| 108 | const MA_BODYCAP: i64 = 131072 |
| 117 | const MA_UPLOAD_REQCAP: i64 = 2097152 // 2 MiB -- the scoped upload-request buffer (headers + one big chunk body) |
| 118 | const MA_UPLOAD_TOOBIG: i64 = 0 - 1 // sentinel: declared Content-Length would overflow MA_UPLOAD_REQCAP -> 413 refuse |
| 119 | const MA_SHARDS_CONF: *u8 = "/volume1/homes/elderwesto/nishihost/shards.conf" as *u8 // the shard-registry SSOT the control plane reads |
| 122 | const MA_ROLES: *u8 = "/volume1/ai/hub/roles.tsv" as *u8 |
| 123 | const MA_IDX: *u8 = "/volume1/homes/elderwesto/nishihost/nishi_uid_handle.tsv" as *u8 |
| 124 | const MA_LVL_READ: i64 = 2 // member+ may READ /api/health + /api/services |
| 125 | const MA_LVL_ACT: i64 = 3 // OPERATOR required for the write actions (deploy/rollback/reconcile/restart) |
| 128 | const CM_DAYS_DEFAULT: i64 = 30 // default cap lifetime when `days` is omitted |
| 129 | const CM_DAYS_MAX: i64 = 730 // 2 years -- upper bound so a mint can't grant a near-eternal cap |
| 130 | const CM_SECS_PER_DAY: i64 = 86400 // exp = now + days * this |
| 170 | const MA_ROUTES: *u8 = "/api/login /api/health /api/release_identity /api/services /api/upload /api/deploy /api/deploy_status /api/unpack /api/build /api/gate_run /api/proc_kill /api/promote /api/promote_toolchain /api/tools/register /api/cap/mint /api/hostctl /api/promote_content /api/rollback /api/reconcile /api/restart /api/openapi.json /api/migrate /api/update /api/compare/registry /api/compare/upsert /api/compare/regen /api/compare/publish" |
| 171 | const MA_RT_SP: i64 = 32 // ' ' -- the separator in MA_ROUTES |
| 172 | const MA_RT_QUOTE: i64 = 34 // '"' -- JSON string delimiter |
| 173 | const MA_RT_COMMA: i64 = 44 // ',' -- JSON element separator |
| 174 | const MA_RT_BUF: i64 = 4096 // one index body; MA_ROUTES is ~420 B and the JSON wrapper ~250 B |
| 774 | const MA_MEM_AVAIL_MIN_PERMIL: i64 = 150 |
| 775 | const MA_SWAP_USED_MAX_PERMIL: i64 = 950 |
| 1298 | const MA_DEPLOY_STATUS: *u8 = "/tmp/nx_ma_deploy_status" as *u8 |
| 1609 | const MA_PROMOTE_REFUSE_BACKWARDS: i64 = 0 - 2 |
| 1610 | const MA_PROMOTE_REFUSE_CAPLOSS: i64 = 0 - 3 |
| 2385 | const MA_ORGAN_ALLOWLIST: *u8 = "tool_allowlist.conf" as *u8 |
| 2386 | const MA_ORGAN_CONFCAP: i64 = 262144 |
| 2387 | const MA_ORGAN_MAXARGS: i64 = 12 |
| 2450 | const MA_OA_INVALID: i64 = 0 - 1 |
| 2451 | const MA_OA_CAPACITY: i64 = 0 - 2 |
| 2452 | const MA_OA_ENCODING: i64 = 0 - 3 |
| 2949 | const MA_GR_ROOT: *u8 = "/volume1/homes/elderwesto/nishihost/" as *u8 |
| 2950 | const MA_GR_JOBS: *u8 = "_jobs" as *u8 |
| 2951 | const MA_GR_CLAIM_PROBES: i64 = 100 // the tools-API job lane's anti-collision walk: epoch-second ids, +1 per O_EXCL collision |
| 2952 | const MA_GR_O_EXCL_CREATE: i64 = 193 // O_CREAT(0x40)|O_EXCL(0x80)|O_WRONLY(0x1): the reservation IS the open |
| 2953 | const MA_GR_CAPTURE_CAP: i64 = MA_MAGIC_16384 // FAST-path transcript cap (rb is MA_MAGIC_65536 and ma_gate_esc can double a byte); ANNOUNCED in the payload, no longer silent |
| 2954 | const MA_GR_DEADLINE_MIN_MS: i64 = 1000 |
| 2955 | const MA_GR_DEADLINE_MAX_MS: i64 = MA_MAGIC_300000 |
| 2956 | const MA_GR_SRC_CALLER: i64 = 2 // deadline_src: 0 = compiled default, 1 = conf row (TEA_SRC_*), 2 = caller's deadline_ms |
| 3762 | const MA_D001_BUF: i64 = 262144 |
functions
| 135 | func ma_emit_json(out: *u8, prefix: *u8, body: *u8, body_n: i64) -> i64 |
| 148 | func ma_wants_text(req: *u8, req_n: i64) -> i64 |
| 176 | func ma_routes_json(b: *u8, off: i64) -> i64 called by 1: ma_index |
| 200 | func ma_index_text(out: *u8) -> i64 |
| 212 | func ma_docs(out: *u8) -> i64 |
| 218 | func ma_events(out: *u8) -> i64 |
| 227 | func ma_emit_binary(out: *u8, body: *u8, body_n: i64) -> i64 |
| 237 | func ma_rpc(req: *u8, req_n: i64, out: *u8) -> i64 |
| 256 | func ma_rpc_contract(out: *u8) -> i64 calls 1: ma_emit_200 |
| 273 | func ma_inventory(out: *u8) -> i64 |
| 328 | func ma_index(out: *u8) -> i64 |
| 342 | func op_path(out: *u8, o: i64, path: *u8, method: *u8, summary: *u8, authed: i64) -> i64 |
| 353 | func ma_openapi(out: *u8) -> i64 |
| 386 | func ma_emit_404(out: *u8) -> i64 |
| 391 | func ma_emit_403(out: *u8) -> i64 |
| 396 | func ma_emit_501(out: *u8) -> i64 |
| 410 | func ma_compiled_name(buf: *u8, n: i64, out: *u8) -> i64 |
| 436 | func ma_emit_400(out: *u8, body: *u8) -> i64 |
| 445 | func ma_emit_200(out: *u8, body: *u8) -> i64 |
| 454 | func ma_emit_503(out: *u8, body: *u8) -> i64 |
| 465 | func ma_emit_413(out: *u8) -> i64 |
| 470 | func ma_comma(body: *u8, b: i64, first: *i64) -> i64 |
| 477 | func ma_emit_services(snap: *u8, snap_n: i64, out: *u8) -> i64 |
| 529 | func ma_emit_shards(out: *u8) -> i64 |
| 535 | func ma_emit_services_file(snapfile: *u8, out: *u8) -> i64 |
| 549 | func mnp_readproc(path: *u8, buf: *u8, cap: i64) -> i64 |
| 570 | func mnp_skip_sp(buf: *u8, n: i64, p: i64) -> i64 |
| 578 | func mnp_pdec(buf: *u8, n: i64, p: i64, pend: *i64) -> i64 |
| 591 | func mnp_count_sub(buf: *u8, n: i64, needle: *u8, nl: i64) -> i64 |
| 602 | func mnp_find_after(buf: *u8, n: i64, key: *u8, klen: i64) -> i64 |
| 614 | func mnp_loadavg_milli(buf: *u8) -> i64 |
| 639 | func mnp_ncpu(buf: *u8, cap: i64) -> i64 |
| 646 | func mnp_meminfo_kb(buf: *u8, n: i64, key: *u8, klen: i64) -> i64 |
| 653 | func ma_emit_nodes(out: *u8) -> i64 |
| 691 | func ma_health_count(snap: *u8, snap_n: i64, supb: *i64, nsvcb: *i64, ndownb: *i64) -> i64 |
| 724 | func ma_health_reasons(snap: *u8, snap_n: i64, sup: i64, body: *u8, b0: i64) -> i64 |
| 781 | func ma_key_int(buf: *u8, n: i64, key: *u8) -> i64 |
| 814 | func ma_read_small(path: *u8, buf: *u8, cap: i64) -> i64 |
| 821 | func ma_mem_conf(key: *u8, defv: i64) -> i64 |
| 830 | func ma_mem_pressure() -> i64 |
| 849 | func ma_emit_health(snap: *u8, snap_n: i64, out: *u8) -> i64 |
| 902 | func ma_emit_health_file(snapfile: *u8, out: *u8) -> i64 |
| 914 | func ma_authed(ctx: *NxAuthContext, req: *u8, req_n: i64) -> i64 |
| 926 | func ma_auth_index()->*u8 { if (ma_auth_index_path as i64)!=0 { return ma_auth_index_path };return MA_IDX } called by 1: ma_level_of |
| 927 | func ma_auth_roles()->*u8 { if (ma_auth_roles_path as i64)!=0 { return ma_auth_roles_path };return MA_ROLES } |
| 928 | func ma_level_of(ctx: *NxAuthContext, req: *u8, req_n: i64) -> i64 |
| 936 | func ma_form_yes(body:*u8,body_n:i64,key:*u8,key_n:i64)->i64 |
| 941 | func ma_confirmed(req:*u8,req_n:i64)->i64 |
| 946 | func ma_login(ctx: *NxAuthContext, req: *u8, req_n: i64, out: *u8) -> i64 |
| 999 | func mau_query_off(path: *u8, pn: i64) -> i64 |
| 1009 | func mau_qparam(path: *u8, pn: i64, qoff: i64, name: *u8, name_n: i64, voff: *i64, vlen: *i64) -> i64 |
| 1036 | func mau_qint(path: *u8, off: i64, len: i64) -> i64 |
| 1052 | func mau_build_path(path: *u8, toff: i64, tlen: i64, suffix: *u8, buf: *u8) -> i64 |
| 1064 | func mau_read_seq(sidecar: *u8) -> i64 |
| 1074 | func mau_write_seq(sidecar: *u8, val: i64) -> i64 |
| 1091 | func mau_hex32(dig: *u8, out: *u8) -> i64 |
| 1106 | func mau_hex_eq(path: *u8, hoff: i64, hlen: i64, want: *u8) -> i64 |
| 1122 | func mau_mkdirs(path: *u8) -> i64 |
| 1140 | func ma_do_upload(req: *u8, req_n: i64, out: *u8) -> i64 |
| 1299 | func ma_write_status(s: *u8) -> i64 |
| 1319 | func ma_do_adnet_creative(req: *u8, req_n: i64, out: *u8) -> i64 |
| 1349 | func ma_do_adnet_invoice(out: *u8) -> i64 |
| 1358 | func ma_do_deploy_status(out: *u8) -> i64 |
| 1370 | func ma_sanitize_name(src: *u8, off: i64, len: i64, buf: *u8, cap: i64) -> i64 |
| 1391 | func ma_json_esc_tail(src: *u8, n: i64, maxsrc: i64, dst: *u8, cap: i64) -> i64 |
| 1414 | func ma_read_tail(path: *u8, buf: *u8, cap: i64) -> i64 |
| 1428 | func ma_find(src: *u8, n: i64, pat: *u8) -> i64 |
| 1445 | func ma_path_exists(path: *u8) -> i64 |
| 1462 | func ma_bank_staged(nm: *u8) -> i64 |
| 1483 | func ma_restore_staged(nm: *u8) -> i64 |
| 1504 | func ma_hexstr_eq(a: *u8, b: *u8) -> i64 |
| 1518 | func ma_release_identity(out: *u8) -> i64 |
| 1534 | func ma_file_sha_hex(path: *u8, hexout: *u8) -> i64 |
| 1546 | func ma_build_dup_shadow(nm: *u8) -> i64 |
| 1574 | func ma_build_refusal_body(bao: *u8, ban: i64, batr: i64, nm: *u8, qrc: i64, qout: *u8) -> *u8 |
| 1611 | func ma_promote_refusal_body(mprc: i64, nm: *u8, livehex: *u8) -> *u8 |
| 1638 | func ma_build_enqueue(nm: *u8, qout: *u8) -> i64 |
| 1660 | func ma_runner_refused(pbuf: *u8, pn: i64) -> i64 |
| 1665 | func ma_do_build(req: *u8, req_n: i64, out: *u8) -> i64 |
| 2271 | func ma_do_unpack(req: *u8, req_n: i64, out: *u8) -> i64 |
| 2349 | func ma_gate_esc(d: *u8, o: i64, s: *u8, n: i64) -> i64 |
| 2391 | func ma_organ_resolve(nm: *u8, outp: *u8) -> i64 |
| 2453 | func ma_organ_arg_hex(c: i64) -> i64 |
| 2459 | func ma_organ_arg_legacy(c: i64) -> i64 |
| 2469 | func ma_organ_args_parse(raw: *u8, n: i64, encoded: i64, dst: *u8, cap: i64, av: *i64, maxargs: i64) -> i64 |
| 2519 | func ma_organ_args_form(body: *u8, n: i64, dst: *u8, cap: i64, av: *i64, maxargs: i64) -> i64 |
| 2549 | func ma_install_request_init(r: *NxInstallRequest) -> i64 |
| 2554 | func ma_install_request_close(r: *NxInstallRequest) -> i64 |
| 2562 | func ma_install_component(p: *u8,n: i64) -> i64 |
| 2580 | func ma_install_request_decode(body: *u8,n: i64,r: *NxInstallRequest) -> i64 |
| 2637 | func ma_install_dispatch(req: *u8,n: i64,level: i64,registry: *u8,snapshot_allowance: i64,intent_allowance: i64,scratch: *u8,scratch_bytes: i64,parsed: *NxInstallRequest,result: *NxRegisteredInstallResult) -> i64 |
| 2664 | func ma_ir_byte(w: *NxInstallReceiptWriter,ch: u8) -> i64 |
| 2673 | func ma_ir_text(w: *NxInstallReceiptWriter,s: *u8) -> i64 |
| 2678 | func ma_ir_string(w: *NxInstallReceiptWriter,s: *u8) -> i64 |
| 2698 | func ma_ir_number(w: *NxInstallReceiptWriter,value: i64) -> i64 |
| 2710 | func ma_ir_named_string(w: *NxInstallReceiptWriter,key: *u8,value: *u8) -> i64 |
| 2713 | func ma_ir_named_number(w: *NxInstallReceiptWriter,key: *u8,value: i64) -> i64 |
| 2716 | func ma_install_receipt_fields(w: *NxInstallReceiptWriter,status: i64,when: i64,request: *NxInstallRequest,result: *NxRegisteredInstallResult) -> i64 |
| 2770 | func ma_install_receipt_emit(w: *NxInstallReceiptWriter,status: i64,when: i64,request: *NxInstallRequest,result: *NxRegisteredInstallResult,destination: *u8,capacity: i64) -> i64 |
| 2780 | func ma_do_organ_run(req: *u8, req_n: i64, out: *u8) -> i64 |
| 2903 | func ma_gate_src(nm: *u8, sp: *u8) -> i64 |
| 2966 | func ma_gr_set_fixture(root: *u8, jobs: *u8, conf: *u8) -> i64 { ma_gr_root_ov = root; ma_gr_jobs_ov = jobs; ma_gr_conf_ov = conf; return 0 } called by 1: ma_do_gate_run |
| 2967 | func ma_gr_root() -> *u8 { if (ma_gr_root_ov as i64) != 0 { return ma_gr_root_ov } return MA_GR_ROOT } |
| 2968 | func ma_gr_jobs() -> *u8 { if (ma_gr_jobs_ov as i64) != 0 { return ma_gr_jobs_ov } return MA_GR_JOBS } called by 1: ma_do_gate_run |
| 2969 | func ma_gr_conf() -> *u8 { if (ma_gr_conf_ov as i64) != 0 { return ma_gr_conf_ov } return TEA_WINDOW_CONF } |
| 2971 | func ma_gr_verdict(rc: i64) -> *u8 |
| 2983 | func ma_gr_src_txt(src: i64) -> *u8 |
| 2989 | func ma_gr_jobpath(dst: *u8, jid: i64, sfx: *u8) -> i64 |
| 3000 | func ma_gr_claim(nm: *u8, pathbuf: *u8) -> i64 |
| 3029 | func ma_gate_run_finish() -> i64 |
| 3085 | func ma_gr_emit_freshness(rb: *u8, b0: i64, nm: *u8, ep: *u8) -> i64 |
| 3108 | func ma_do_gate_run(req: *u8, req_n: i64, out: *u8) -> i64 |
| 3241 | func ma_do_proc_kill(req: *u8, req_n: i64, out: *u8) -> i64 |
| 3273 | func ma_do_put_source(req: *u8, req_n: i64, out: *u8) -> i64 |
| 3320 | func ma_do_deploy(req: *u8, req_n: i64, out: *u8) -> i64 |
| 3610 | func ma_do_hostctl(req: *u8, req_n: i64, out: *u8) -> i64 |
| 3636 | func ma_do_promote_content(req: *u8, req_n: i64, out: *u8) -> i64 |
| 3704 | func mau_is_elf(path: *u8) -> i64 |
| 3719 | func ma_hexlc(c: i64) -> i64 |
| 3725 | func ma_hex_eq(hex: *u8, buf: *u8, off: i64, n: i64) -> i64 |
| 3764 | func ma_name_is_oracle(nm: *u8, n: i64) -> i64 |
| 3783 | func ma_d001_scan(path: *u8, buf: *u8) -> i64 |
| 3810 | func ma_inherits_verdict(nm: *u8, nmlen: i64) -> i64 |
| 3847 | func ma_lease_ttl_txt(secs: i64) -> *u8 |
| 3858 | func ts_retry_after_derived(b: *u8, o: i64, ttl_s: i64) -> i64 |
| 3875 | func ma_promote_lease_release(please: *u8) -> i64 |
| 3887 | func ma_promote_refuse(out: *u8, nm: *u8, kind: i64, sfx_kind: i64) -> i64 |
| 3909 | func ma_do_promote(req: *u8, req_n: i64, out: *u8) -> i64 |