?? RIGHT := 110 ??
?? TITLE := 'System Constant Management' ??
MODULE sym$system_constant_manager;
?? RIGHT := 110 ??

{ PURPOSE:
{   This module contains procedures that allow the operator to fetch and
{   modify the values of system constants during deadstart or during system
{   operation.  The priviledge of modifying the constants is restricted to the
{   system job.

?? NEWTITLE := '  Global Declarations Referenced by this module' ??
?? PUSH (LISTEXT := ON) ??
*copyc oss$mainframe_paged_literal
*copyc cyc$max_string_size
*copyc clc$max_integer
*copyc clc$min_integer
*copyc jmc$maximum_constants
*copyc jmc$maximum_job_count
*copyc jmc$maximum_output_count
*copyc nac$namve_debug_mode
*copyc syc$job_recovery_enabled
*copyc syc$monitor_request_codes
*copyc cle$work_area_overflow
{copyc cle$ecc_expression_result
*copyc sye$command_processor_errors
*copyc clt$work_area
*copyc dft$family_list
*copyc dmt$mat_change_request
*copyc dst$rb_system_deadstart_status
*copyc lgt$log_attribute_entry
*copyc mmt$page_map_offsets
*copyc mmt$page_queue_list
*copyc ost$global_task_id
*copyc ost$name
*copyc ost$name_reference
*copyc pmt$global_logs
*copyc syt$detailed_critical_displays
*copyc syt$sys_constant_saved_values
*copyc syt$system_constant_value_group
*copyc syt$system_constant_values
?? POP ??
?? EJECT ??
*copyc clp$trimmed_string_size
*copyc dmp$fetch_debug_option_value
*copyc dmp$store_debug_option_value
{*copyc iop$fetch_debug_option_value
{copyc iop$store_debug_option_value
*copyc mmp$store_site_active_q_cnt_r1
*copyc osp$append_status_parameter
*copyc osp$append_status_integer
*copyc osp$check_for_desired_mf_class
*copyc osp$set_status_abnormal
*copyc osp$system_error
*copyc bav$force_direct_tape_io
*copyc bav$max_allowed_tape_block_size
*copyc bav$max_bytes_per_tape_io
*copyc bav$max_indirect_tape_block
*copyc bav$use_assign_pages_for_tape
*copyc cmv$acquire_pp_for_redundant_ch
*copyc cmv$enable_auto_reconfiguration
*copyc cmv$enable_head_shift_message
*copyc dfv$file_server_debug_enabled
*copyc dfv$file_server_info_enabled
*copyc dfv$job_recovery_enabled
*copyc dfv$maximum_client_job_lists
*copyc dfv$number_served_family_lists
*copyc dfv$task_queue_timeout_interval
*copyc dmv$hash_modifier_index
*copyc dmv$mat_change_count_max
*copyc dmv$permanent_file_overflow
*copyc dmv$recycle_device_log
*copyc dmv$temporary_file_overflow
*copyc dmv$test_recovery
*copyc dpv$enable_console_bell
*copyc dsv$automatic_pp_reload
*copyc dsv$automatic_system_restart
*copyc dsv$mainframe_type
*copyc dsv$unload_deadstart_tape
*copyc iov$enforce_read_priority
*copyc jmv$input_file_recovery_option
*copyc jmv$jcb
*copyc jmv$maximum_job_classes
*copyc jmv$maximum_known_jobs
*copyc jmv$maximum_known_outputs
*copyc jmv$maximum_service_classes
*copyc jmv$output_file_recovery_option
*copyc jmv$qfile_recovery_option
*copyc jmv$scan_idle_dispatch_interval
*copyc jmv$sched_memory_wait_factor
*copyc jmv$scheduler_wait_time
*copyc jmv$swap_jobs_in_long_wait
*copyc jmv$system_ajl_ordinal
*copyc jmv$system_ijl_ordinal
*copyc jsv$age_before_swap_percentage
*copyc jsv$age_jws_before_swap
*copyc jsv$enable_debug_code
*copyc jsv$enable_swap_file_statistics
*copyc jsv$halt_on_swapin_failure
*copyc jsv$free_working_set_on_swapout
*copyc jsv$maximum_pages_to_swap
*copyc jsv$max_pages_first_swap_task
*copyc jsv$max_time_swap_io_complete
*copyc jsv$max_time_swap_io_not_init
*copyc jsv$think_expiration_time
*copyc i#call_monitor
*copyc mmv$aggressive_aging_level
*copyc mmv$aging_algorithm
*copyc mmv$assign_multiple_pages
*copyc mmv$avail_modified_queue_max
*if $variable(mmv$test_forced_use_cache_maps, declared) <> 'UNKNOWN'
*copyc mmv$benchmark_run
*else
{ -------- Declarations for forcing the use of cache and maps omitted at compile time --------
*ifend
*copyc mmv$disable_write_for_perf_meas
*copyc mmv$file_allocation_interval
*if $variable(mmv$test_forced_use_cache_maps, declared) <> 'UNKNOWN'
*copyc mmv$force_use_of_cache_and_maps
*else
{ -------- Declarations for forcing the use of cache and maps omitted at compile time --------
*ifend
*copyc mmv$dynamic_aging_enabled
*copyc mmv$free_queue_threshold
*copyc mmv$gpql
*copyc mmv$jws_queue_age_interval
*copyc mmv$last_active_shared_queue
*copyc mmv$max_pages_no_file
*copyc mmv$min_avail_pages
*copyc mmv$multi_page_write
*copyc mmv$no_memory_buffering
*copyc mmv$periodic_call_interval
*copyc mmv$read_tu_options
*copyc mmv$shared_pages_in_jws
*copyc mmv$shared_queue_age_interval
*copyc mmv$swapping_aic
*copyc mmv$write_aged_out_pages
*copyc mtv$halt_on_proc_malf
*copyc mtv$aborted_task_threshold
*copyc mtv$automatic_unstep_resume
*copyc mtv$halt_cpu_ring_number
*copyc mtv$halt_on_proc_malf
*copyc mtv$halt_on_cpu_timeout
*copyc mtv$processor_due_threshold
*copyc mtv$sys_core_init_complete
*copyc syv$enable_heap_trace
*copyc syv$debugger_page_wait_lines
*copyc syv$dflt_debug_output_disposal
*copyc syv$enable_fault_injection
*copyc syv$max_debug_output_lines
*copyc syv$nosve_internal_operations
*copyc syv$verify_heap_linkage
*copyc tmv$cycle_delay_time
*copyc tmv$halt_on_hung_task
*copyc tmv$max_idle_sit_value
*copyc tmv$timed_wait_not_queued

?? TITLE := '  Global Declarations Declared by this module', EJECT ??

  CONST
*if $variable(mmv$test_forced_use_cache_maps, declared) <> 'UNKNOWN'
    c$value_table_length = 244;
*else
    c$value_table_length = 242;
*ifend

  TYPE
    t$sys_const_saved_values_kinds = set of syt$sys_const_saved_values_kind,

    t$value_table_type_kinds = (v_integer, v_halfword, v_byte, v_boolean),
    t$value_table_type = record
      name: ost$name,
      groups: syt$system_const_value_groups,
      min: integer,
      max: integer,
      case value_type: t$value_table_type_kinds of
      = v_integer =
        integer_p: ^integer,
      = v_halfword =
        halfword_p: ^0 .. 0ffffffff(16),
      = v_byte =
        byte_p: ^0 .. 255,
      = v_boolean =
        boolean_p: ^boolean,
      casend,
    recend,

    t$value_table = array [1 .. c$value_table_length] of t$value_table_type,
    t$saved_value_table = array [1 .. c$value_table_length] of syt$sys_constant_saved_values;

  VAR
    v$sys_const_saved_val_kind_name: [READ, oss$mainframe_paged_literal]
          array [syt$sys_const_saved_values_kind] of ost$name := [
{SYC$SCSV_OS_DEFAULT_VALUES     } 'OS_DEFAULT',
{SYC$SCSV_DC_FILE_VALUES        } 'DC_FILE',
{SYC$SCSV_DS_COMPLETE_VALUES    } 'DEADSTART_COMPLETE',
{SYC$SCSV_SITE_ALTERNATE_VALUES } 'SITE_ALTERNATE_VALUES'];

  VAR
    v$defined_saved_values: [STATIC] t$sys_const_saved_values_kinds := $t$sys_const_saved_values_kinds [];

  VAR
    avv$debug_accounting_validation: [XDCL, #GATE] boolean := FALSE,
    bav$verify_tft_before_cleanup: [XDCL, #GATE] boolean := FALSE,
    clv$command_statistics_enabled: [XDCL, #GATE] boolean := FALSE,
    clv$log_secure_parameters: [XDCL, #GATE] boolean := TRUE,
    cmv$debug: [XREF] 0 .. 255,
    cmv$display_config_debug_msg: [XREF] boolean,
    cmv$enable_task_cleanup_count: [XDCL, #GATE] boolean := FALSE,
    cmv$free_trap: [XDCL, #GATE] boolean := FALSE,
    dmv$space_messages_to_console: [XDCL, #GATE] boolean := TRUE,
    dmv$trim_files: [XDCL, #GATE] boolean := TRUE,
    dmv$volume_class_kludge: [XDCL] boolean := FALSE,
    dpv$display_delay: [XDCL, #GATE] integer := 1000,
    dsv$display_deadstart_messages: [XDCL] boolean := TRUE,
    dsv$load_files: [XDCL, #GATE] boolean := FALSE,
    dsv$ignore_image: [XDCL] boolean := FALSE,
    ifv$telnet_connection_limit: [XDCL, #GATE] integer := 30000,
    iiv$condition_handler_trace: [XDCL, #GATE] boolean := FALSE,
    iiv$interactive_wait_time: [XDCL, #GATE] integer := 60000000,
    iiv$output_option: [XDCL, #GATE] integer := 0,
    iiv$suspended_job_timeout: [XDCL, #GATE] integer := 180 * 60 * 1000,
    iov$display_microcode_load: [XREF] boolean,
    iov$log_head_shift_testing: [XDCL, #GATE] boolean := TRUE,
    iov$unused_boolean: [XDCL, #GATE] boolean := TRUE,
    iov$debug: [XREF] 0 .. 255,
    iov$queue_count_max: [XREF] integer,
    jmv$cluster_attach_job_enabled: [XDCL, #GATE] boolean := FALSE,
    jmv$delete_old_templates: [XDCL] boolean := FALSE,
    jmv$enable_queue_file_access: [XDCL, #GATE] boolean := FALSE,
    jmv$login_command_logging_vers: [XDCL, #GATE] integer := 2,
    jmv$swap_file_allocation_size: [XDCL, #GATE] 0 .. 0ffffffff(16) := 262144,
    lgv$modify_log_segments: [XDCL, #GATE] boolean := TRUE,
    lov$enable_source_type_checking: [XDCL, #GATE] boolean := FALSE,
    lov$ignore_param_verification: [XDCL, #GATE] integer := 0,

{  Debug, define maximum memory that 180 will use.  This is a way of limiting the amount of memory NOS/VE will
{  use.  Can limit the memory less than defined upper bound.  Default to a value larger than existing memory
{  sizes.

    mmv$honor_avail_mod_q_max_ds: [XREF] boolean,

    mmv$maximum_180_memory: [XDCL] integer := 1000000000000(16),
    mmv$maximum_write_span: [XREF] integer,
    mmv$page_skip_count: [XREF] integer,
    mmv$quick_sweep_interval: [XREF] integer,
    mmv$shadow_by_segnum: [XDCL, #GATE] boolean := TRUE,
    mmv$site_active_shared_queues: [XDCL] integer := 5,

{ Maximum segment length is no longer used by the OS. It must remain as a SETSA until release 1.6.1
{ because IM/DM uses it. As soon as they react to the change-this variable will be deleted.

    mmv$max_segment_length: [XDCL, #GATE] integer := 2147483647,
    mmv$temp_file_space_guard: [XDCL, #GATE] boolean := FALSE,
    mtv$mx_ajl_entries: [XDCL, #GATE] 0 .. 0ffffffff(16) := jmc$max_active_jobs,
    mtv$mx_segments: [XDCL] 0 .. 0ffffffff(16) := 0,
    mtv$scb_vector_sim_attribute: [XREF] 0 .. 255,
    nav$debug_mode: [XDCL, #GATE] 0 .. 0ff(16) := nac$no_debug,
    nav$cond_handler_trace_level: [XDCL, #GATE] 0 .. 0ff(16) := 0,
    ofv$enable_user_displays: [XDCL, #GATE] boolean := FALSE,
    osv$catalog_name_security: [XDCL, #GATE] boolean := FALSE,
    osv$default_pit: [XDCL] integer := 7fffffff(16), {default value for PIT}
    osv$delete_unreconciled_files: [XDCL, #GATE] boolean := FALSE,
    osv$dump_when_debug: [XDCL] boolean := FALSE,
    osv$emergency_intervention: [XDCL, #GATE] boolean := FALSE,
    osv$enable_hyperchannel: [XDCL, #GATE] boolean := FALSE,
    osv$reconcile_permanent_files: [XDCL, #GATE] boolean := FALSE,
    osv$recover_at_all_costs: [XDCL] boolean := FALSE,
    osv$reorganize_permanent_files: [XDCL, #GATE] boolean := FALSE,
    osv$trace_stack_frame_count: [XDCL, #GATE] 0 .. 0ff(16) := 16,
    osv$use_site_welcome_banner: [XDCL, #GATE] boolean := FALSE,
    osv$validate_active_sets: [XDCL, #GATE] boolean := FALSE,
    osv$validate_permanent_files: [XDCL, #GATE] boolean := FALSE,
    osv$verify_missing_volumes: [XDCL, #GATE] boolean := TRUE,
    pfv$assign_volume_retry_wait: [XDCL, #GATE] integer := 2000,
    pfv$binary_catalog_search: [XDCL, #GATE] boolean := TRUE,
    pfv$catalog_access_retry_wait: [XDCL, #GATE] integer := 1000,
    pfv$debug_catalog_access: [XDCL, #GATE] boolean := FALSE,
    pfv$honor_scl_var_create_file: [XDCL, #GATE] boolean := FALSE,
    pfv$restrict_catalog_flushing: [XDCL, #GATE] boolean := TRUE,
    pfv$sort_catalog_object_list: [XDCL, #GATE] boolean := FALSE,
    pfv$verify_catalog_heaps: [XDCL, #GATE] boolean := FALSE,
    pmv$debug_logging_enabled: [XDCL, #GATE] boolean := FALSE,
    pmv$emit_broken_task_msg_to_sl: [XDCL, #GATE] boolean := TRUE,
    pmv$constrain_meape_segments: [XDCL, #GATE] boolean := FALSE,
    rav$deadstart_intervention: [XDCL, #GATE] boolean := FALSE,
    rav$development_deadstart: [XDCL, #GATE] boolean := FALSE,
    rav$network_activation: [XDCL, #GATE] boolean := TRUE,
    rav$system_activation: [XDCL, #GATE] boolean := TRUE,
    syv$detailed_critical_displays: [XDCL, #GATE] syt$detailed_critical_displays :=
          syc$dcd_job_recovery_faildetail,
    syv$halt_on_exit_with_io: [XDCL, #GATE] boolean := FALSE,
    syv$recovery_override: [XDCL, #GATE] 0 .. 0ff(16) := 0,
    syv$setsa_job_recovery_option: [XDCL] integer := syc$jre_enabled,
    nav$disable_network_relays: [XDCL, #GATE] boolean := FALSE,
    nav$connection_mgmt_expir_int: [XDCL, #GATE] integer := 300000000,
    syv$user_templates: [XREF] boolean,
    tmv$display_actual_priority: [XDCL, #GATE] boolean := FALSE,
    tmv$subsystem_prior_threshold: [XREF] 0 .. 0ff(16),
    tmv$rtl_attempt_preselection: [XREF] boolean,
    dmv$pf_sparse: [XREF] boolean,
    dmv$ds_msg_update_interval: [XDCL, #GATE] integer := 10, { 2 * 60,
    dmv$display_recovery_messages: [XDCL, #GATE] boolean := TRUE, { FALSE,
    dmv$file_recovery_version: [XDCL, #GATE] 0 .. 0ff(16) := 0,
    syv$clone_enabled: [XREF] boolean,
    endvar: char;


{ NOTE:
{   The following variable cannot be set via the set_system_attribute command.
{   It is set via the change_secure_logging command during system operation.

*copyc clc$change_secure_logging_name

  VAR
    clv$secure_logging_activated: [XDCL, #GATE] boolean := FALSE;


{ NOTE:
{   The following variable cannot be set via the set_system_attribute command.
{   It is set via the set_validation_level command during system operation.

*copyc avc$validation_level_const_name

  VAR
    avv$validation_level: [XDCL, #GATE] 0 .. 255 := 0;



{ NOTE:
{   The following variable cannot be set via the set_system_attribute command.
{   It is set via the activate_system_logging and deactivate_system_logging
{   commands during system operation.

*copyc clc$system_logging_active_name

  VAR
    clv$system_logging_activated: [XDCL, #GATE] boolean := FALSE;


{ Define values for the segment offset array.  This array defines page offsets
{ for the beginning of some special segments.  These segments do NOT start at
{ offset zero.  This is an attempt to reduce thrashing in the page map.  This
{ array is defined here because it may need to be model dependent.

  VAR
    mmv$page_map_offsets: [XDCL, #GATE] mmt$page_map_offsets := [0, 0, 0, 0, 0];


{ Define the information needed to control the sizes of the logs and the actions taken by the system when the
{ log becomes full.  This variable is declared here instead of in LGM$GLOBAL_LOG_MANAGER because of a CYBIL
{ bug.  NOTE:  The system log has a preallocation size that is 10 time the default preallocation size because
{ it gets more information recorded in it than the other logs.

?? FMT (FORMAT := OFF) ??
  VAR
    lgv$global_log_attributes: [XDCL, oss$mainframe_pageable] array [pmt$global_logs] of
          lgt$log_attribute_entry := [
{ account_log }     [FALSE, (lgc$maximum_log_size DIV 1000000), lgc$default_preallocation_size],
{ engineering_log } [FALSE, (lgc$maximum_log_size DIV 1000000), lgc$default_preallocation_size],
{ history_log }     [FALSE, (lgc$maximum_log_size DIV 1000000), lgc$default_preallocation_size],
{ security_log }    [FALSE, (lgc$maximum_log_size DIV 1000000), lgc$default_preallocation_size],
{ statistics_log }  [FALSE, (lgc$maximum_log_size DIV 1000000), lgc$default_preallocation_size],
{ system_log }      [FALSE, (lgc$maximum_log_size DIV 1000000), (lgc$default_preallocation_size * 10)]];

  VAR
    lgv$critical_log_attributes: [XDCL, oss$mainframe_pageable] lgt$log_attribute_entry := [FALSE,
          (lgc$maximum_log_size DIV 1000000), lgc$default_preallocation_size];

?? FMT (FORMAT := ON) ??

  VAR
    dmv$maximum_allocation_size: [XREF] integer,
    dmv$quick_deadstart: [XREF] boolean,
    jmv$max_think_time: [XREF] integer,
    jmv$min_think_time: [XREF] integer,
    jmv$nr_free_ajl_entries_set_evt: [XREF] integer,
    jsv$enable_swap_resident: [XREF] boolean,
    jsv$enable_swap_resident_no_io: [XREF] boolean,
    jsv$write_stale_pages: [XREF] boolean,
    mlv$wire_mli_tables: [XREF] boolean,
    mmv$advise_in_aio_limit: [XREF] integer,
    mmv$age_interval_ceiling: [XREF] 0 .. 255,
    mmv$age_interval_floor: [XREF] 0 .. 255,
    mmv$check_queues: [XREF] integer,
    mmv$maxws_aio_threshold: [XREF] integer,
    mmv$wait_on_avail_mod_q_full: [XREF] boolean,
    osv$debug: [XREF] array [0 .. 15] of integer,
    osv$default_sit_value: [XREF] integer,
    osv$disk_fault_simulation: [XREF] boolean,
    osv$error_idle_halt: [XREF] boolean,
    osv$keypoint_enable: [XREF] integer,
    osv$jf_heap_min_frag_alloc_size: [XREF] integer,
    osv$jp_heap_min_frag_alloc_size: [XREF] integer,
    osv$mw_heap_min_frag_alloc_size: [XREF] integer,
    osv$mp_heap_min_frag_alloc_size: [XREF] integer,
    osv$np_heap_min_frag_alloc_size: [XREF] integer,
    osv$ts_heap_min_frag_alloc_size: [XREF] integer,
    osv$trap_task_errors: [XREF] boolean,
    sfv$dynamic_file_space_limits: [XREF] boolean,
    syv$allow_jr_test: [XREF] boolean,
    syv$debug_job_recovery: [XREF] boolean,
    syv$system_job_multiprocessing: [XREF] boolean,
    tmv$long_wait_force_swap_time: [XREF] integer,
    tmv$long_wait_swap_time: [XREF] integer;

?? NEWTITLE := '    System Constant Definition Table', EJECT ??


{  Note: The multiple shared queues feature introduces multiple shared queues and it also introduces the
{        Manage Memory Utility.  The memory variables that it manages are also controlled by the
{        SET_SYSTEM_ATTRIBUTE command.  So that users do not have to immediately change to use of the
{        MMU, the old SETSA commands are being left in place.  For the attribute MINIMUM_SHARED_WORKING_SET
{        the field controlled is to be mmv$gpql[mmc$pq_shared_task_service].minimum].  To make this
{        change we need to change the appropriate entry in the value_table.  However, this can not be done
{        because the object library generator will generate incorrect code.  A workaround has been coded.
{        To remove the work-around, delete these comments, all lines referencing the
{        VAR temp_workaround_min_sws and change the appropriate value_table entry.

  VAR
    temp_workaround_min_sws: [STATIC] 0 .. 0ffffffff(16) := 0;

  VAR
    value_table: [READ, oss$mainframe_paged_literal] t$value_table := [

{ NAME        } ['ABORTED_TASK_THRESHOLD',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_configuration_manager,
{                 } syc$scvg_error_processing,
{                 } syc$scvg_operation],
{ MIN/MAX/VALUE } 0, 7FFFFFFFFFFF(16), v_integer, ^mtv$aborted_task_threshold],

{ NAME        } ['ACCOUNT_LOG_CRITICAL',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_logging,
{                 } syc$scvg_operation],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^lgv$global_log_attributes [pmc$account_log].critical],

{ NAME        } ['ACCOUNT_LOG_MAXIMUM_SIZE',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_logging,
{                 } syc$scvg_operation],
{ MIN/MAX/VALUE } 1, 150, v_byte, ^lgv$global_log_attributes [pmc$account_log].maximum_size],

{ NAME        } ['ACQUIRE_PP_FOR_REDUNDANT_CH',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_configuration_manager,
{                 } syc$scvg_operation],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^cmv$acquire_pp_for_redundant_ch],

{ NAME        } ['ADVISE_IN_LIMIT',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_input_output,
{                 } syc$scvg_memory_management,
{                 } syc$scvg_performance],
{ MIN/MAX/VALUE } 1, 1000, v_integer, ^mmv$advise_in_aio_limit],

{ NAME        } ['AGE_BEFORE_SWAP_PERCENTAGE',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_job_swapper,
{                 } syc$scvg_memory_management,
{                 } syc$scvg_performance],
{ MIN/MAX/VALUE } 0, 90, v_integer, ^jsv$age_before_swap_percentage],

{ NAME        } ['AGE_INTERVAL_CEILING',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_memory_management,
{                 } syc$scvg_performance,
{                 } syc$scvg_obsolete],
{ MIN/MAX/VALUE } 1, 255, v_byte, ^mmv$age_interval_ceiling],

{ NAME        } ['AGE_INTERVAL_FLOOR',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_memory_management,
{                 } syc$scvg_performance,
{                 } syc$scvg_obsolete],
{ MIN/MAX/VALUE } 1, 255, v_byte, ^mmv$age_interval_floor],

{ NAME        } ['AGE_JWS_BEFORE_SWAP',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_job_swapper,
{                 } syc$scvg_memory_management,
{                 } syc$scvg_performance],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^jsv$age_jws_before_swap],

{ NAME        } ['AGGRESSIVE_AGING_LEVEL',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_memory_management,
{                 } syc$scvg_performance,
{                 } syc$scvg_obsolete],
{ MIN/MAX/VALUE } 0, osc$max_page_frames, v_integer, ^mmv$aggressive_aging_level],

{ NAME        } ['AGGRESSIVE_AGING_LEVEL_2',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_memory_management,
{                 } syc$scvg_performance,
{                 } syc$scvg_obsolete],
{ MIN/MAX/VALUE } 0, osc$max_page_frames, v_integer, ^mmv$aggressive_aging_level_2],

{ NAME        } ['AGING_ALGORITHM',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_memory_management,
{                 } syc$scvg_performance,
{                 } syc$scvg_obsolete],
{ MIN/MAX/VALUE } 0, 10000, v_integer, ^mmv$aging_algorithm],

{ NAME        } ['ALLOW_JR_TEST',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_development,
{                 } syc$scvg_recovery],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^syv$allow_jr_test],

{ NAME        } ['ASSIGN_MULTIPLE_PAGES',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_input_output,
{                 } syc$scvg_memory_management],
{ MIN/MAX/VALUE } 0, osc$max_page_frames, v_integer, ^mmv$assign_multiple_pages],

{ NAME        } ['ASSIGN_VOLUME_RETRY_WAIT',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_error_processing,
{                 } syc$scvg_file_system,
{                 } syc$scvg_operation,
{                 } syc$scvg_performance],
{ MIN/MAX/VALUE } 10, 7fffffffffff(16), v_integer, ^pfv$assign_volume_retry_wait],

{ NAME        } ['AUTOMATIC_PP_RELOAD',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_configuration_manager,
{                 } syc$scvg_error_processing,
{                 } syc$scvg_operation],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^dsv$automatic_pp_reload.enabled],

{ NAME        } ['AUTOMATIC_SYSTEM_RESTART',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_deadstart,
{                 } syc$scvg_operation],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^dsv$automatic_system_restart],

{ NAME        } ['AUTOMATIC_UNSTEP_RESUME',
{ GROUPS        } $syt$system_const_value_groups [syc$scvg_operation],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^mtv$automatic_unstep_resume],

{ NAME        } ['AUTO_RECONFIGURATION',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_configuration_manager,
{                 } syc$scvg_error_processing,
{                 } syc$scvg_operation],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^cmv$enable_auto_reconfiguration],

{ NAME        } ['AVAILABLE_MODIFIED_QUEUE_MAX',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_input_output,
{                 } syc$scvg_memory_management,
{                 } syc$scvg_performance],
{ MIN/MAX/VALUE } 0, osc$max_page_frames, v_integer, ^mmv$avail_modified_queue_max],

?? FMT (FORMAT := OFF) ??
*if $variable(mmv$test_forced_use_cache_maps, declared) <> 'UNKNOWN'
{ NAME        } ['BAD_PERF_USE_FORCED_CACHE_MAPS' ,
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_deadstart_only,
{                 } syc$scvg_development],
{ MIN/MAX/VALUE }  0, 1, v_boolean, ^mmv$force_use_of_cache_and_maps],

{ NAME        } ['BENCHMARK_RUN'                  ,
{ GROUPS        }  $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_development],
{ MIN/MAX/VALUE }  0, 0ffffffffffff(16), v_integer, ^mmv$benchmark_run],
*else
{ -------- Declarations for forcing the use of cache and maps omitted at compile time --------
*ifend
?? FMT (FORMAT := ON) ??

{ NAME        } ['BINARY_CATALOG_SEARCH',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_file_system,
{                 } syc$scvg_performance],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^pfv$binary_catalog_search],

{ NAME        } ['CATALOG_ACCESS_RETRY_WAIT',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_error_processing,
{                 } syc$scvg_file_system,
{                 } syc$scvg_operation,
{                 } syc$scvg_performance],
{ MIN/MAX/VALUE } 10, 7fffffffffff(16), v_integer, ^pfv$catalog_access_retry_wait],

{ NAME        } ['CATALOG_NAME_SECURITY',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_deadstart_only,
{                 } syc$scvg_file_system,
{                 } syc$scvg_operation,
{                 } syc$scvg_security],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^osv$catalog_name_security],

{ NAME        } [clc$change_secure_logging_name,
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_logging,
{                 } syc$scvg_unimplemented],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^clv$secure_logging_activated],

{ NAME        } ['CHECK_IDLE_DISPATCHING_INTERVAL',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_job_swapper,
{                 } syc$scvg_performance],
{ MIN/MAX/VALUE } 1000, 1000000000, v_integer, ^jmv$scan_idle_dispatch_interval],

{ NAME        } ['CLIENT_JOB_LISTS',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_file_server],
{ MIN/MAX/VALUE } 1, dfc$max_job_list_p_array_size, v_integer, ^dfv$maximum_client_job_lists],

{ NAME        } ['CLONE_ENABLED',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_development],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^syv$clone_enabled],

{ NAME        } ['CLUSTER_ATTACH_JOB_ENABLED',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_file_server,
{                 } syc$scvg_operation],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^jmv$cluster_attach_job_enabled],

{ NAME        } ['CMV$DEBUG',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_configuration_manager,
{                 } syc$scvg_development],
{ MIN/MAX/VALUE } 0, 0ff(16), v_byte, ^cmv$debug],

{ NAME        } ['COMMAND_STATISTICS_ENABLED',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_logging,
{                 } syc$scvg_operation],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^clv$command_statistics_enabled],

{ NAME        } ['CONNECTION_MGMT_EXPIRATION_INT',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_network_management,
{                 } syc$scvg_development],
{ MIN/MAX/VALUE } 0, 7fffffffffff(16), v_integer, ^nav$connection_mgmt_expir_int],

{ NAME        } ['CONSTRAIN_MEAPE_SEGMENTS',
{ GROUPS        } $syt$system_const_value_groups [syc$scvg_debug],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^pmv$constrain_meape_segments],

{ NAME        } ['CRITICAL_WINDOW_LOG_CRITICAL',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_logging,
{                 } syc$scvg_operation],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^lgv$critical_log_attributes.critical],

{ NAME        } ['CRITICAL_WINDOW_LOG_MAX_SIZE',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_logging,
{                 } syc$scvg_operation],
{ MIN/MAX/VALUE } 1, 150, v_byte, ^lgv$critical_log_attributes.maximum_size],

{ NAME        } ['CYCLE_WAIT_TIME',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_dispatcher,
{                 } syc$scvg_performance],
{ MIN/MAX/VALUE } 0, 100000000, v_integer, ^tmv$cycle_delay_time],

{ NAME        } ['DEADSTART_INTERVENTION',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_deadstart_only,
{                 } syc$scvg_deadstart],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^rav$deadstart_intervention],

{ NAME        } ['DEBUG_AV',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_account_validation,
{                 } syc$scvg_development],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^avv$debug_accounting_validation],

{ NAME        } ['DEBUG1',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_development],
{ MIN/MAX/VALUE } 0, 0ffffffffffff(16), v_integer, ^osv$debug [1]],

{ NAME        } ['DEBUG2',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_development],
{ MIN/MAX/VALUE } 0, 0ffffffffffff(16), v_integer, ^osv$debug [2]],

{ NAME        } ['DEBUG3',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_development],
{ MIN/MAX/VALUE } 0, 0ffffffffffff(16), v_integer, ^osv$debug [3]],

{ NAME        } ['DEBUG4',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_development],
{ MIN/MAX/VALUE } clc$min_integer, clc$max_integer, v_integer, ^osv$debug [4]],

{ NAME        } ['DEBUG5',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_development],
{ MIN/MAX/VALUE } 0, 0ffffffffffff(16), v_integer, ^osv$debug [5]],

{ NAME        } ['DEBUG6',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_development],
{ MIN/MAX/VALUE } 0, 0ffffffffffff(16), v_integer, ^osv$debug [6]],

{ NAME        } ['DEBUG7',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_development],
{ MIN/MAX/VALUE } 0, 0ffffffffffff(16), v_integer, ^osv$debug [7]],

{ NAME        } ['DEBUG8',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_development],
{ MIN/MAX/VALUE } 0, 0ffffffffffff(16), v_integer, ^osv$debug [8]],

{ NAME        } ['DEBUG9',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_development],
{ MIN/MAX/VALUE } 0, 0ffffffffffff(16), v_integer, ^osv$debug [9]],

{ NAME        } ['DEBUG10',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_development],
{ MIN/MAX/VALUE } 0, 0ffffffffffff(16), v_integer, ^osv$debug [10]],

{ NAME        } ['DEBUG11',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_development],
{ MIN/MAX/VALUE } 0, 0ffffffffffff(16), v_integer, ^osv$debug [11]],

{ NAME        } ['DEBUG12',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_development],
{ MIN/MAX/VALUE } 0, 0ffffffffffff(16), v_integer, ^osv$debug [12]],

{ NAME        } ['DEBUG13',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_development],
{ MIN/MAX/VALUE } 0, 0ffffffffffff(16), v_integer, ^osv$debug [13]],

{ NAME        } ['DEBUG14',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_development],
{ MIN/MAX/VALUE } 0, 0ffffffffffff(16), v_integer, ^osv$debug [14]],

{ NAME        } ['DEBUG15',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_development],
{ MIN/MAX/VALUE } 0, 0ffffffffffff(16), v_integer, ^osv$debug [15]],

{ NAME        } ['DEBUGGER_PAGE_WAIT_LINES',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_debug],
{ MIN/MAX/VALUE } 0, 07fffffffffffffff(16), v_integer, ^syv$debugger_page_wait_lines],

{ NAME        } ['DEBUG_CATALOG_ACCESS',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_file_system,
{                 } syc$scvg_performance,
{                 } syc$scvg_operation,
{                 } syc$scvg_development],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^pfv$debug_catalog_access],

{ NAME        } ['DEBUG_JOB_RECOVERY',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_deadstart,
{                 } syc$scvg_development],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^syv$debug_job_recovery],

{ NAME        } ['DEFAULT_DEBUG_OUTPUT_DISPOSAL',
{ GROUPS        } $syt$system_const_value_groups [syc$scvg_debug],
{ MIN/MAX/VALUE } 0, 3, v_byte, ^syv$dflt_debug_output_disposal.byte],

{ NAME        } ['DEFAULT_PIT',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_performance,
{                 } syc$scvg_development],
{ MIN/MAX/VALUE } 1, 0ffffffff(16), v_integer, ^osv$default_pit],

{ NAME        } ['DEFAULT_SIT',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_performance,
{                 } syc$scvg_development],
{ MIN/MAX/VALUE } 500, 1000000000, v_integer, ^osv$default_sit_value],

{ NAME        } ['DELETE_OLD_TEMPLATES',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_deadstart_only,
{                 } syc$scvg_deadstart,
{                 } syc$scvg_operation],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^jmv$delete_old_templates],

{ NAME        } ['DELETE_UNRECONCILED_FILES',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_deadstart_only,
{                 } syc$scvg_deadstart,
{                 } syc$scvg_file_system,
{                 } syc$scvg_operation],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^osv$delete_unreconciled_files],

{ NAME        } ['DETAILED_CRITICAL_DISPLAYS',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_deadstart_only,
{                 } syc$scvg_deadstart,
{                 } syc$scvg_operation],
{ MIN/MAX/VALUE } 0, 5, v_integer, ^syv$detailed_critical_displays],

{ NAME        } ['DEVELOPMENT_DEADSTART',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_deadstart_only,
{                 } syc$scvg_deadstart,
{                 } syc$scvg_operation],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^rav$development_deadstart],

{ NAME        } ['DISABLE_NETWORK_RELAYS',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_network_management,
{                 } syc$scvg_unimplemented],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^nav$disable_network_relays],

{ NAME        } ['DISABLE_WRITE_FOR_PERF_MEAS',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_development],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^mmv$disable_write_for_perf_meas],

{ NAME        } ['DISDELAY',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_operation],
{ MIN/MAX/VALUE } 1, 100000, v_integer, ^dpv$display_delay],

{ NAME        } ['DISK_FAULT_SIMULATION',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_development],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^osv$disk_fault_simulation],

{ NAME        } ['DISPLAY_ACTUAL_PRIORITY',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^tmv$display_actual_priority],

{ NAME        } ['DISPLAY_DEADSTART_MESSAGES',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_deadstart_only],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^dsv$display_deadstart_messages],

{ NAME        } ['DISPLAY_MICROCODE_LOAD',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^iov$display_microcode_load],

{ NAME        } ['DISPLAY_RECOVERY_MESSAGES',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_deadstart_only],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^dmv$display_recovery_messages],

{ NAME        } ['DS_MESSAGE_UPDATE_INTERVAL',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_deadstart_only],
{ MIN/MAX/VALUE } 10, 1000, v_integer, ^dmv$ds_msg_update_interval],

{ NAME        } ['DUMP_WHEN_DEBUG',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_debug],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^osv$dump_when_debug],

{ NAME        } ['DYNAMIC_AGING_ENABLED',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^mmv$dynamic_aging_enabled],

{ NAME        } ['DYNAMIC_FILE_SPACE_LIMITS',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_input_output,
{                 } syc$scvg_operation],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^sfv$dynamic_file_space_limits],

{ NAME        } ['EMERGENCY_INTERVENTION',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^osv$emergency_intervention],

{ NAME        } ['EMIT_BROKEN_TASK_MSG_TO_SL',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^pmv$emit_broken_task_msg_to_sl],

{ NAME        } ['ENABLE_CONFIGURATION_DEBUG_MSG',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^cmv$display_config_debug_msg],

{ NAME        } ['ENABLE_CONSOLE_BELL',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_deadstart_only,
{                 } syc$scvg_operation],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^dpv$enable_console_bell],

{ NAME        } ['ENABLE_DEBUG_CODE',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^jsv$enable_debug_code],

{ NAME        } ['ENABLE_FAULT_INJECTION',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^syv$enable_fault_injection],

{ NAME        } ['ENABLE_HEAD_SHIFT_MESSAGE',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_configuration_manager,
{                 } syc$scvg_operation],
{ MIN/MAX/VALUE } 0, 5, v_byte, ^cmv$enable_head_shift_message],

{ NAME        } ['ENABLE_HEAP_TRACE',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_deadstart_only],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^syv$enable_heap_trace],

{ NAME        } ['ENABLE_HYPERCHANNEL',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_deadstart_only],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^osv$enable_hyperchannel],

{ NAME        } ['ENABLE_PM_DEBUG_LOGGING',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^pmv$debug_logging_enabled],

{ NAME        } ['ENABLE_QUEUE_FILE_ACCESS',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^jmv$enable_queue_file_access],

{ NAME        } ['ENABLE_SOURCE_CYBIL_CHECKING',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^lov$enable_source_type_checking],

{ NAME        } ['ENABLE_SWAP_FILE_STATISTICS',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^jsv$enable_swap_file_statistics],

{ NAME        } ['ENABLE_SWAP_RESIDENT',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^jsv$enable_swap_resident],

{ NAME        } ['ENABLE_SWAP_RESIDENT_NO_IO',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^jsv$enable_swap_resident_no_io],

{ NAME        } ['ENABLE_TASK_CLEANUP_COUNT',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^cmv$enable_task_cleanup_count],

{ NAME        } ['ENABLE_USER_DISPLAYS',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_operation],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^ofv$enable_user_displays],

{ NAME        } ['ENFORCE_READ_PRIORITY',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^iov$enforce_read_priority],

{ NAME        } ['ENGINEERING_LOG_CRITICAL',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_logging,
{                 } syc$scvg_operation],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^lgv$global_log_attributes [pmc$engineering_log].critical],

{ NAME        } ['ENGINEERING_LOG_MAXIMUM_SIZE',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_logging,
{                 } syc$scvg_operation],
{ MIN/MAX/VALUE } 1, 150, v_byte, ^lgv$global_log_attributes [pmc$engineering_log].maximum_size],

{ NAME        } ['FILE_ALLOCATION_INTERVAL',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 7fffffff(16), v_integer, ^mmv$file_allocation_interval],

{ NAME        } ['FILE_HASH_MODIFIER_VERSION',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1, v_byte, ^dmv$hash_modifier_index],

{ NAME        } ['FILE_RECOVERY_VERSION',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_deadstart_only],
{ MIN/MAX/VALUE } 0, 0ff(16), v_byte, ^dmv$file_recovery_version],

{ NAME        } ['FILE_SERVER_DEBUG_ENABLED',
{ GROUPS        } $syt$system_const_value_groups [],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^dfv$file_server_debug_enabled],

{ NAME        } ['FILE_SERVER_INFO_ENABLED',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^dfv$file_server_info_enabled],

{ NAME        } ['FILE_SERVER_Q_TIMEOUT_INTERVAL',
{ GROUPS        } $syt$system_const_value_groups [],
{ MIN/MAX/VALUE } 5000, 300000, v_integer, ^dfv$task_queue_timeout_interval],

{ NAME        } ['FILE_SERVER_RECOVERY_ENABLED',
{ GROUPS        } $syt$system_const_value_groups [],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^dfv$job_recovery_enabled],

{ NAME        } ['FORCE_DIRECT_TAPE_IO',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^bav$force_direct_tape_io],

{ NAME        } ['FREE_WORKING_SET_ON_SWAPOUT',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^jsv$free_working_set_on_swapout],

{ NAME        } ['HALT_ON_CPU_TIMEOUT',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^mtv$halt_on_cpu_timeout],

{ NAME        } ['HALT_ON_EXIT_WITH_IO',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^syv$halt_on_exit_with_io],

{ NAME        } ['HALT_ON_HUNG_TASK',
{ GROUPS        } $syt$system_const_value_groups [],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^tmv$halt_on_hung_task],

{ NAME        } ['HALT_ON_PROCESSOR_MALFUNCTION',
{ GROUPS        } $syt$system_const_value_groups [],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^mtv$halt_on_proc_malf],

{ NAME        } ['HALT_ON_SWAPIN_FAILURE',
{ GROUPS        } $syt$system_const_value_groups [],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^jsv$halt_on_swapin_failure],

{ NAME        } ['HALTRING',
{ GROUPS        } $syt$system_const_value_groups [],
{ MIN/MAX/VALUE } 0, 16, v_byte, ^mtv$halt_cpu_ring_number],

{ NAME        } ['HEAP_JF_MIN_FRAG_ALLOC_SIZE',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1024, v_integer, ^osv$jf_heap_min_frag_alloc_size],

{ NAME        } ['HEAP_JP_MIN_FRAG_ALLOC_SIZE',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1024, v_integer, ^osv$jp_heap_min_frag_alloc_size],

{ NAME        } ['HEAP_MW_MIN_FRAG_ALLOC_SIZE',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_deadstart_only],
{ MIN/MAX/VALUE } 0, 1024, v_integer, ^osv$mw_heap_min_frag_alloc_size],

{ NAME        } ['HEAP_MP_MIN_FRAG_ALLOC_SIZE',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_deadstart_only],
{ MIN/MAX/VALUE } 0, 1024, v_integer, ^osv$mp_heap_min_frag_alloc_size],

{ NAME        } ['HEAP_NP_MIN_FRAG_ALLOC_SIZE',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_deadstart_only],
{ MIN/MAX/VALUE } 0, 1024, v_integer, ^osv$np_heap_min_frag_alloc_size],

{ NAME        } ['HEAP_TS_MIN_FRAG_ALLOC_SIZE',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1024, v_integer, ^osv$ts_heap_min_frag_alloc_size],

{ NAME        } ['HISTORY_LOG_CRITICAL',
{ GROUPS        } $syt$system_const_value_groups [],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^lgv$global_log_attributes [pmc$history_log].critical],

{ NAME        } ['HISTORY_LOG_MAXIMUM_SIZE',
{ GROUPS        } $syt$system_const_value_groups [],
{ MIN/MAX/VALUE } 1, 150, v_byte, ^lgv$global_log_attributes [pmc$history_log].maximum_size],

{ NAME        } ['HONOR_AVAIL_MOD_Q_MAX_DS',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^mmv$honor_avail_mod_q_max_ds],

{ NAME        } ['HONOR_SCL_VAR_FOR_CREATE_FILE',
{ GROUPS        } $syt$system_const_value_groups [],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^pfv$honor_scl_var_create_file],

{ NAME        } ['IF_CONDITION_HANDLING_TRACE',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^iiv$condition_handler_trace],

{ NAME        } ['IGNORE_IMAGE',
{ GROUPS        } $syt$system_const_value_groups [],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^dsv$ignore_image],

{ NAME        } ['IGNORE_PARAMETER_VERIFICATION',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 2, v_integer, ^lov$ignore_param_verification],

{ NAME        } ['INPUT_FILE_RECOVERY_OPTION',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1, v_byte, ^jmv$input_file_recovery_option],

{ NAME        } ['IO_QUEUE_COUNT_MAX',
{ GROUPS        } $syt$system_const_value_groups [],
{ MIN/MAX/VALUE } 10, 0ffff(16), v_integer, ^iov$queue_count_max],

{ NAME        } ['IOV$DEBUG',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 0ff(16), v_byte, ^iov$debug],

{ NAME        } ['JOB_RECOVERY_OPTION',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_deadstart_only],
{ MIN/MAX/VALUE } 0, 3, v_integer, ^syv$setsa_job_recovery_option],

{ NAME        } ['JOB_WORKING_SET_AGE_INTERVAL',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 1000, 7fffffff(16), v_integer, ^mmv$jws_queue_age_interval],

{ NAME        } ['KCU_ENABLE',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 100, v_integer, ^osv$keypoint_enable],

{ NAME        } ['LOG_HEAD_SHIFT_TEST_ACTIVITY',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^iov$log_head_shift_testing],

{ NAME        } ['LOGIN_COMMAND_LOGGING_VERSION',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 2, v_integer, ^jmv$login_command_logging_vers],

{ NAME        } ['LOG_SECURE_PARAMETERS',
{ GROUPS        } $syt$system_const_value_groups [],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^clv$log_secure_parameters],

{ NAME        } ['LONG_WAIT_FORCE_SWAP_TIME',
{ GROUPS        } $syt$system_const_value_groups [],
{ MIN/MAX/VALUE } 0, 1000000000, v_integer, ^tmv$long_wait_force_swap_time],

{ NAME        } ['LONG_WAIT_SWAP_TIME',
{ GROUPS        } $syt$system_const_value_groups [],
{ MIN/MAX/VALUE } 0, 1000000000, v_integer, ^tmv$long_wait_swap_time],

{ NAME        } ['MAT_CHANGE_COUNT_MAX',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 10 {100}, dmc$mat_change_count_in_use_max, v_integer, ^dmv$mat_change_count_max],

{ NAME        } ['MAXIMUM_180_MEMORY',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_deadstart_only],
{ MIN/MAX/VALUE } 1000000, 400000000, v_integer, ^mmv$maximum_180_memory],

{ NAME        } ['MAXIMUM_ACTIVE_JOBS',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_deadstart_only],
{ MIN/MAX/VALUE } 1, jmc$max_active_jobs, v_halfword, ^mtv$mx_ajl_entries],

{ NAME        } ['MAXIMUM_ACTIVE_SEGMENTS',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_deadstart_only],
{ MIN/MAX/VALUE } 100, 65535, v_halfword, ^mtv$mx_segments],

{ NAME        } ['MAXIMUM_ALLOCATION_SIZE',
{ GROUPS        } $syt$system_const_value_groups [],
{ MIN/MAX/VALUE } 16384, 0ffffffffffff(16), v_integer, ^dmv$maximum_allocation_size],

{ NAME        } ['MAXIMUM_BYTES_PER_TAPE_IO',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 1, 7FFFFFFF(16), v_integer, ^bav$max_bytes_per_tape_io],

{ NAME        } ['MAXIMUM_DEBUG_OUTPUT_LINES',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 100, 7FFFFFFFFFFF(16), v_integer, ^syv$max_debug_output_lines],

{ NAME        } ['MAXIMUM_INDIRECT_TAPE_BLOCK',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 1, 7FFFFFFF(16), v_integer, ^bav$max_indirect_tape_block],

{ NAME        } ['MAXIMUM_JOB_CLASSES',
{ GROUPS        } $syt$system_const_value_groups [],
{ MIN/MAX/VALUE } jmc$minimum_job_classes, jmc$maximum_job_classes, v_halfword, ^jmv$maximum_job_classes],

{ NAME        } ['MAXIMUM_KNOWN_JOBS',
{ GROUPS        } $syt$system_const_value_groups [],
{ MIN/MAX/VALUE } 1, jmc$maximum_job_count, v_halfword, ^jmv$maximum_known_jobs],

{ NAME        } ['MAXIMUM_OUTPUT_FILES',
{ GROUPS        } $syt$system_const_value_groups [],
{ MIN/MAX/VALUE } 1, jmc$maximum_output_count, v_halfword, ^jmv$maximum_known_outputs],

{ NAME        } ['MAX_PAGES_FIRST_SWAP_TASK',
{ GROUPS        } $syt$system_const_value_groups [],
{ MIN/MAX/VALUE } 0, osc$max_page_frames, v_integer, ^jsv$max_pages_first_swap_task],

{ NAME        } ['MAXIMUM_PAGES_NO_FILE',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 7fffffff(16), v_integer, ^mmv$max_pages_no_file],

{ NAME        } ['MAXIMUM_PAGES_TO_SWAP',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, osc$max_page_frames, v_integer, ^jsv$maximum_pages_to_swap],


{ Maximum segment length is no longer used by the OS. It must remain as a SETSA until release 1.6.1
{ because IM/DM uses it. As soon as they react to the change-this variable will be deleted.

{ NAME        } ['MAXIMUM_SEGMENT_LENGTH',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 150000000, 7fffffff(16), v_integer, ^mmv$max_segment_length],

{ NAME        } ['MAXIMUM_SERVICE_CLASSES',
{ GROUPS        } $syt$system_const_value_groups [],
{ MIN/MAX       } jmc$minimum_service_classes, jmc$maximum_service_classes, v_halfword,
{ VALUE         } ^jmv$maximum_service_classes],

{ NAME        } ['MAXIMUM_SWAP_RESIDENT_TIME',
{ GROUPS        } $syt$system_const_value_groups [],
{ MIN/MAX/VALUE } 0, 86400000000, v_integer, ^jsv$max_time_swap_io_complete],

{ NAME        } ['MAXIMUM_TAPE_BLOCK_SIZE',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 1, 7FFFFFFF(16), v_integer, ^bav$max_allowed_tape_block_size],

{ NAME        } ['MAXIMUM_THINK_TIME',
{ GROUPS        } $syt$system_const_value_groups [],
{ MIN/MAX/VALUE } 0, 1000000000, v_integer, ^jmv$max_think_time],

{ NAME        } ['MAX_TIME_SWAP_IO_NOT_INIT',
{ GROUPS        } $syt$system_const_value_groups [],
{ MIN/MAX/VALUE } 0, 86400000000, v_integer, ^jsv$max_time_swap_io_not_init],

{ NAME        } ['MAXIMUM_WRITE_SPAN',
{ GROUPS        } $syt$system_const_value_groups [],
{ MIN/MAX/VALUE } 1000000(16), 40000000(16), v_integer, ^mmv$maximum_write_span],

{ NAME        } ['MAXWS_AIO_THRESHOLD',
{ GROUPS        } $syt$system_const_value_groups [],
{ MIN/MAX/VALUE } 0, 100000, v_integer, ^mmv$maxws_aio_threshold],

{ NAME        } ['MINIMUM_AVAILABLE_PAGES',
{ GROUPS        } $syt$system_const_value_groups [],
{ MIN/MAX/VALUE } 0, osc$max_page_frames, v_integer, ^mmv$min_avail_pages],

{ NAME        } ['MINIMUM_SHARED_WORKING_SET',
{ GROUPS        } $syt$system_const_value_groups [],
{ MIN/MAX/VALUE } 0, 100000, v_halfword, ^temp_workaround_min_sws],

{  Note: The following line should be made active when the temp_workaround is no longer needed
{           ^mmv$gpql[mmc$pq_shared_task_service].minimum_nominal],


{ NAME        } ['MINIMUM_THINK_TIME',
{ GROUPS        } $syt$system_const_value_groups [],
{ MIN/MAX/VALUE } 0, 1000000000, v_integer, ^jmv$min_think_time],

{ NAME        } ['MM_CHECK_QUEUES',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 2, v_integer, ^mmv$check_queues],

{ NAME        } ['MM_PERIODIC_CALL',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 1000, 10000000, v_integer, ^mmv$periodic_call_interval],

{ NAME        } ['MODIFY_LOG_SEGMENTS',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^lgv$modify_log_segments],

{ NAME        } ['MULTI_PAGE_WRITE',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^mmv$multi_page_write],

{ NAME        } ['NAMVE_COND_HANDLER_TRACE_LEVEL',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 3, v_byte, ^nav$cond_handler_trace_level],

{ NAME        } ['NAMVE_DEBUG_MODE',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 3, v_byte, ^nav$debug_mode],

{ NAME        } ['NETWORK_ACTIVATION',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_deadstart_only],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^rav$network_activation],

{ NAME        } ['NO_MEMORY_BUFFERING',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^mmv$no_memory_buffering],

{ NAME        } ['NOSVE_INTERNAL_OPERATIONS',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^syv$nosve_internal_operations],

{ NAME        } ['NR_FREE_AJL_ENTRIES_SET_EVENT',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 250, v_integer, ^jmv$nr_free_ajl_entries_set_evt],

{ NAME        } ['OUTPUT_FILE_RECOVERY_OPTION',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1, v_byte, ^jmv$output_file_recovery_option],

{ NAME        } ['OUTPUT_OPTION',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 100000000, v_integer, ^iiv$output_option],

{ NAME        } ['PERMANENT_FILE_OVERFLOW',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^dmv$permanent_file_overflow],

{ NAME        } ['PF_SPARSE',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^dmv$pf_sparse],

{ NAME        } ['PROCESSOR_DUE_THRESHOLD',
{ GROUPS        } $syt$system_const_value_groups [],
{ MIN/MAX/VALUE } 0, 7FFFFFFFFFFF(16), v_integer, ^mtv$processor_due_threshold],

{ NAME        } ['QFILE_RECOVERY_OPTION',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1, v_byte, ^jmv$qfile_recovery_option],

{ NAME        } ['QUICKDS',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^dmv$quick_deadstart],

{ NAME        } ['QUICK_SWEEP_INTERVAL',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 1000, 7FFFFFFFFFFF(16), v_integer, ^mmv$quick_sweep_interval],

{ NAME        } ['READY_TASK_LIST_ATTEMPT_PRESEL',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^tmv$rtl_attempt_preselection],

{ NAME        } ['READ_TU_EXECUTE',
{ GROUPS        } $syt$system_const_value_groups [],
{ MIN/MAX/VALUE } 1, 32, v_halfword, ^mmv$read_tu_execute],

{ NAME        } ['READ_TU_READ_WRITE',
{ GROUPS        } $syt$system_const_value_groups [],
{ MIN/MAX/VALUE } 1, 32, v_halfword, ^mmv$read_tu_read_write],

{ NAME        } ['RECONCILE_PERMANENT_FILES',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_deadstart_only],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^osv$reconcile_permanent_files],

{ NAME        } ['RECOVERY_OVERRIDE',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_deadstart_only],
{ MIN/MAX/VALUE } 0, 2, v_byte, ^syv$recovery_override],

{ NAME        } ['RECOVER_AT_ALL_COSTS',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_deadstart_only],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^osv$recover_at_all_costs],

{ NAME        } ['RECYCLE_DEVICE_LOG',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^dmv$recycle_device_log],

{ NAME        } ['REORGANIZE_PERMANENT_FILES',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_deadstart_only],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^osv$reorganize_permanent_files],

{ NAME        } ['SCHEDULER_WAIT_TIME',
{ GROUPS        } $syt$system_const_value_groups [],
{ MIN/MAX/VALUE } 0, 5000000, v_integer, ^jmv$scheduler_wait_time],

{ NAME        } ['SCHED_MEMORY_WAIT_FACTOR',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 100, v_integer, ^jmv$sched_memory_wait_factor],

{ NAME        } ['SECURITY_LOG_CRITICAL',
{ GROUPS        } $syt$system_const_value_groups [],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^lgv$global_log_attributes [pmc$security_log].critical],

{ NAME        } ['SECURITY_LOG_MAXIMUM_SIZE',
{ GROUPS        } $syt$system_const_value_groups [],
{ MIN/MAX/VALUE } 1, 150, v_byte, ^lgv$global_log_attributes [pmc$security_log].maximum_size],

{ NAME        } ['SERVED_FAMILY_LISTS',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 1, dfc$maximum_family_lists, v_integer, ^dfv$number_served_family_lists],

{ NAME        } ['SHADOW_BY_SEGNUM',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^mmv$shadow_by_segnum],

{ NAME        } ['SHARED_PAGES_IN_JWS',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^mmv$shared_pages_in_jws],

{ NAME        } ['SHARED_WORKING_SET_AGE_INTERVAL',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 7fffffff(16), v_integer, ^mmv$shared_queue_age_interval],

{ NAME        } ['SITE_ACTIVE_SHARED_QUEUES',
{ GROUPS        } $syt$system_const_value_groups [],
{ MIN/MAX/VALUE } 0, mmc$pq_shared_num_sites, v_integer, ^mmv$site_active_shared_queues],

{ NAME        } ['SORT_CATALOG_OBJECT_LIST',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_deadstart_only],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^pfv$sort_catalog_object_list],

{ NAME        } ['SPACE_MESSAGES_TO_CONSOLE',
{ GROUPS        } $syt$system_const_value_groups [],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^dmv$space_messages_to_console],

{ NAME        } ['STATISTIC_LOG_CRITICAL',
{ GROUPS        } $syt$system_const_value_groups [],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^lgv$global_log_attributes [pmc$statistic_log].critical],

{ NAME        } ['STATISTIC_LOG_MAXIMUM_SIZE',
{ GROUPS        } $syt$system_const_value_groups [],
{ MIN/MAX/VALUE } 1, 150, v_byte, ^lgv$global_log_attributes [pmc$statistic_log].maximum_size],

{ NAME        } ['SUBSYSTEM_PRIORITY_THRESHOLD',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 5, 0ff(16), v_byte, ^tmv$subsystem_prior_threshold],

{ NAME        } ['SWAPPING_AIC_MODIFIED',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 100, v_integer, ^mmv$swapping_aic_modified],

{ NAME        } ['SWAPPING_AIC_UNMODIFIED',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 100, v_integer, ^mmv$swapping_aic_unmodified],

{ NAME        } ['SWAP_FILE_ALLOCATION_SIZE',
{ GROUPS        } $syt$system_const_value_groups [],
{ MIN/MAX/VALUE } 4096, 1000000, v_halfword, ^jmv$swap_file_allocation_size],

{ NAME        } ['SWAP_JOBS_IN_LONG_WAIT',
{ GROUPS        } $syt$system_const_value_groups [],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^jmv$swap_jobs_in_long_wait],

{ NAME        } ['SYSTEM_ACTIVATION',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_deadstart_only],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^rav$system_activation],

{ NAME        } ['SYSTEM_DEBUG_RING',
{ GROUPS        } $syt$system_const_value_groups [],
{ MIN/MAX/VALUE } 0, 15, v_integer, ^tmv$system_debug_ring],

{ NAME        } ['SYSTEM_DEBUG_SEGMENT',
{ GROUPS        } $syt$system_const_value_groups [],
{ MIN/MAX/VALUE } 0, 4095, v_integer, ^tmv$system_debug_segment],

{ NAME        } ['SYSTEM_ERROR_HANG_COUNT',
{ GROUPS        } $syt$system_const_value_groups [],
{ MIN/MAX/VALUE } 0, 1000, v_halfword, ^tmv$system_error_hang_count],

{ NAME        } ['SYSTEM_HALTRING',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 16, v_byte, ^mtv$system_haltring],

{ NAME        } ['SYSTEM_JOB_MULTIPROCESSING',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_deadstart_only],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^syv$system_job_multiprocessing],

{ NAME        } ['SYSTEM_LOG_CRITICAL',
{ GROUPS        } $syt$system_const_value_groups [],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^lgv$global_log_attributes [pmc$system_log].critical],

{ NAME        } ['SYSTEM_LOG_MAXIMUM_SIZE',
{ GROUPS        } $syt$system_const_value_groups [],
{ MIN/MAX/VALUE } 1, 150, v_byte, ^lgv$global_log_attributes [pmc$system_log].maximum_size],

{ NAME        } [clc$system_logging_active_name,
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^clv$system_logging_activated],

{ NAME        } ['TELNET_CONNECTION_LIMIT',
{ GROUPS        } $syt$system_const_value_groups [],
{ MIN/MAX/VALUE } 0, 900000, v_integer, ^ifv$telnet_connection_limit],

{ NAME        } ['TEMPORARY_FILE_OVERFLOW',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^dmv$temporary_file_overflow],

{ NAME        } ['TEMP_FILE_SPACE_GUARD',
{ GROUPS        } $syt$system_const_value_groups [],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^mmv$temp_file_space_guard],

{ NAME        } ['TEST_FLAG',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^dmv$test_recovery],

{ NAME        } ['THINK_EXPIRATION_TIME',
{ GROUPS        } $syt$system_const_value_groups [],
{ MIN/MAX/VALUE } 0, 1000000000, v_integer, ^jsv$think_expiration_time],

{ NAME        } ['TIMED_WAIT_NOT_QUEUED',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 60000000, 7fffffffffff(16), v_integer, ^tmv$timed_wait_not_queued],

{ NAME        } ['TRACE_STACK_FRAME_COUNT',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 0ff(16), v_byte, ^osv$trace_stack_frame_count],

{ NAME        } ['TRAPPER',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^cmv$free_trap],

{ NAME        } ['TRAP_TASK_ERRORS',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^osv$trap_task_errors],

{ NAME        } ['TRIM_FILES',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^dmv$trim_files],

{ NAME        } ['TURN_OFF_PP_RELOAD',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^dsv$automatic_pp_reload.turned_off],

{ NAME        } ['UNLOAD_DEADSTART_TAPE',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_deadstart_only],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^dsv$unload_deadstart_tape],

{ NAME        } ['UNUSED_BOOLEAN_FOR_IO',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^iov$unused_boolean],

{ NAME        } ['USER_TEMPLATES',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^syv$user_templates],

{ NAME        } ['USE_ASSIGN_PAGES_FOR_TAPE',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^bav$use_assign_pages_for_tape],

{ NAME        } ['USE_SITE_WELCOME_BANNER',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^osv$use_site_welcome_banner],

{ NAME        } ['VALIDATE_ACTIVE_SETS',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_deadstart_only],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^osv$validate_active_sets],

{ NAME        } ['VALIDATE_PERMANENT_FILES',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_deadstart_only],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^osv$validate_permanent_files],

{ NAME        } ['VALIDATE_SYSTEM_SET',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_deadstart_only],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^osv$validate_active_sets],

{ NAME        } [avc$validation_level_const_name,
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 2, v_byte, ^avv$validation_level],

{ NAME        } ['VECTOR_SIMULATION',
{ GROUPS        } $syt$system_const_value_groups [],
{ MIN/MAX/VALUE } 0, 2, v_byte, ^mtv$scb_vector_sim_attribute],

{ NAME        } ['VERIFY_CATALOG_HEAPS',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^pfv$verify_catalog_heaps],

{ NAME        } ['VERIFY_HEAP_LINKAGE',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^syv$verify_heap_linkage],

{ NAME        } ['VERIFY_MISSING_VOLUMES',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_deadstart_only],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^osv$verify_missing_volumes],

{ NAME        } ['VERIFY_TFT_BEFORE_CLEANUP',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^bav$verify_tft_before_cleanup],

{ NAME        } ['VOLUME_CLASS',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_deadstart_only],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^dmv$volume_class_kludge],

{ NAME        } ['WAIT_ON_AVAIL_MOD_QUEUE_FULL',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^mmv$wait_on_avail_mod_q_full],

{ NAME        } ['WIRE_MLI_TABLES',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_deadstart_only],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^mlv$wire_mli_tables],

{ NAME        } ['WRITE_AGED_OUT_PAGES',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, osc$max_page_frames, v_integer, ^mmv$write_aged_out_pages],

{ NAME        } ['WRITE_STALE_PAGES',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute,
{                 } syc$scvg_deadstart_only],
{ MIN/MAX/VALUE } 0, 1, v_boolean, ^jsv$write_stale_pages],

{ NAME        } ['dummy',
{ GROUPS        } $syt$system_const_value_groups [
{                 } syc$scvg_undocumented_attribute],
{ MIN/MAX/VALUE } 0, 1, v_boolean, NIL]];


  VAR
    v$saved_value_table: [oss$mainframe_pageable] t$saved_value_table :=
          [REP c$value_table_length of [0, 0, 0, 0]];

?? OLDTITLE ??
?? OLDTITLE ??
?? NEWTITLE := 'P$STORE_SYSTEM_CONSTANT', EJECT ??

{NOTE: Error Message Formatting: there are no message templates at DCFILE processing time!

  PROCEDURE p$store_system_constant
    (    name: ost$name_reference;
         value: integer;
         entry: t$value_table_type;
     VAR status: ost$status);

    VAR
      i: integer,
      previous_integer_value: integer,
      rb: dst$rb_system_deadstart_status,
      restricted_mainframe: boolean,
      str: string (255);

{ Check for system attributes not allowed to be set on Soviet Nuclear Safety or China Weather Systems.
    osp$check_for_desired_mf_class (osc$mc_china_or_soviet_class, restricted_mainframe);
    IF restricted_mainframe AND ((entry.name = 'EMERGENCY_INTERVENTION') OR (entry.name = 'USER_TEMPLATES'))
          THEN
      RETURN; {----->
    IFEND;

    IF (mtv$sys_core_init_complete) AND (syc$scvg_deadstart_only IN entry.groups) THEN
      osp$set_status_abnormal ('SY', sye$not_changeable_after_ds, entry.name, status);
      RETURN; {----->
    IFEND;

    IF (value > entry.max) OR (value < entry.min) THEN
      IF NOT mtv$sys_core_init_complete THEN
        STRINGREP (str, i, 'The Integer ', value, ' is out of range for Parameter ', entry.
              name (1, clp$trimmed_string_size (entry.name)), '. It must be between ', entry.min, ' and ',
              entry.max, '.');
        osp$set_status_abnormal ('SY', sye$range_error, str (1, i), status);
      ELSE
        osp$set_status_abnormal ('SY', sye$range_error, entry.name, status);
        osp$append_status_integer (osc$status_parameter_delimiter, value, 10 {=radix} , FALSE, status);
        osp$append_status_integer (osc$status_parameter_delimiter, entry.min, 10, FALSE, status);
        osp$append_status_integer (osc$status_parameter_delimiter, entry.max, 10, FALSE, status);
      IFEND;
      RETURN; {----->
    IFEND;

    IF name = 'SITE_ACTIVE_SHARED_QUEUES' THEN
      previous_integer_value := entry.integer_p^;
    IFEND;
    temp_workaround_min_sws := mmv$gpql [mmc$pq_shared_task_service].minimum_nominal;
    CASE entry.value_type OF
    = v_integer =
      entry.integer_p^ := value;
    = v_halfword =
      entry.halfword_p^ := value;
    = v_byte =
      entry.byte_p^ := value;
    = v_boolean =
      IF value = $INTEGER (FALSE) THEN
        entry.boolean_p^ := FALSE;
      ELSE
        entry.boolean_p^ := TRUE;
      IFEND;
    CASEND;
    mmv$gpql [mmc$pq_shared_task_service].minimum_nominal := temp_workaround_min_sws;

    IF name = 'AUTOMATIC_SYSTEM_RESTART' THEN
      IF dsv$mainframe_type = dsc$mt_2000_mainframe THEN
        rb.reqcode := syc$rc_system_deadstart_status;
        rb.bct_flags := dsc$rb_sds_bct_ar_control;
        IF value = $INTEGER (TRUE) THEN
          rb.action := dsc$rb_sds_clear_bct_flag;
        ELSE
          rb.action := dsc$rb_sds_set_bct_flag;
        IFEND;
        i#call_monitor (#LOC (rb), #SIZE (rb));
      IFEND;
    ELSEIF name = 'SITE_ACTIVE_SHARED_QUEUES' THEN
      mmp$store_site_active_q_cnt_r1 (mmv$site_active_shared_queues, status);
      IF NOT status.normal THEN
        entry.integer_p^ := previous_integer_value;
        RETURN; {----->
      IFEND;
    IFEND;

  PROCEND p$store_system_constant;
?? OLDTITLE ??
?? NEWTITLE := 'P$SEARCH_VALUE_TABLE', EJECT ??

{NOTE: Error Message Formatting: there are no message templates at DCFILE processing time!

  PROCEDURE p$search_value_table
    (    name: string ( * );
     VAR tab_p: ^t$value_table_type;
     VAR status: ost$status);

    VAR
      error_string: string (55),
      i: integer,
      lname: ost$name,
      table_i: integer;

    status.normal := TRUE;
    table_i := 1;
    lname := name;
    FOR i := 1 TO STRLENGTH (lname) DO
      IF (lname (i) >= 'a') AND (lname (i) <= 'z') THEN
        lname (i) := $CHAR ($INTEGER (lname (i)) - $INTEGER ('a') + $INTEGER ('A'));
      IFEND;
    FOREND;

  /lp/
    WHILE lname <> value_table [table_i].name DO
      table_i := table_i + 1;
      IF table_i <= c$value_table_length THEN
        CYCLE /lp/ {----->
      IFEND;

      IF mtv$sys_core_init_complete THEN
        osp$set_status_abnormal ('SY', sye$unknown_parameter_name, lname, status);
      ELSE
        error_string := 'Unknown parameter name: ';
        error_string (25, * ) := lname;
        osp$set_status_abnormal ('SY', sye$unknown_parameter_name, error_string, status);
      IFEND;
      RETURN; {----->
    WHILEND /lp/;

    tab_p := ^value_table [table_i];

  PROCEND p$search_value_table;
?? OLDTITLE ??
?? NEWTITLE := '  [xdcl, #gate] SYP$FETCH_SYSTEM_CONSTANT', EJECT ??

  PROCEDURE [XDCL, #GATE] syp$fetch_system_constant
    (VAR name: ost$name_reference;
     VAR index: integer;
     VAR value: integer;
     VAR status: ost$status);

    VAR
      tab_p: ^t$value_table_type,
      status_p: ^ost$status;

    temp_workaround_min_sws := mmv$gpql [mmc$pq_shared_task_service].minimum_nominal;
    IF name = 'EVERYTHING' THEN
      IF (index >= 1) AND (index <= c$value_table_length) THEN
        name := value_table [index].name;
        IF name <> 'dummy' THEN
          CASE value_table [index].value_type OF
          = v_integer =
            value := value_table [index].integer_p^;
          = v_halfword =
            value := value_table [index].halfword_p^;
          = v_byte =
            value := value_table [index].byte_p^;
          = v_boolean =
            value := $INTEGER (value_table [index].boolean_p^);
          CASEND;
        IFEND;
      ELSE
        name := 'dummy';
      IFEND;
      IF index = c$value_table_length THEN
        index := 0;
      ELSE
        index := index + 1;
      IFEND;
    ELSEIF name = 'ALL' THEN
      IF (index >= 1) AND (index <= c$value_table_length)
         AND (NOT (syc$scvg_undocumented_attribute IN value_table [index].groups)) THEN
        name := value_table [index].name;
        IF name <> 'dummy' THEN
          CASE value_table [index].value_type OF
          = v_integer =
            value := value_table [index].integer_p^;
          = v_halfword =
            value := value_table [index].halfword_p^;
          = v_byte =
            value := value_table [index].byte_p^;
          = v_boolean =
            value := $INTEGER (value_table [index].boolean_p^);
          CASEND;
        IFEND;
      ELSE
        name := 'dummy';
      IFEND;
      IF index = c$value_table_length THEN
        index := 0;
      ELSE
        index := index + 1;
      IFEND;
    ELSE
      p$search_value_table (name, tab_p, status);
      IF status.normal THEN
        CASE tab_p^.value_type OF
        = v_integer =
          value := tab_p^.integer_p^;
        = v_halfword =
          value := tab_p^.halfword_p^;
        = v_byte =
          value := tab_p^.byte_p^;
        = v_boolean =
          value := $INTEGER (tab_p^.boolean_p^);
        CASEND;
        RETURN; {----->
      IFEND;

{ The following code is executed only if the status returned from p$search_value_table was abnormal.
{ Use a temporary status in the following procedure calls to preserve the bad status from
{ p$search_value_table.

      PUSH status_p;
      dmp$fetch_debug_option_value (name, value, status_p^);
      IF status_p^.normal THEN
        RETURN; {----->
      IFEND;

{      iop$fetch_debug_option_value (name, value, status);
    IFEND;

  PROCEND syp$fetch_system_constant;
?? OLDTITLE ??
?? NEWTITLE := '  [xdcl, #gate] SYP$RESTORE_SYSTEM_CONSTANTS', EJECT ??

  PROCEDURE [XDCL, #GATE] syp$restore_system_constants
    (    save_kind: syt$sys_const_saved_values_kind;
     VAR status: ost$status);

    VAR
      current_value: integer,
      error_count: integer,
      i: integer,
      local_status: ost$status;

    status.normal := TRUE;
    IF NOT (save_kind IN v$defined_saved_values) THEN
      osp$set_status_abnormal ('SY', sye$sys_const_save_kind_not_def,
            v$sys_const_saved_val_kind_name [save_kind], status);
      RETURN; {----->
    IFEND;

    error_count := 0;
    FOR i := 1 TO c$value_table_length DO
      IF (value_table [i].name <> 'dummy') AND (NOT (syc$scvg_deadstart_only IN value_table [i].groups)) THEN
        temp_workaround_min_sws := mmv$gpql [mmc$pq_shared_task_service].minimum_nominal;

        CASE value_table [i].value_type OF
        = v_integer =
          current_value := value_table [i].integer_p^;
        = v_halfword =
          current_value := value_table [i].halfword_p^;
        = v_byte =
          current_value := value_table [i].byte_p^;
        = v_boolean =
          current_value := $INTEGER (value_table [i].boolean_p^);
        CASEND;

{Only change when the value is really different (otherwise, we cause a lot of unnecessary activity in other
{processes).
        IF current_value <> v$saved_value_table [i] [save_kind] THEN
          p$store_system_constant (value_table [i].name, v$saved_value_table [i] [save_kind], value_table [i],
                status);
          IF NOT status.normal THEN
            IF error_count = 0 THEN
              local_status := status;
              error_count := error_count + 1;
            IFEND;
          IFEND;
        IFEND;
      IFEND;
    FOREND;

    IF error_count <> 0 THEN
      IF error_count = 1 THEN
        status := local_status;
      ELSE
        osp$set_status_abnormal ('SY', sye$unable_restore_all_values,
              v$sys_const_saved_val_kind_name [save_kind], status);
        osp$append_status_integer (osc$status_parameter_delimiter, error_count, 10 {=radix} , FALSE, status);
      IFEND;
    IFEND;

  PROCEND syp$restore_system_constants;
?? OLDTITLE ??
?? NEWTITLE := '  [xdcl, #gate] SYP$SAVE_SYSTEM_CONSTANTS', EJECT ??

  PROCEDURE [XDCL, #GATE] syp$save_system_constants
    (    save_kind: syt$sys_const_saved_values_kind);

    VAR
      i: integer;

    FOR i := 1 TO c$value_table_length DO
      IF value_table [i].name <> 'dummy' THEN
        temp_workaround_min_sws := mmv$gpql [mmc$pq_shared_task_service].minimum_nominal;

        CASE value_table [i].value_type OF
        = v_integer =
          v$saved_value_table [i] [save_kind] := value_table [i].integer_p^;
        = v_halfword =
          v$saved_value_table [i] [save_kind] := value_table [i].halfword_p^;
        = v_byte =
          v$saved_value_table [i] [save_kind] := value_table [i].byte_p^;
        = v_boolean =
          v$saved_value_table [i] [save_kind] := $INTEGER (value_table [i].boolean_p^);
        CASEND;
      IFEND;
    FOREND;

    v$defined_saved_values := v$defined_saved_values + $t$sys_const_saved_values_kinds [save_kind];

  PROCEND syp$save_system_constants;
?? OLDTITLE ??
?? NEWTITLE := '  [xdcl, #gate] SYP$GET_SYSTEM_CONSTANT_VALUES', EJECT ??

  PROCEDURE [XDCL, #GATE] syp$get_system_constant_values
    (VAR system_constant_values: syt$system_constant_values;
     VAR work_area: ^clt$work_area;
     VAR status: ost$status);

    VAR
      count: integer,
      i: integer,
      local_work_area: ^clt$work_area,
      system_constant_value_entry_p: ^syt$system_constant_value_entry;

    local_work_area := work_area;
    count := 0;
    system_constant_values.entries_count := 0;
    system_constant_values.entries_p := NIL;

    FOR i := 1 TO c$value_table_length DO
      IF value_table [i].name <> 'dummy' THEN
        NEXT system_constant_value_entry_p IN local_work_area;
        IF system_constant_value_entry_p = NIL THEN
          osp$set_status_abnormal ('OF', cle$work_area_overflow, 'syp$get_system_constant_values', status);
          RETURN; {----->
        IFEND;

        count := count + 1;
        system_constant_value_entry_p^.name := value_table [i].name;

        temp_workaround_min_sws := mmv$gpql [mmc$pq_shared_task_service].minimum_nominal;

        CASE value_table [i].value_type OF
        = v_integer =
          system_constant_value_entry_p^.value := value_table [i].integer_p^;
        = v_halfword =
          system_constant_value_entry_p^.value := value_table [i].halfword_p^;
        = v_byte =
          system_constant_value_entry_p^.value := value_table [i].byte_p^;
        = v_boolean =
          system_constant_value_entry_p^.value := $INTEGER (value_table [i].boolean_p^);
        CASEND;

        system_constant_value_entry_p^.min := value_table [i].min;
        system_constant_value_entry_p^.max := value_table [i].max;
        system_constant_value_entry_p^.groups := value_table [i].groups;
        system_constant_value_entry_p^.saved_values := v$saved_value_table [i];
      IFEND;
    FOREND;

    NEXT system_constant_values.entries_p: [1 .. count] IN work_area;
    IF system_constant_values.entries_p <> NIL THEN
      system_constant_values.entries_count := count;
      system_constant_values.defined_saved_values := v$defined_saved_values;
    ELSE
      osp$set_status_abnormal ('OF', cle$work_area_overflow, 'syp$get_system_constant_values', status);
    IFEND;

  PROCEND syp$get_system_constant_values;
?? OLDTITLE ??
?? NEWTITLE := '[xdcl, #gate] SYP$STORE_SYSTEM_CONSTANT', EJECT ??

  PROCEDURE [XDCL, #GATE] syp$store_system_constant
    (    name: ost$name_reference;
         value: integer;
     VAR status: ost$status);

    VAR
      status_p: ^ost$status,
      tab_p: ^t$value_table_type;

    p$search_value_table (name, tab_p, status);

    IF status.normal THEN
      p$store_system_constant (name, value, tab_p^, status);
    ELSE
      PUSH status_p;
      dmp$store_debug_option_value (name, value, status_p^);
      IF status_p^.normal THEN
        RETURN; {----->
      IFEND;

{     iop$store_debug_option_value (name, value, status);
    IFEND;

  PROCEND syp$store_system_constant;
?? OLDTITLE ??
?? NEWTITLE := 'OSP$SET_DEBUG_SC', EJECT ??

{This is a helper proc for PICO Throttling problem analysis to allow to
{change osv$debug from job mode. We will call it from MST and then check the variable in
{IOM and halt the system. It's better, nobody knows of this requets ...

  PROCEDURE [XDCL, #GATE] osp$set_debug_sc
    (    number: 0 .. 15;
         value: integer);

    IF (number >= 0) AND (number <= 15) THEN
      osv$debug [number] := value;
    IFEND;

  PROCEND osp$set_debug_sc;
?? OLDTITLE ??
MODEND sym$system_constant_manager;

