pdcomm_gem_formatted_program_dry_run
Function
Analyzes the selected formatted program against the capability catalog.
PdcommStatus pdcomm_gem_formatted_program_dry_run(PdcommTcpEndpoint *endpoint, const PdcommGemFormattedProgramSelectionToken *token, const PdcommGemFormattedProgramDryRunOptions *options, PdcommGemFormattedProgramDryRunReportHandle **out_report)Equipment only. The selection must be current: the token must match the endpoint's selection, and the selected store entry must be unchanged. When capabilities are not configured or no catalog is installed, the report contains a #PDCOMM_GEM_FORMATTED_PROGRAM_DRY_RUN_CAPABILITY_MISSING issue; its capability_revision is the current catalog revision, or 0 when capabilities are not configured. A connection is not required.
Parameters
| Name | Description |
|---|---|
endpoint | Equipment endpoint with formatted program queries configured and a program selected. |
token | Selection token from pdcomm_gem_formatted_program_select(). |
options | Dry-run options. |
out_report | Receives the new report. When endpoint is valid and not poisoned, it is set to NULL before any other check, so it is NULL after every later failure. |
Returns
#PDCOMM_OK on success (whatever the report outcome); #PDCOMM_INVALID_ARGUMENT when a pointer is NULL, a structure size, version, or reserved field is invalid, or the policy version is not supported; #PDCOMM_STALE_TOKEN when nothing is selected, the selection was cleared or replaced, the token belongs to another endpoint or session, or the selected store entry changed; #PDCOMM_INVALID_STATE when the endpoint is not a GEM equipment or formatted program queries are not configured; #PDCOMM_LIMIT_EXCEEDED when the program exceeds max_program_encoded_bytes, the issues exceed max_issues, or a selection limit is exceeded; #PDCOMM_BACKPRESSURE when the endpoint holds a staged TCP event; #PDCOMM_ALLOCATION_FAILED; #PDCOMM_POISONED.
Notes
- Ownership: release the report with pdcomm_gem_formatted_program_dry_run_destroy().