forked from SDL-Hercules-390/hyperion
-
Notifications
You must be signed in to change notification settings - Fork 0
/
cmdtab.h
2080 lines (1903 loc) · 140 KB
/
cmdtab.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
/* CMDTAB.H (C) Copyright Roger Bowler, 1999-2012 */
/* (C) Copyright "Fish" (David B. Trout), 2002-2012 */
/* (C) Copyright Jan Jaeger, 2003-2012 */
/* (C) Copyright TurboHercules, SAS 2010-2011 */
/* (C) and others 2013-2021 */
/* Defines all Hercules Configuration statements */
/* and panel commands */
/* */
/* Released under "The Q Public License Version 1" */
/* (http://www.hercules-390.org/herclic.html) as modifications to */
/* Hercules. */
/*-------------------------------------------------------------------*/
/* Command descriptions and help text */
/*-------------------------------------------------------------------*/
#if defined( _FW_REF ) /* (pre-table build pass) */
// -------------- (template for new commands) ----------------
// -------------- (template for new commands) ----------------
//
//#define xxx_cmd_desc "Short XXX description"
//#define xxx_cmd_help <backslash>
// <backslash>
// "Much longer, more detailed xxx command description...\n" <backslash>
// "Use other commands as reference for typical formatting and wording.\n" <backslash>
//
// -------------- (template for new commands) ----------------
// -------------- (template for new commands) ----------------
#define $locate_cmd_desc "Display sysblk, regs or hostinfo"
#define $runtest_cmd_desc "Start the test if test mode is active"
#define $runtest_cmd_help \
\
"Issue 'restart' command and then wait for all processors to load a\n" \
"disabled wait PSW. This is a scripting only command and is only valid\n" \
"when test mode is active. Test mode can only be activated by specifying\n" \
"the '-t' command line switch when Hercules is started. Runtest supports\n" \
"a single optional argument being the expected test duration in seconds.\n" \
"If not specified then a default value is used. If the test runs longer\n" \
"than the expected time an error message is issued and the test aborts.\n"
#define $test_cmd_desc "Your custom command (*DANGEROUS!*)"
#define $test_cmd_help \
\
"Performs whatever test function *YOU* specifically coded it to do.\n\n" \
\
" * * * * WARNING! * * * *\n\n" \
\
"DO NOT RUN THIS COMMAND UNLESS *YOU* SPECIFICALLY CODED THE FUNCTION\n" \
"THAT THIS COMMAND INVOKES! Unless you wrote it yourself you probably\n" \
"don't know it does. It could perform any function at all from crashing\n" \
"Hercules to launching a nuclear strike. You have been warned!\n"
#define $zapcmd_cmd_desc "Enable/disable command (*CAREFUL!*)"
#define $zapcmd_cmd_help \
\
"Format:\n\n" \
\
" $zapcmd cmdname CFG|NOCFG|CMD|NOCMD\n\n" \
\
"For normal non-Debug production release builds, use the sequence:\n\n" \
\
" msglvl VERBOSE (optional)\n" \
" msglvl DEBUG (optional)\n" \
" cmdlvl DEBUG (*required!*) (because not DEBUG build,\n" \
" $zapcmd cmdname CMD and $zapcmd is SYSDEBUG)\n\n" \
\
"In other words, the $zapcmd is itself a 'debug' level command, and\n" \
"thus in order to use it, the debug cmdlvl must be set first (which\n" \
"is the default for Debug builds but not normal production builds).\n" \
"Note: it is possible to disable the $zapcmd itself so BE CAREFUL!\n"
#define bangmsg_cmd_desc "SCP priority message"
#define bangmsg_cmd_help \
\
"To enter a system control program (i.e. guest operating system)\n" \
"priority command on the hercules console, simply prefix the command\n" \
"with an exclamation point '!'.\n"
#define hash_cmd_desc "Silent comment"
#define star_cmd_desc "Loud comment"
#define reply_cmd_desc "SCP command"
#define reply_cmd_help \
\
"To reply to a system control program (i.e. guest operating system)\n" \
"message that gets issued to the hercules console, prefix the reply\n" \
"with a period.\n"
#define quest_cmd_desc "alias for help"
#define abs_cmd_desc "Display or alter absolute storage"
#define abs_cmd_help \
\
"Format: \"abs addr[.len]\" or \"abs addr[-addr2]\" to display up to 64K\n" \
"of absolute storage, or \"abs addr=value\" to alter up to 32 bytes of\n" \
"absolute storage, where 'value' is a string of up to 32 pairs of hex\n" \
"digits.\n"
#define aea_cmd_desc "Display AEA tables"
#define aia_cmd_desc "Display AIA fields"
#define alrf_cmd_desc "Command deprecated. Use facility command instead"
#define ar_cmd_desc "Display access registers"
#define archlvl_cmd_desc "Set or Query current Architecture Mode"
#define archlvl_cmd_help \
\
"Format: ARCHLVL S/370 | ESA/390 | z/ARCH\n" \
"\n" \
"Entering the command without arguments displays the current architecture\n" \
"mode. Entering the command with an argument sets the architecture mode.\n" \
"To enable/disable/query facilities please use the new FACILITY command.\n"
#define archmode_cmd_desc "Deprecated. Use the archlvl command instead"
#define asnlx_cmd_desc "Command deprecated. Use facility command instead"
#define attach_cmd_desc "Configure device"
#define attach_cmd_help \
\
"Format: \"attach devn type [arg...]\n"
#define autoscsi_cmd_desc "Command deprecated - Use \"SCSIMOUNT\""
#define autoscsi_cmd_help \
\
"This command is deprecated. Use \"scsimount\" instead.\n"
#define autoinit_cmd_desc "Display/Set auto-create-empty-tape-file option"
#define autoinit_cmd_help \
\
"Format: \"AUTOINIT [ ON | OFF ]\"\n" \
"\n" \
"The AUTOINIT option controls whether emulated tape drive device files\n" \
"will be automatically created or not when it is discovered they do not\n" \
"yet exist.\n" \
"\n" \
"When AUTOINIT is ON (the default), a devinit command specifying a file\n" \
"that does not yet exist causes the tape driver to automatically create\n" \
"an unlabeled tape volume consisting of just two tapemarks whenever it\n" \
"discovered the specified file does not exist.\n" \
"\n" \
"When AUTOINIT is OFF, a devinit command instead fails with an expected\n" \
"\"file not found\" error if the specified tape file does not exist.\n" \
"\n" \
"Entering the command without any arguments displays the current setting.\n"
#define automount_cmd_desc "Display/Update allowable tape automount directories"
#define automount_cmd_help \
\
"Format: \"automount { add <dir> | del <dir> | list }\"\n" \
"\n" \
"Adds or deletes entries from the list of allowable/unallowable tape\n" \
"automount directories, or lists all currently defined list entries,\n" \
"if any.\n" \
"\n" \
"The format of the <dir> directory operand for add/del operations is\n" \
"identical to that as described in the documentation for the AUTOMOUNT\n" \
"configuration file statement (i.e. prefix with '+' or '-' as needed).\n" \
"\n" \
"The automount feature is appropriately enabled or disabled for all\n" \
"tape devices as needed depending on the updated empty/non-empty list\n" \
"state.\n"
#define bplus_cmd_desc "(Synonym for 'b')"
#define bminus_cmd_desc "Delete breakpoint"
#define bquest_cmd_desc "Query breakpoint"
#define b_cmd_desc "Set breakpoint"
#define b_cmd_help \
\
"Format:\n" \
"\n" \
" \"b addr-addr [asid]\"\n" \
" \"b addr:addr [asid]\"\n" \
" \"b addr.length [asid]\"\n" \
"\n" \
"Sets the instruction address or address range where you wish to halt\n" \
"execution. This command is synonymous with the \"s+\" command.\n"
#define cachestats_cmd_desc "Cache stats command"
#define cckd_cmd_desc "Compressed CKD command"
#define cckd_cmd_help \
\
"The cckd command is used to display current cckd processing options\n" \
"or statistics or to set new cckd processing options:\n" \
"\n" \
" cckd help Display cckd help\n" \
" cckd stats Display current cckd statistics\n" \
" cckd opts Display current cckd options\n" \
" cckd opt=val,... Set cckd option. Multiple options may be specified.\n" \
" Each option must be separated from the next with a\n" \
" single comma and no intervening blanks. The list of\n" \
" supported cckd options are:\n" \
"\n" \
" comp=n Override compression (-1,0,1,2)\n" \
" compparm=n Override compression parm (-1 ... 9)\n" \
" debug=n Enable CCW tracing debug messages (0 or 1)\n" \
" freepend=n Set free pending cycles (-1 ... 4)\n" \
" fsync=n Enable fsync (0 or 1)\n" \
" gcint=n Set garbage collector interval (sec) ( 0 .. 60)\n" \
" gcparm=n Set garbage collector parameter (-8 ... 8)\n" \
" gcstart=n Start garbage collector (0 or 1)\n" \
" linuxnull=n Check for null linux tracks (0 or 1)\n" \
" nosfd=n Disable stats report at close (0 or 1)\n" \
" nostress=n Disable stress writes (0 or 1)\n" \
" ra=n Set number readahead threads ( 1 ... 9)\n" \
" raq=n Set readahead queue size ( 0 .. 16)\n" \
" rat=n Set number tracks to read ahead ( 0 .. 16)\n" \
" trace=n Set trace table size (0 ... 200000)\n" \
" wr=n Set number writer threads ( 1 ... 9)\n" \
"\n" \
"Refer to the Hercules CCKD documentation web page for more information.\n"
#define cctape_cmd_desc "Display a printer's current cctape"
#define cctape_cmd_help "Format: \"cctape <devnum>\""
#define cf_cmd_desc "Configure current CPU online or offline"
#define cf_cmd_help \
\
"Configure current CPU online or offline: Format-> \"cf [on|off]\"\n" \
"Where the 'current' CPU is defined as whatever CPU was defined as\n" \
"the panel command target cpu via the \"cpu\" panel command. (Refer\n" \
"to the 'cpu' command for further information) Entering 'cf' by itself\n" \
"simply displays the current online/offline status of the current cpu.\n" \
"Otherwise the current cpu is configured online or offline as\n" \
"specified.\n" \
"Use 'cfall' to configure/display all CPUs online/offline state.\n"
#define cfall_cmd_desc "Configure all CPU's online or offline"
#define clocks_cmd_desc "Display tod clkc and cpu timer"
#define cmdlvl_cmd_desc "Display/Set current command group"
#define cmdlvl_cmd_help \
\
"Format: cmdlevel [{+/-}{ALL|MAINT|PROG|OPER|DEVEL|DEBUG}...]\n"
#define cmdsep_cmd_desc "Display/Set command line separator"
#define cmdsep_cmd_help \
\
"A command line separator character allows multiple commands\n" \
"to be entered on a single line.\n" \
"\n" \
"Format: CMDSEP [OFF | c ]\n" \
" c a single character used to separate commands.\n" \
" OFF disables command separation.\n"
#define cnslport_cmd_desc "Set console port"
#if defined(_FEATURE_047_CMPSC_ENH_FACILITY)
#define cmpscpad_cmd_desc "Set/display the CMPSC zero padding value."
#define cmpscpad_cmd_help \
\
"The CMPSCPAD command defines the zero padding storage alignment boundary\n" \
"for the CMPSC-Enhancement Facility. It must be a power of 2 value ranging\n" \
"anywhere from " QSTR( MIN_CMPSC_ZP_BITS ) " to " QSTR( MAX_CMPSC_ZP_BITS ) ". Enter the command with no arguments to display the\n" \
"current value.\n"
#endif /* defined(_FEATURE_047_CMPSC_ENH_FACILITY) */
#define codepage_cmd_desc "Set/display code page conversion table"
#define codepage_cmd_help \
\
"Format: 'codepage [cp]'\n" \
" 'codepage maint cmd [operands]' - see cp_updt command for\n" \
" help\n" \
"If no operand is specified, the current codepage is displayed.\n" \
"If 'cp' is specified, then code page is set to the specified page\n" \
"if the page is valid.\n"
#define conkpalv_cmd_desc "Display/alter console TCP keepalive settings"
#define conkpalv_cmd_help \
\
"Format: \"conkpalv (idle,intv,count)\" where 'idle', 'intv' and 'count'\n" \
"are the new values for the TCP keepalive settings for console\n" \
"connections:\n" \
"\n" \
" Begin probing after connection has been idle for 'idle' seconds\n" \
" wait for a maximum of 'intv' seconds for a probe response\n" \
" Close the connection once 'count' consecutive probes have failed\n" \
"\n" \
"The format must be exactly as shown, with each value separated from\n" \
"the next by a single comma, no intervening spaces between them, and\n" \
"surrounded within parenthesis. Enter the command without any operands\n" \
"to display the current values.\n"
#define cp_updt_cmd_desc "Create/Modify user character conversion table"
#define cp_updt_cmd_help \
\
"Format: 'cp_updt cmd [operands]'\n" \
"\n" \
" altER e|g2h|a|h2g (pos, val, pos, val,...)\n" \
" - alter the user eBCDIC/g2h or aSCII/h2g\n" \
" table value at hex POSition to hex\n" \
" VALue 16 pairs of hex digits may be\n" \
" specified within the parens\n" \
"\n" \
" dsp|disPLAY e|g2h|a|h2g - display user eBCDIC|aSCII table\n" \
"\n" \
" expORT e|g2h|a|h2g filename - export contents of user table to file\n" \
"\n" \
" impORT e|g2h|a|h2g filename - import file contents into user table\n" \
"\n" \
" refERENCE [cp] - copy codepage to user tables\n" \
" if cp is not specified, a list of\n" \
" valid codepage tables is generated\n" \
"\n" \
" reset - reset the internal user tables to\n" \
" binary zero\n" \
"\n" \
" test - verify that user tables are\n" \
" transparent, i.e. the value at\n" \
" position n in g2h used as an index\n" \
" into h2g will return a value equal n\n" \
" ( g2h<=>h2g, h2g<=>g2h )\n" \
"\n" \
" *e|g2h represent ebcdic; a|h2g represent ascii\n" \
" **lower case part of the cmd name represent the minimum abbreviation\n" \
" for the command\n" \
"\n" \
"To activate the user table, enter the command 'codepage user'\n" \
"\n" \
"Note: ebcdic refers to guest to host translation\n" \
" ascii refers to host to guest translation\n" \
" These terms are used for historical purposes and do not\n" \
" represent the literal term.\n"
#define cpu_cmd_desc "Define target cpu for panel display and commands"
#define cpu_cmd_help \
\
"Format: \"cpu [xx [cmd]]\" where 'xx' is the hexadecimal cpu address \n" \
"of the cpu in your multiprocessor configuration you wish all panel\n" \
"commands to apply to. If command text follows the cpu address, the\n" \
"command executes on cpu xx and the target cpu is not changed.\n" \
"\n" \
"For example, entering 'cpu 1F' followed by \"gpr\" will change the\n" \
"target cpu for the panel display and commands and then display the\n" \
"general purpose registers for cpu 31 of your configuration, whereas\n" \
"\"cpu 14 gpr\" executes the 'gpr' command on cpu 20, but does not\n" \
"change the target cpu for subsequent panel displays and commands.\n" \
"\n" \
"Entering the command with no arguments displays the current value.\n"
#define cpuidfmt_cmd_desc "Set format BASIC/0/1 STIDP generation"
#define cpumodel_cmd_desc "Set CPU model number"
#define cpuserial_cmd_desc "Set CPU serial number"
#define cpuverid_cmd_desc "Set CPU verion number"
#define cpuverid_cmd_help \
\
"Format: \"cpuverid xx [force]\" where 'xx' is the 2 hexadecimal digit\n" \
"CPU version code stored by the STIDP instruction when the architecture\n" \
"mode is S/370 or ESA390. If the architecture mode is z/Arch, then the\n" \
"version code is always stored as '00' and the value specified here is\n" \
"ignored unless the 'FORCE' option is specified. The default version code\n" \
"is 'FD' unless set to a different value.\n"
#define cr_cmd_desc "Display or alter control registers"
#define cr_cmd_help \
\
"Format: \"cr [nn=xxxxxxxxxxxxxxxx]\" where 'nn' is the optional\n" \
"control register number (0 to 15) and 'xxxxxxxxxxxxxxxx' is the\n" \
"control register value in hex (1-8 hex digits for 32-bit registers\n" \
"or 1-16 hex digits for 64-bit registers). Enter \"cr\" by itself to\n" \
"display the control registers without altering them.\n"
#define cscript_cmd_desc "Cancels a running script thread"
#define cscript_cmd_help \
\
"Format: \"cscript ['*' | 'ALL' | id]\". This command cancels a running\n" \
"script or all scripts. If '*' or 'ALL' is given then all running scripts\n" \
"are canceled. If no arguments are given only the first running script is\n" \
"cancelled. Otherwise the specific script 'id' is canceled. The 'script'\n" \
"command may be used to display a list of all currently running scripts.\n"
#define ctc_cmd_desc "Enable/Disable CTC debugging"
#define ctc_cmd_help \
\
"Format: \"ctc debug { on | off | startup } [ <devnum> | ALL ]\".\n\n" \
"Enables/disables debug packet tracing for the specified CTCI/LCS/PTP/CTCE\n" \
"device group(s) identified by <devnum> or for all CTCI/LCS/PTP/CTCE device\n"\
"groups if <devnum> is not specified or specified as 'ALL'.\n" \
"Only CTCE devices support 'startup' debugging.\n"
#define define_cmd_desc "Rename device"
#define define_cmd_help \
\
"Format: \"define olddevn newdevn\"\n"
#define defsym_cmd_desc "Define symbol"
#define defsym_cmd_help \
\
"Format: \"defsym symbol [value]\". Defines symbol 'symbol' to contain\n" \
"value 'value'. The symbol can then be the object of a substitution for\n" \
"later panel commands. If 'value' contains blanks or spaces, then it\n" \
"must be enclosed within quotes or apostrophes. For more detailed\n" \
"information regarding symbol substitution refer to the 'DEFSYM'\n" \
"configuration file statement in Hercules documentation.\n" \
"Enter \"defsym\" by itself to display the values of all defined\n" \
"symbols.\n"
#define delsym_cmd_desc "Delete a symbol"
#define delsym_cmd_help \
\
"Format: \"delsym symbol\". Deletes symbol 'symbol'.\n"
#define detach_cmd_desc "Remove device"
#define detach_cmd_help \
\
"Format: \"detach devn [FORCE]\"\n" \
"Where 'devn' is the device address of the device to be removed from\n" \
"the hardware configuration. Use the 'FORCE' option to forcibly remove\n" \
"devices which are still in use (are currently 'busy' performing I/O).\n" \
"Note that using the FORCE option is inherently DANGEROUS and can easily\n" \
"cause Hercules to CRASH!\n"
#define devinit_cmd_desc "Reinitialize device"
#define devinit_cmd_help \
\
"Format: \"devinit devn [arg...]\"\n" \
"If no arguments are given then the same arguments are used\n" \
"as were used the last time the device was created/initialized.\n"
#define devlist_cmd_desc "List device, device class, or all devices"
#define devlist_cmd_help \
\
"Format: \"devlist [devn | devc]\"\n" \
" devn is a single device address\n" \
" devc is a single device class. Device classes are CHAN, CON,\n" \
" CTCA, DASD, DSP, FCP, LINE, OSA, PCH, PRT, RDR, and TAPE.\n" \
"\n" \
"If no arguments are given then all devices will be listed.\n"
#define devtmax_cmd_desc "Display or set max device threads"
#define devtmax_cmd_help \
\
"Specifies the maximum number of device threads allowed.\n" \
"\n" \
"Specify -1 to cause 'one time only' temporary threads to be created\n" \
"to service each I/O request to a device. Once the I/O request is\n" \
"complete, the thread exits. Subsequent I/O to the same device will\n" \
"cause another worker thread to be created again.\n" \
"\n" \
"Specify 0 to cause an unlimited number of 'semi-permanent' threads\n" \
"to be created on an 'as-needed' basis. With this option, a thread\n" \
"is created to service an I/O request for a device if one doesn't\n" \
"already exist, but once the I/O is complete, the thread enters an\n" \
"idle state waiting for new work. If a new I/O request for the device\n" \
"arrives before the timeout period expires, the existing thread will\n" \
"be reused. The timeout value is currently hard coded at 5 minutes.\n" \
"Note that this option can cause one thread (or possibly more) to be\n" \
"created for each device defined in your configuration. Specifying 0\n" \
"means there is no limit to the number of threads that can be created.\n" \
"\n" \
"Specify a value from 1 to nnn to set an upper limit to the number of\n" \
"threads that can be created to service any I/O request to any device.\n" \
"Like the 0 option, each thread, once done servicing an I/O request,\n" \
"enters an idle state. If a new request arrives before the timeout\n" \
"period expires, the thread is reused. If all threads are busy when a\n" \
"new I/O request arrives however, a new thread is created only if the\n" \
"specified maximum has not yet been reached. If the specified maximum\n" \
"number of threads has already been reached, then the I/O request is\n" \
"placed in a queue and will be serviced by the first available thread\n" \
"(i.e. by whichever thread becomes idle first). This option was created\n" \
"to address a threading issue (possibly related to the cygwin Pthreads\n" \
"implementation) on Windows systems.\n" \
"\n" \
"The default for Windows is 8. The default for all other systems is 0.\n"
#define diag8_cmd_desc "Set DIAG 8 instruction options"
#define diag8_cmd_help \
\
"Format: \"diag8cmd [DISABLE|ENABLE] [ECHO|NOECHO]\".\n" \
"\n" \
"When ENABLE is specified the Hercules Diagnose 8 instruction interface\n" \
"is enabled, allowing guests to directly issue Hercules commands via the\n" \
"Hercules Diagnose 8 instruction. When set to DISABLE such instructions\n" \
"instead cause a Specification Exception program interrupt.\n" \
"\n" \
"When ECHO is specified a message is issued to the hardware console panel\n" \
"when the command is about to be issued, when the command is redisplayed,\n" \
"and when the command has finished executing. When NOECHO is specified\n" \
"no such audit trail messages are displayed.\n" \
"\n" \
"NOTE: Enabling this feature has security consequences. When this feature\n" \
"is enabled it is possible for guest operating systems to issue commands\n" \
"directly to the host operating system via the 'sh' and 'exec' commands.\n" \
"Use the SHCMDOPT command's NODIAG8 option to disable this ability.\n"
#define ds_cmd_desc "Display subchannel"
#define ecps_cmd_desc "Command deprecated - Use \"ECPSVM\""
#define ecps_cmd_help \
\
"This command is deprecated. Use \"ecpsvm\" instead.\n"
#define ecpsvm_cmd_desc "ECPS:VM Commands"
#define ecpsvm_cmd_help \
\
"Format: \"ecpsvm\". This command invokes ECPS:VM Subcommands.\n" \
"Type \"ecpsvm help\" to see a list of available commands\n"
#define engines_cmd_desc "Set engines parameter"
#define evm_cmd_desc "Command deprecated - Use \"ECPSVM\""
#define evm_cmd_help \
\
"This command is deprecated. Use \"ecpsvm\" instead.\n"
#if defined(HAVE_OBJECT_REXX) || defined(HAVE_REGINA_REXX)
#define exec_cmd_desc "Execute a Rexx script"
#define exec_cmd_help \
\
"Format: 'exec [mode] scriptname [[args...][&&]]'\n" \
"\n" \
"Where 'scriptname' is the name of the Rexx script, 'args' is an optional\n" \
"list of arguments to be passed to the script and '&&' as the last argument\n" \
"requests the script to be run asynchronously in the background. The 'rexx'\n" \
"command can be used to list/cancel currently running asynchronous scripts.\n" \
"\n" \
"The argument passing style is determined by the 'rexx' command's current\n" \
"'Mode' setting. You can override it for the current execution by specifying\n" \
"an optional 'mode' parameter on command itself, just before the scriptname:\n" \
"'exec cmd script' for command style argument passing or 'exec sub script'\n" \
"for subroutine style argument passing.\n" \
"\n" \
"TAKE SPECIAL CARE when using the '&&' option to run a script asynchronously.\n" \
"Be careful to NOT accidentally enter a single '&' instead which invokes the\n" \
"Hercules 'exec' command asynchronously, but NOT the rexx script, leaving you\n" \
"with no way to cancel it. Always use two ampersands '&&' to cause the script\n" \
"itself to run in the background. Of course, if the script ends quickly then\n" \
"there is no need to run it asynchronously in the background. The ability to\n" \
"run scripts in the background was meant for never-ending 'monitoring' type\n" \
"scripts that monitor and report such things as Hercules status."
#endif /* defined(HAVE_OBJECT_REXX) || defined(HAVE_REGINA_REXX) */
#define exit_cmd_desc "(Synonym for 'quit')"
#define ext_cmd_desc "Generate external interrupt"
#define fquest_cmd_desc "Query unusable page frame range(s)"
#define f_cmd_desc "Mark page frame(s) as +usable/-unusable"
#define f_cmd_help \
\
"Format: \"f{+/-} addr[.len]\" or \"f{+/-} addr[-addr2]\" to mark an area\n" \
"of storage as being either +usable or -unusable where 'addr' is absolute\n" \
"address of the range of storage to be modified. Guest operating systems\n" \
"can then use the B22C 'TB' (Test Block) instruction to determine whether\n" \
"a given page is usable or not and react accordingly. Note that Hercules\n" \
"does not prevent unusable frames from being used anyway. That is to say\n" \
"frames marked as unusable can still be accessed normally without error.\n" \
"Use \"f?\" to display the currently defined -unusable storage range(s).\n"
#define facility_cmd_desc "Enable/Disable/Query z/Arch STFLE Facility bits"
#define facility_cmd_help \
\
"Format: FACILITY ENABLE | DISABLE <facility> | bit [ archlvl ]\n" \
" FACILITY QUERY SHORT | LONG | RAW\n" \
" FACILITY QUERY <facility> | bit | ALL\n" \
" FACILITY QUERY ENABLED | DISABLED [ LONG ]\n" \
"\n" \
"'facility' is the SHORT facility name to be enabled, disabled or queried.\n" \
"The facility may also be specified by explicit bit number or via 'BITnnn'.\n" \
"ALL is a synonym for SHORT. RAW displays the hex string. ENABLED displays\n" \
"only facilities which are enabled. DISABLED shows only disabled failities.\n" \
"LONG sorts the display by Long Description. SHORT is the default.\n"
#define fcb_cmd_desc "Display a printer's current FCB"
#define fcb_cmd_help "Format: \"fcb <devnum>\""
#define fpc_cmd_desc "Display or alter floating point control register"
#define fpc_cmd_help \
\
"Format: \"fpc [xxxxxxxxxxxxxxxx]\" where 'xxxxxxxxxxxxxxxx' is the\n" \
"register value in hexadecimal (1-8 hex digits). Enter \"fpc\" by itself\n" \
"to display the register value without altering it.\n"
#define fpr_cmd_desc "Display or alter floating point registers"
#define fpr_cmd_help \
\
"Format: \"fpr [nn=xxxxxxxxxxxxxxxx]\" where 'nn' is the register number\n" \
"(0 to 15 or 0, 2, 4 or 6 depending on the Control Register 0 AFP bit) and\n" \
"'xxxxxxxxxxxxxxxx' is the register value in hexadecimal (1-16 hex digits\n" \
"for 64-bit registers). Enter \"fpr\" by itself to display the register\n" \
"values without altering them.\n"
#define g_cmd_desc "Turn off instruction stepping and start all CPUs"
#define gpr_cmd_desc "Display or alter general purpose registers"
#define gpr_cmd_help \
\
"Format: \"gpr [nn=xxxxxxxxxxxxxxxx]\" where 'nn' is the optional\n" \
"register number (0 to 15) and 'xxxxxxxxxxxxxxxx' is the register\n" \
"value in hexadecimal (1-8 hex digits for 32-bit registers or 1-16 hex\n" \
"digits for 64-bit registers). Enter \"gpr\" by itself to display the\n" \
"register values without altering them.\n"
#define hao_cmd_desc "Hercules Automatic Operator"
#define hao_cmd_help \
\
"Format: \"hao tgt <tgt> | cmd <cmd> | list <n> | del <n> | clear \".\n" \
" hao tgt <tgt> : define target rule (regex pattern) to react on\n" \
" hao cmd <cmd> : define command for previously defined rule\n" \
" hao list <n> : list all rules/commands or only at index <n>\n" \
" hao del <n> : delete the rule at index <n>\n" \
" hao clear : delete all rules (stops automatic operator)\n"
#define help_cmd_desc "list all commands / command specific help"
#define help_cmd_help \
\
"Format: \"help [cmd|c*]\".\n" \
"\n" \
"The command without any options will display a short description\n" \
"of all of the commands available matching the current cmdlevel. You\n" \
"may specify a partial command name followed by an '*' to get a\n" \
"list matching the partial command name. For example 'help msg*'\n" \
"will list all commands beginning with 'msg' and matching the current\n" \
"cmdlevel.\n" \
"\n" \
"This command with the 'cmd' option will display a long form of help\n" \
"information associated with that command if the command is available\n" \
"for the current cmdlevel.\n" \
"\n" \
"Help text may be limited to explaining the general format of the\n" \
"command and its various required or optional parameters and is not\n" \
"meant to replace the appropriate manual.\n"
#define herclogo_cmd_desc "Read a new hercules logo file"
#define herclogo_cmd_help \
\
"Format: \"herclogo [<filename>]\". Load a new logo file for 3270\n" \
"terminal sessions. If no filename is specified, the built-in logo\n" \
"is used instead.\n"
#define xxxprio_cmd_desc "(deprecated)"
#define xxxprio_cmd_help \
\
"This command is no longer supported and and will be removed in the future.\n"
#define hst_cmd_desc "History of commands"
#define hst_cmd_help \
\
"Format: \"hst | hst n | hst l\". Command \"hst l\" or \"hst 0\" displays\n" \
"list of last ten commands entered from command line\n" \
"hst n, where n is a positive number retrieves n-th command from list\n" \
"hst n, where n is a negative number retrieves n-th last command\n" \
"hst without an argument works exactly as hst -1, it retrieves the\n" \
"last command\n"
#define http_cmd_desc "Start/Stop/Modify/Display HTTP Server"
#define http_cmd_help \
\
"Format: 'http [start|stop|port nnnn [[noauth]|[auth user pass]]|root path]'\n" \
"\n" \
"start - starts HTTP server if stopped\n" \
"stop - stops HTTP server if started\n" \
"port nnnn [[noauth]|[auth user pass]] - set port and optional authorization.\n" \
" Default is noauthorization needed.\n" \
" 'auth' requires a user and password\n" \
"\n" \
"root path - set the root file path name\n" \
"\n" \
"<none> - display status of HTTP server\n"
#define i_cmd_desc "Generate I/O attention interrupt for device"
#define icount_cmd_desc "Display individual instruction counts"
#define icount_cmd_help \
\
"Format: \"icount [[Enable|STArt] | [Disable|STOp] | [Clear|Reset|Zero]]\".\n" \
"\n" \
"Enables or disables the counting of, resets the counts for, or\n" \
"displays how often each instruction opcode is executed. This is a\n" \
"debugging command used to determine which instruction opcodes are\n" \
"executed the most frequently for a given workload to help determine\n" \
"which instructions are the best candidates for further optimization.\n" \
"\n" \
"The ENABLE and DISABLE options start or stop instruction counting.\n" \
"The CLEAR option resets all of the counts back to zero. Use it just\n" \
"before enabling counting when your workload begins. Use the stop\n" \
"option when your workload ends to stop counting. Enter the command\n" \
"with no options to display a list of executed instruction opcodes\n" \
"sorted by frequency/popularity.\n"
#define iodelay_cmd_desc "Display or set I/O delay value"
#define iodelay_cmd_help \
\
"Format: \"iodelay n\".\n\n" \
"Specifies the amount of time (in microseconds) to wait after an\n" \
"I/O interrupt is ready to be set pending. This value can also be\n" \
"set using the Hercules console. The purpose of this parameter is\n" \
"to bypass a bug in the Linux/390 and zLinux dasd.c device driver.\n" \
"The problem is more apt to happen under Hercules than on a real\n" \
"machine because we may present an I/O interrupt sooner than a\n" \
"real machine.\n"
#define ipending_cmd_desc "Display pending interrupts"
#define ipl_cmd_desc "IPL from device or file"
#define ipl_cmd_help \
\
"Format: \"IPL {xxxx | cccc} [CLEAR] [LOADPARM xxxxxxxx] [PARM xxx [xxx ...]]\""\
"\n\n" \
"Performs the Initial Program Load manual control function. If the first\n" \
"operand 'xxxx' is a valid device number then a CCW-type IPL is initiated\n" \
"from the specified device and SCLP disk I/O is disabled. Otherwise a \n" \
"list-directed IPL is performed from the .ins file named 'cccc', and SCLP\n" \
"disk I/O is enabled for the directory path where the .ins file is located.\n" \
"\n" \
"The optional 'CLEAR' keyword will initiate a Load Clear manual control\n" \
"function prior to starting an IPL.\n" \
"\n" \
"The optional 'LOADPARM' keyword followed by a 1-8 character string can be\n" \
"used to override the default value defined by the 'LOADPARM' command.\n" \
"\n" \
"An optional 'PARM' keyword followed by string data can also be used to\n" \
"pass data to the IPL command processor. If specified the string data is\n" \
"loaded into the low-order 32 bits of General Purpose registers R0 - R15\n" \
"(4 characters per register for a maximum of 64 bytes total; any excess\n" \
"is ignored). The PARM option behaves similarly to the VM IPL command.\n" \
"\n" \
"PLEASE NOTE that because the 'PARM' option supports multiple arguments,\n" \
"if specified, it MUST be the LAST option on the command line since ALL\n" \
"remaining command line arguments following the 'PARM' keyword will be\n" \
"treated as being part of a single blank-separated parameter string.\n"
#define iplc_cmd_desc "Command deprecated - use IPL with clear option"
#define iplc_cmd_help \
\
"This command is deprecated. Use \"ipl\" with clear option specified instead.\n"
#define k_cmd_desc "Display cckd internal trace"
#define kd_cmd_desc "Short form of 'msghld clear'"
#define ldmod_cmd_desc "Load a module"
#define ldmod_cmd_help \
\
"Format: \"ldmod module ...\"\n" \
"Specifies additional modules that are to be loaded by the\n" \
"Hercules dynamic loader.\n"
#define legacy_cmd_desc "Set legacysenseid setting"
#define loadcore_cmd_desc "Load a core image file"
#define loadcore_cmd_help \
\
"Format: \"loadcore filename [address]\" where 'address' is the storage\n" \
"address of where to begin loading memory. The file 'filename' is\n" \
"presumed to be a pure binary image file previously created via the\n" \
"'savecore' command. The default for 'address' is 0 (beginning of\n" \
"storage).\n"
#define loadparm_cmd_desc "Set the default IPL 'LOADPARM' parameter"
#define loadparm_cmd_help \
\
"Specifies the default eight-character IPL 'LOADPARM' parameter used by\n" \
"some operating systems to select certain initialization options. The\n" \
"value specified here can be overridden by specifying a different value\n" \
"on the the IPL command itself. The LOADPARM command simply defines the\n" \
"default value that is used if not overridden on the IPL command itself.\n"
#define loadtext_cmd_desc "Load a text deck file"
#define loadtext_cmd_help \
\
"Format: \"loadtext filename [address]\". This command is essentially\n" \
"identical to the 'loadcore' command except that it loads a text deck\n" \
"file with \"TXT\" and \"END\" 80 byte records (i.e. an object deck).\n"
#define locks_cmd_desc "Display internal locks list"
#define locks_cmd_help \
\
"Format: \"locks [ALL|HELD|tid] [SORT NAME|{TID|OWNER}|{WHEN|TIME|TOD}|{WHERE|LOC}]\"\n"
#define threads_cmd_desc "Display internal threads list"
#define threads_cmd_help \
\
"Format: \"threads [ALL|WAITING|tid] [SORT NAME|TID|{WHEN|TIME|TOD}|{WHERE|LOC}]\"\n"
#define log_cmd_desc "Direct logger output"
#define log_cmd_help \
\
"Format: \"log [ OFF | newfile ]\". Sets log filename or stops\n" \
"log file output with the \"OFF\" option."
#define logopt_cmd_desc "Set/Display logging options"
#define logopt_cmd_help \
\
"Format: \"LOGOPT [DATESTAMP | NODATESTAMP] [TIMESTAMP | NOTIMESTAMP]\".\n\n" \
"Sets logfile options. \"TIMESTAMP\" inserts a time stamp in front of\n" \
"each log message. \"NOTIMESTAMP\" logs messages without time stamps.\n" \
"Similarly, \"DATESTAMP\" and \"NODATESTAMP\" prefixes logfile messages\n" \
"with or without the current date. Entering the command with no arguments\n" \
"displays current logging options. The current resolution of the stamp\n" \
"is one second.\n"
#define lparname_cmd_desc "Set LPAR name"
#define lparname_cmd_help \
\
"Specifies the eight-character LPAR name returned by\n" \
"DIAG X'204'. The default is HERCULES"
#define lparnum_cmd_desc "Set LPAR identification number"
#define lparnum_cmd_help \
\
"Specifies the one- or two-digit hexadecimal LPAR identification\n" \
"number stored by the STIDP instruction, or BASIC. If a one-digit\n" \
"hexadecimal number from 1 to F is specified, then STIDP stores a\n" \
"format-0 CPU ID. If a two-digit hexadecimal number is specified,\n" \
"except 10, then STIDP stores a format-1 CPU ID. For LPARNUM 10, \n" \
"STIDP uses the current CPUIDFMT setting. If LPARNUM is BASIC, then\n" \
"STIDP stores a basic-mode CPU ID. The default LPAR identification\n" \
"number is 1.\n"
#define lsdep_cmd_desc "List module dependencies"
#define lsequ_cmd_desc "List device equates"
#define lsmod_cmd_desc "List dynamic modules"
#define lsmod_cmd_help \
\
"Format: lsmod [ALL]\n" \
"\n" \
"Lists all dynamically loaded modules and their registered symbols,\n" \
"device-types and instruction overrides. If 'ALL' is specified then\n" \
"registered symbols which are currently unresolved are also listed.\n"
#define mainsize_cmd_desc "Define/Display mainsize parameter"
#define mainsize_cmd_help \
\
"Format: mainsize [ mmmm | nnnS [ lOCK | unlOCK ] ]\n" \
" mmmm - define main storage size mmmm Megabytes\n" \
"\n" \
" nnnS - define main storage size nnn S where S is the\n" \
" multipler:\n" \
" B = no multiplier\n" \
" K = 2**10 (kilo/kibi)\n" \
" M = 2**20 (mega/mebi)\n" \
" G = 2**30 (giga/gibi)\n" \
" T = 2**40 (tera/tebi)\n" \
" P = 2**50 (peta/pebi)\n" \
" E = 2**60 (exa/exbi)\n" \
"\n" \
" lOCK - attempt to lock storage (pages lock by host OS)\n" \
" unlOCK - leave storage unlocked (pagable by host OS)\n" \
"\n" \
" (none) - display current mainsize value\n" \
"\n" \
" Note: Multipliers 'T', 'P', and 'E' are not available on 32bit machines\n"
#define manuf_cmd_desc "Set STSI manufacturer code"
#define maxcpu_cmd_desc "Set maxcpu parameter"
#define maxrates_cmd_desc "Display highest MIPS/SIOS rate or set interval"
#define maxrates_cmd_help \
\
"Format: \"maxrates [nnnn]\" where 'nnnn' is the desired reporting\n" \
"interval in minutes or 'midnight'. Acceptable values are from\n" \
"1 to 1440. The default is 1440 minutes (one day).\n" \
"The interval 'midnight' sets the interval to 1440 and aligns the\n" \
"start of the current interval to midnight.\n" \
"Entering \"maxrates\" by itself displays the current highest\n" \
"rates observed during the defined intervals.\n"
#define message_cmd_desc "Display message on console a la VM"
#define message_cmd_help \
\
"Format: \"message * text\". The 'text' field is variable in size.\n" \
"A 'VM' formatted similar to \"13:02:41 * MSG FROM HERCULES: hello\" is\n" \
"diplayed on the console panel as a result of the panel command\n" \
"'message * hello'.\n"
#define model_cmd_desc "Set/Query STSI model code"
#define model_cmd_help \
\
"Format:\n" \
"\n" \
" model [hardware [capacity [permanent [temporary]]]]\n" \
"\n" \
"where:\n" \
"\n" \
"<null> specifies a query of the current model code settings.\n" \
"\n" \
"hardware specifies the hardware model setting. Specifying an \"=\"\n" \
" resets the hardware model to \"EMULATOR\"; specifying an\n" \
" \"*\" leaves the current hardware model setting intact.\n" \
" Valid characters are 0-9 and uppercase A-Z only.\n" \
" The default hardware model is \"EMULATOR\".\n" \
"\n" \
"capacity specifies the capacity model setting. Specifying an \"=\"\n" \
" copies the current hardware model; specifying an \"*\" \n" \
" leaves the current capacity model setting intact.\n" \
" Valid characters are 0-9 and uppercase A-Z only.\n" \
" The default capacity model is \"EMULATOR\".\n" \
"\n" \
"permanent specifies the permanent model setting. Specifying an\n" \
" \"=\" copies the current capacity model; specifying an\n" \
" \"*\" leaves the current permanent model setting intact.\n" \
" Valid characters are 0-9 and uppercase A-Z only.\n" \
" The default permanent model is \"\" (null string).\n" \
"\n" \
"temporary specifies the temporary model setting. Specifying an\n" \
" \"=\" copies the current permanent model; specifying an\n" \
" \"*\" leaves the current temporary model setting intact.\n" \
" Valid characters are 0-9 and uppercase A-Z only.\n" \
" The default temporary model is \"\" (null string).\n"
#define modpath_cmd_desc "Set module load path"
#define modpath_cmd_help \
\
"Format: MODPATH <path>\n" \
"\n" \
"Where <path> specifies the relative or absolute path of the directory\n" \
"where dynamic modules should be loaded from. Only one directory may be\n" \
"specified. Enclose the path within double quotes if it contains blanks.\n"
#define mtapeinit_cmd_desc "Control tape initialization"
#define mtapeinit_cmd_help \
\
"Format: \"mounted_tape_reinit [disallow|disable | allow|enable]\"\n" \
"Specifies whether reinitialization of tape drive devices\n" \
"(via the devinit command, in order to mount a new tape)\n" \
"should be allowed if there is already a tape mounted on\n" \
"the drive. The current value is displayed if no operand is\n" \
"specified\n" \
"Specifying ALLOW or ENABLE indicates new tapes may be\n" \
"mounted (via 'devinit nnnn new-tape-filename') irrespective\n" \
"of whether or not there is already a tape mounted on the drive.\n" \
"This is the default state.\n" \
"Specifying DISALLOW or DISABLE prevents new tapes from being\n" \
"mounted if one is already mounted. When DISALLOW or DISABLE has\n" \
"been specified and a tape is already mounted on the drive, it\n" \
"must first be unmounted (via the command 'devinit nnnn *') before\n" \
"the new tape can be mounted. Otherwise the devinit attempt to\n" \
"mount the new tape is rejected.\n"
#define msg_cmd_desc "Alias for message"
#define msghld_cmd_desc "Display or set the timeout of held messages"
#define msghld_cmd_help \
\
"Format: \"msghld [value | info | clear]\".\n" \
"value: timeout value of held message in seconds\n" \
"info: displays the timeout value\n" \
"clear: releases the held messages\n"
#define msglevel_cmd_desc "Display/Set current Message Display output"
#define msglevel_cmd_help \
\
"Format: msglevel [verbose|terse|debug|nodebug|emsgloc|noemsgloc]\n" \
"\n" \
" verbose Display messages during configuration file processing\n" \
" terse Do not display configuration file processing messages\n" \
" debug Prefix messages with filename and line number\n" \
" nodebug Display messages normally\n" \
" emsgloc Show where error messages originated\n" \
" noemsgloc Do not show where error messages originated\n"
#define msglvl_cmd_desc "Alias for msglevel"
#define msgnoh_cmd_desc "Similar to \"message\" but no header"
#define mt_cmd_desc "Control magnetic tape operation"
#define mt_cmd_help \
\
"Format: \"mt device operation [ 1-9999 ]\".\n" \
" Operations below can be used on a valid tape device. The device\n" \
" must not have any I/O operation in process or pending.\n" \
" operation description\n" \
" rew rewind tape to the beginning\n" \
" asf n position tape at 'n' file (default = 1)\n" \
" fsf n forward space 'n' files (default = 1)\n" \
" bsf n backward space 'n' files (default = 1)\n" \
" fsr n forward space 'n' records (default = 1)\n" \
" bsr n backward space 'n' records (default = 1)\n" \
" wtm n write 'n' tapemarks (default = 1)\n" \
" dse data secure erase\n" \
" dvol1 display VOL1 header\n"
#define netdev_cmd_desc "Set default host networking device"
#define netdev_cmd_help \
\
"Specifies the name (or for Windows, the IP or MAC address) of the\n" \
"underlying default host network device to be used for all Hercules\n" \
"communications devices unless overridden on the device statement.\n" \
"\n" \
"The default for Linux (except Apple and FreeBSD) is '/dev/net/tun'.\n" \
"The default for Apple and FreeBSD is '/dev/tun'.\n" \
"\n" \
"The default for Windows is whatever SoftDevLabs's CTCI-WIN product\n" \
"returns as its default CTCI-WIN host network adapter, which for older\n" \
"versions of CTCI-WIN (3.5.0) is the first network adapter returned by\n" \
"Windows in its adapter binding order or for newer versions of CTCI-WIN\n" \
"(3.6.0) what you defined as your default CTCI-WIN host network adapter.\n"
#define numcpu_cmd_desc "Set numcpu parameter"
//#define numvec_cmd_desc "Set numvec parameter"
#define osa_cmd_desc "(Synonym for 'qeth')"
#define ostailor_cmd_desc "Tailor trace information for specific OS"
#define ostailor_cmd_help \
\
"Format: \"ostailor [quiet|os/390|z/os|vm|vse|z/vse|linux|opensolaris|null]\".\n" \
"Specifies the intended operating system. The effect is to reduce\n" \
"control panel message traffic by selectively suppressing program\n" \
"check trace messages which are considered normal in the specified\n" \
"environment. The option 'quiet' suppresses all exception messages,\n" \
"whereas 'null' suppresses none of them. The other options suppress\n" \
"some messages and not others depending on the specified o/s. Prefix\n" \
"values with '+' to combine them with existing values or '-' to exclude\n" \
"them. SEE ALSO the 'pgmtrace' command which allows you to further fine\n" \
"tune the tracing of program interrupt exceptions.\n"
#define panopt_cmd_desc "Set or display panel options"
#define panopt_cmd_help \
\
"Format:\n" \
"\n" \
" panopt [FULLpath|NAMEonly] [RATE=n] [MSGCOLOR=NO|DARK|LIGHT] [TITLE=xxx]\n" \
"\n" \
"NAMEONLY requests the extended panel screen (that displays the list of\n" \