Word Unperfect
public
Read
Owner: themaster
Branch: main
Commits: 0
Git CLI clone URL
git clone https://www.xt-emporium.com/git/word-unperfect.git
Fullscreen desktop URL
Code
Commits
History
Branches
Bug Reports
Discussions
Compare
Settings
word-unperfect
/
rev
/
wp_scanner_logic.h
File editor
#ifndef WP_SCANNER_LOGIC_H #define WP_SCANNER_LOGIC_H #include "wp_file_format.h" #include "wp_layout_shared.h" #include <stdbool.h> #include <stddef.h> #include <stdint.h> typedef struct WpScannerOptions { bool copy_text_bytes; bool copy_format_packets; bool normalize_space_hyphen; bool emit_line_controls; } WpScannerOptions; typedef struct WpScannerStats { size_t records_seen; size_t bytes_consumed; size_t text_bytes_seen; size_t text_bytes_copied; size_t variable_packets_seen; size_t variable_packets_copied; size_t variable_packets_skipped; size_t fixed_packets_copied; size_t fixed_packets_skipped; size_t control_codes_seen; size_t dormant_controls_seen; size_t whitespace_gate_controls; size_t render_dirty_gate_controls; size_t dirty_neutral_controls; size_t extension_scan_stop_controls; size_t line_controls_emitted; size_t scanner_normalized_space; size_t scanner_normalized_hyphen; size_t c0_extended_packets; size_t c1_fixed_packets; size_t c2_fixed_packets; size_t c3_fixed_packets; size_t c4_fixed_packets; size_t c5_fixed_packets; size_t c6_fixed_packets; size_t other_fixed_packets; size_t d0_initial_format_tables; size_t d0_format_table_words; size_t d0_format_table_groups; size_t d0_format_table_sentinels; size_t d0_format_table_nonmonotonic_steps; uint16_t d0_format_table_first_step; uint16_t d0_format_table_max_value; size_t d4_command_packets; size_t d4_layout_state_packets; size_t d4_layout_state_payload_bytes; int d4_layout_state_max_carry_width; uint16_t d4_layout_state_max_wrap_value; size_t d4_variant_snapshot_packets; size_t d4_extension_block_packets; size_t d4_extension_blocks; size_t d4_extension_bytes; size_t d4_pending_span_packets; size_t d4_pending_span_payload_bytes; uint16_t d4_pending_span_max_span_a; uint16_t d4_pending_span_max_span_b; int d4_pending_span_max_carry_width; size_t d4_line_window_packets; size_t d4_line_window_payload_bytes; size_t d4_line_window_extension_packets; size_t d4_line_window_extension_bytes; uint16_t d4_line_window_max_old_extent; uint16_t d4_line_window_max_new_extent; size_t d4_line_metric_packets; size_t d4_line_metric_payload_bytes; uint16_t d4_line_metric_max_position; uint16_t d4_line_metric_max_extent; size_t d4_line_metric_extension_packets; size_t d4_line_metric_extension_bytes; size_t d4_extension_fragment_packets; size_t d4_extension_fragment_bytes; size_t d4_extension_fragment_block_records; size_t d4_extension_fragment_block_bytes; size_t d4_line_build_checkpoint_packets; uint16_t d4_line_build_checkpoint_max_word; size_t d5_repeat_packets; size_t d6_repeat_packets; size_t variable_nested_stream_hints; size_t de31_scanner_bypass_packets; size_t nested_streams_analyzed; size_t nested_stream_records; size_t nested_stream_bytes; size_t nested_stream_fixed_codes; size_t nested_stream_variable_codes; size_t nested_stream_char_records; size_t nested_stream_d4_layout_states; size_t nested_stream_post_compare_packets; size_t nested_stream_repeat_total; size_t nested_stream_max_depth; bool nested_stream_recursion_limit_hit; bool nested_stream_parse_gap; size_t variable_repeat_dispatch_packets; size_t variable_repeat_total; size_t variable_extension_scan_packets; size_t variable_refcount_increment_packets; size_t variable_refcount_decrement_packets; size_t bytes_written; size_t incomplete_records; size_t mismatched_trailers; bool output_truncated; } WpScannerStats; void wp_scanner_default_options(WpScannerOptions *options); void wp_scanner_stats_clear(WpScannerStats *stats); bool wp_scanner_run_stream(WpLayoutGlobals *wl, uint8_t *out, size_t out_capacity, size_t *out_len, const WpScannerOptions *options, WpScannerStats *stats); bool wp_scanner_run_loaded_file(WpLoadedFile *file, uint8_t *out, size_t out_capacity, size_t *out_len, const WpScannerOptions *options, WpScannerStats *stats); bool wp_scanner_run_file(const char *filename, uint8_t *out, size_t out_capacity, size_t *out_len, const WpScannerOptions *options, WpScannerStats *stats); /* Host-safe ports of the Segment 3000 Scanner / Firmware IO logic. */ void __cdecl16near layout_clear_firmware_flag_b113_bit1(WpLayoutGlobals *wl); void __cdecl16near layout_flip_dos_char_sign_and_dos_service_hooks(WpLayoutGlobals *wl); void __cdecl16near firmware_io_prepare_then_transfer_step(WpLayoutGlobals *wl, uint16_t *unaff_DI); uint16_t __cdecl16near firmware_io_word_transfer_step(WpLayoutGlobals *wl, uint16_t *unaff_DI, int in_CX); #endif
Commit message
This repository is read-only for this account.
Repository snapshot
Current branch
main
Visibility
public
Your access
Read
Remote
None
File activity
View file history