PROCEDURE dum$display_log_ctl_descriptor, display_log_control_descriptor, dislcd (
  log, l: name = $required
  output, o: file = $output
  status)

  "$FORMAT=OFF"
  VAR
    log_control_descriptor_offset: integer
    log_control_descriptor_size: integer
    log_ordinal: integer
    local_status: status
  VAREND
  "$FORMAT=ON"

" Determine the log ordinal for the specified log.

  get_log_ordinal log=log log_ordinal=log_ordinal status=local_status
  EXIT_PROC WITH local_status WHEN NOT local_status.normal

" Get the size of a log control descriptor in bytes (rounded to next whole word).

  lgt$log_control_descriptor field=lgt$log_control_descriptor offset=log_control_descriptor_offset ..
        length=log_control_descriptor_size
  log_control_descriptor_size = (log_control_descriptor_size + 63) / 8

" If it is a global log index into the global log control descriptors.

  IF (log_ordinal >= 2) AND (log_ordinal <=7) THEN
    log_control_descriptor = $sa(lgv$global_log_ctl)+((log_ordinal-2)*log_control_descriptor_size)
  ELSE
    log_control_descriptor = $sa(lgv$local_log_ctl)+(log_ordinal*log_control_descriptor_size)
  IFEND

  put_line lines=(' Log control descriptor for '//$string(log), ' ') o=output.$eoi
  lgt$log_control_descriptor a=log_control_descriptor o=output.$eoi

PROCEND dum$display_log_ctl_descriptor

