This file is indexed.

/usr/share/hercules/hercload.html is in hercules 3.12-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  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
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.0//EN" "html.dtd">
<HTML>
<HEAD><TITLE>
Hercules Version 3: Creating DASD</TITLE>
<LINK REL=STYLESHEET TYPE="text/css" HREF="hercules.css">
</HEAD>
<BODY BGCOLOR="#ffffcc" TEXT="#000000" LINK="#0000A0"
      VLINK="#008040" ALINK="#000000">

<h1>Hercules Version 3: Creating DASD</h1>

<p>
This page describes various ways of creating and loading DASD
volumes for use with Hercules.

<p><hr>

<h2>Contents</h2>
        <p>
                <a href="#prebuilt">Using pre-built DASD images</a>
        </p>
        <p>
                <a href="#loading">Creating, formatting, and loading DASD volumes</a>
        </p>
        <p>
                <a href="#PDS">Building a DASD volume from unloaded PDS or sequential files</a>
        </p>
        <p>
                <a href="#utilities">Other DASD utilities</a>
        </p>

<p><hr><a name="prebuilt"></a>
<h2>Using pre-built DASD images</h2>
<p>
IBM distributes pre-built OS/390 and z/OS systems on two
different CD-ROM packages:
<dl>
<dt><b>The OS/390 and z/OS Application Development CD (ADCD)</b>
<dd>available only to members of IBM PartnerWorld for Developers,
and
<dt><b>The OS/390 and z/OS DemoPkg</b>
<dd>available only to IBM employees and qualified IBM Business Partners.
</dl>
<p>Both of these packages contain pre-built DASD image files
which simply need to be unzipped onto your hard drive.  The
unzipped images can be directly read by Hercules.
<p>
Be aware, however, that you cannot use the ADCD images because
the PartnerWorld scheme requires you to purchase or lease an IBM
approved machine in order to obtain the ADCD, and the software on
the ADCD is licensed for use only on the machine that it was
shipped with.
See
<a href="http://www.ibm.com/servers/enable/site/zinfo/adcd.html">
http://www.ibm.com/servers/enable/site/zinfo/adcd.html</a>.
If you want Hercules to be an approved machine so that you can
use the ADCD, then I suggest you lobby IBM Developer Relations
<!-- ===(fyolton&nbsp;&#064;&nbsp;us.ibm.com)=== -->
at the address given on their web page.
<p>
Different rules apply to the OS/390 and z/OS
DemoPkg CD which is available only to IBM employees and business
partners.  If you fall into this category then you probably know
what the rules are -- I don't :-(

<p><hr><a name="loading"></a>
<h2>Creating, formatting, and loading DASD volumes</h2>

<h4>Creating an empty DASD volume</h4>
<p>
The dasdinit program must first be run from the Unix shell prompt to
create a file containing an empty DASD volume.
<p>
The format of the dasdinit command is:
<p><br>
<pre>
Hercules DASD image file creation program
Version 3.06
(c)Copyright 1999-2009 by Roger Bowler, Jan Jaeger, and others
Builds an empty dasd image file:

  dasdinit [-options] filename devtype[-model] [volser] [size]

where:

  -v         display version info and help
  -z         build compressed dasd image file using zlib
  -bz2       build compressed dasd image file using bzip2
  -0         build compressed dasd image file with no compression
  -lfs       build a large (uncompressed) dasd file (if supported)
  -a         build dasd image file that includes alternate cylinders
             (option ignored if size is manually specified)
  -r         build 'raw' dasd image file  (no VOL1 or IPL track)
  -linux     null track images will look like linux dasdfmt'ed images
             (3390 device type only)

  filename   name of dasd image file to be created

  devtype    CKD: 2305, 2311, 2314, 3330, 3340, 3350, 3375, 3380, 3390, 9345
             FBA: 0671, 3310, 3370, 9313, 9332, 9335, 9336

  model      device model (implies size) (opt)

  volser     volume serial number (1-6 characters)
             (specified only if '-r' option not used)

  size       number of CKD cylinders or 512-byte FBA sectors
             (required if model not specified else optional)
</pre>
<p><br>
<a NAME="models">
The current list of device types and models supported is:
<p><br>
<pre>
              CKD DEVICES

                             alt
        devtype-model  cyls  cyls

        2311           [*]
        2311-1         200    2

        2314           [*]
        2314-1         200    3

        3330           [*]
        3330-1         404    7
        3330-2         808    7
        3330-11        808    7

        3340           [*]
        3340-1         348    1
        3340-35        348    1
        3340-2         696    2
        3340-70        696    2

        3350           [*]
        3350-1         555    5

        3375           [*]
        3375-1         959    1

        3380           [*]
        3380-1         885    1
        3380-A         885    1
        3380-B         885    1
        3380-D         885    1
        3380-J         885    1
        3380-2        1770    2
        3380-E        1770    2
        3380-3        2655    3
        3380-K        2655    3
        EMC3380K+     3339    3
        EMC3380K++    3993    3

        3390           [*]
        3390-1        1113    1
        3390-2        2226    1
        3390-3        3339    1
        3390-9       10017    3
        3390-27      32760    3
        3390-54      65520    3

        9345           [*]
        9345-1        1440    0
        9345-2        2156    0


             FBA DEVICES

        devtype-model  blocks

        3310              [*]
        3310-1         125664

        3370              [*]
        3370-Al        558000
        3370-B1        558000
        3370-A2        712752
        3370-B2        712752

        9313              [*]
        9313-1         246240

        9332              [*]
        9332-200       360036
        9332-400       360036
        9332-600       554800

        9335              [*]
        9335-1         804714

        9336              [*]
        9336-10        920115
        9336-20       1672881
        9336-25       1672881

        0671-08        513072
        0671           574560
        0671-04        624456
</pre>
<p>
[<b>*</b>] size may be specified else size defaults to the
           first listed model.
<p>
<h4>Volumes exceeding 2GB</h4>
<p>
For CKD volumes which exceed 2GB, such as the 3390-3, and the
<b>-lfs</b> parameter is not specified, the DASDINIT
program will create multiple files by appending the characters
<b>_1</b>, <b>_2</b>, <b>_3</b> etc.
to the file name specified on the command line.  These characters
are inserted before the first dot (<b>.</b>) after the last slash
(<b>/</b>).  If there is no dot, then the characters are appended
to the end of the name. Each file contains a whole number of cylinders.
 Hercules CKD support recognizes the files as belonging to a single
logical volume. Specify the full name of just the first file in the
Hercules configuration file (e.g. "<i>filename</i>_1").
<p>
The DASDINIT program cannot create FBA volumes exceeding 2GB
unless the <b>-lfs</b> parameter is specified and <i>large file size</i>
is supported on your platform..

<h5>Examples</h5>
<p>
To create a 3330 model 1 CKD volume consisting of 404 cylinders
(plus 7 alternate cylinders too)
with volume serial number WORK01 in a file called
<b><i>work01.151</b></i>:
<pre>
    dasdinit -a work01.151 3330-1 work01
</pre>
<p>
To create a compressed 3350 CKD volume consisting of 560 cylinders
(555 cylinders plus the 5 alternate cylinders)
with volume serial number SYSRES in a file called
<b><i>dosvs34.24f</b></i>:
<pre>
    dasdinit -a -bz2 dosvs34.24f 3350-1 sysres
</pre>
<p>
To create a 3370 FBA volume with only 100000 sectors
(instead of the usual 558000 sectors)
with volume serial number WORK02 in a file called
<b><i>mini.work02.140</b></i>:
<pre>
    dasdinit mini.work02.140 3370 work02 100000
</pre>
<p>
To create a 3390 model 3 (triple density) CKD volume
of 3339 cylinders with volume serial number WORK03:
<pre>
    dasdinit triple.a88 3390-3 work03
</pre>
<p>
Because this volume exceeds 2GB, DASDINIT will create two files
with <b><i>triple_1.a88</b></i> containing cylinders 0-2518 and
<b><i>triple_2.a88</b></i> containing cylinders 2519-3339.  If you
specify
<pre>
    dasdinit -lfs triple.a88 3390-3 work03
</pre>
<p>
then DASDINIT will create a single file <b><i>triple.a88</i></b>
containing all the cylinders.  Your platform must support <i>large
file size</i> to specify the <b>-lfs</b> option.

<h4>Formatting the empty DASD volume</h4>
<p>
After creating a DASD volume you can format it with a program
such as standalone IBCDASDI or ICKDSF.
<p>
Here is an example of the IBCDASDI control statements required
to initialize a 3330 volume:
<pre><code>
WORK01 JOB  'INITIALIZE 3330 WORK VOLUME'
       MSG   TODEV=1052,TOADDR=009
       DADEF TODEV=3330,TOADDR=151,IPL=NO,VOLID=WORK01,BYPASS=YES
       VLD   NEWVOLID=WORK01,OWNERID=HERCULES
       VTOCD STRTADR=1,EXTENT=5
       END
</code></pre>
<p>
To run IBCDASDI, place the above statements in a file called
<b><i>init3330.txt</i></b> and start Hercules in S/370 mode with
a configuration file containing these statements:
<pre><code>
CPUSERIAL 001234
CPUMODEL 3145
MAINSIZE 2
CNSLPORT 1052
ARCHMODE S/370
0009   1052
000A   1442    ibcdasdi.rdr
000C   1442    init3330.txt
0151   3330    work01.151
</code></pre>
<p>
After IPLing from card reader device 00A, connect a telnet client
to port 1052, and press enter.  At the IBCDASDI prompt, enter:
<pre><code>input=1442 00c</code></pre>

<h4>Loading the new DASD volume</h4>
<p>
Next you need to create a full volume dump file on your mainframe
and convert it to AWSTAPE format using the <b><i>tapeconv.jcl</i></b>
job in the Hercules source directory.  The AWSTAPE file can then
be downloaded in binary format to your PC where it can be defined
as a virtual tape drive in the Hercules configuration file.
<p>
A standalone program can now be IPLed into Hercules to restore the
volume image from the virtual tape onto the formatted virtual DASD
volume.

<p><hr><a name="PDS"></a>
<h2>Building a DASD volume from unloaded PDS or sequential files</h2>
<p>
The dasdload program can be run from the Unix shell prompt to
create a new DASD image file and load it with data from unloaded
PDS or sequential files.
<p>
The format of the dasdload command is:
<p><code>dasdload <i>[options]</i> <em>ctlfile outfile msglevel</em></code>
<p>
where
<dl>
    <dt><em>[options]</em>
    <dt><code><i>-z</i></code>
    <dd>build compressed dasd image file using zlib
    <dt><code><i>-bz2</i></code>
    <dd>build compressed dasd image file using bzip2
    <dt><code><i>-0</i></code>
    <dd>build compressed dasd image file with no compression
    <dt><code><i>-lfs</i></code>
    <dd>build a large dasd image file (can exceed 2G)
    <dt><code><i>-a</i></code>
    <dd>build dasd image file that includes alternate cylinders

    <dt><code><em>ctlname</em></code>
    <dd>is the name of the control file which specifies the datasets
        that are to be loaded onto the newly-created volume
    <dt><code><em>outfile</em></code>
    <dd>is the name of the DASD image file to be created
    <dt><code><em>msglevel</em></code>
    <dd>is a number from 0 to 5 which controls the level of detail
        of the messages issued during the load.
</dl>

<h4>Control file</h4>
<p>
The control file required by the dasdload program is an ASCII text
file consisting of a <em>volume statement</em> followed by one
<em>dataset statement</em> for each dataset to be created.
<p>
The format of the volume statement is:
<p><code><em>volser devtype</em>[-<em>model</em>] [<em>cyls</em> [<em>ipltext</em>] ]</code>
<p>where:
<dl>
<dt><code><em>volser</em></code>
<dd>is the volume serial number for the newly-created volume
<dt><code><em>devtype</em></code>
<dd>is the emulated device type (2311, 2314, 3330, 3340, 3350, 3375,
    3380, or 3390) for the new volume.  FBA device types are not supported
    by the dasdload program.  Model may be specified like
    <a href="#models">dasdinit</a> above.
<dt><code><em>cyls</em></code>
<dd>is the size of the new volume in cylinders.
    If <code><em>cyls</em></code> is coded as <code>*</code>
    or as <code>0</code> or is omitted, then the default size
    for the device type and model is used.  Cylinders is ignored
    for compressed devices.
<dt><code><em>ipltext</em></code>
<dd>is an optional parameter specifying the name of a file
    containing the IPL text which will be written to the volume.
    The file must be in the form of an object deck containing
    fixed length 80-byte EBCDIC records in the same format as
    expected by IBCDASDI or ICKDSF.
</dl>
<p>
The format of a dataset statement is:
<p><code><em>dsname method units pri sec dir dsorg recfm
lrecl blksize keylen</em></code>
<p>where:
<dl>
<dt><code><em>dsname</em></code>
<dd>is the dataset name
<dt><code><em>method</em></code>
<dd>is the dataset loading method which can be one of the following:
    <dl>
    <dt><code>XMIT <em>filename</em></code>
    <dd>the dataset is loaded from an unloaded PDS created by
        the TSO XMIT command. The input is a binary file containing
        fixed length 80 byte records with no record delimiters.
    <dt><code>VS <em>filename</em></code>
    <dd>the dataset is loaded from an unloaded PDS created by
        IEBCOPY. The input is a binary file containing variable
        length spanned records with the record descriptor words
        omitted and with no record delimiters.
    <dt><code>SEQ <em>filename</em></code>
    <dd>the sequential dataset is loaded from a <b>binary</b> file.
        ascii/ebcdic translation is not currently supported.  Also,
        the dsorg must either be <em>PS</em> or <em>DA</em> and
        recfm must either be <em>F</em> or <em>FB</em>.
    <dt><code>XMSEQ <em>filename</em></code>
    <dd>the dataset is loaded from a dump of a sequential dataset
        created by the TSO XMIT command.
        The input is a binary file containing fixed length 80 byte
        records with no record delimiters.
    <dt><code>TEXT <em>filename</em></code>
    <dd>a sequential dataset is loaded from an ASCII text file
        and translated to EBCDIC using the default codepage.
        Each line of text is treated as a logical record;
        LF and CRLF are recognized as end of line delimiters.
    <dt><code>EMPTY</code>
    <dd>the dataset is initialized with an end of file record
        (if DSORG is PS) or an empty PDS directory (if DSORG is PO)
    <dt><code>DIP</code>
    <dd>the dataset is initialized with a LOGREC header record
    <dt><code>CVOL</code>
    <dd>the dataset is initialized as an OS SYSCTLG containing
        the minimum entries needed to IPL an OS/360 system
    <dt><code>VTOC</code>
    <dd>specifies the size and location of the VTOC.  A dataset
        name must be coded on this statement, although it is not
        used.  If no VTOC statement is present, the VTOC will be
        placed after the last dataset on the volume and the size
        of the VTOC will be the minimum number of tracks necessary.
    </dl>
<dt><code><em>units</em></code>
<dd>is the space allocation units: <code>TRK</code> or <code>CYL</code>.
<dt><code><em>pri</em></code>
<dd>is the space allocation primary quantity
<dt><code><em>sec</em></code>
<dd>is the space allocation secondary quantity
<dt><code><em>dir</em></code>
<dd>is the number of directory blocks
<dt><code><em>dsorg</em></code>
<dd>is the dataset organization: <code>PS</code>, <code>PO</code>,
    <code>DA</code>, or <code>IS</code>,
<dt><code><em>recfm</em></code>
<dd>is the record format: <code>F</code>, <code>FA</code>, <code>FM</code>,
    <code>FB</code>, <code>FBA</code>, <code>FBM</code>, <code>FBS</code>,
    <code>V</code>, <code>VA</code>, <code>VM</code>,
    <code>VB</code>, <code>VBA</code>, <code>VBM</code>, <code>VBS</code>,
    or <code>U</code>.
<dt><code><em>lrecl</em></code>
<dd>is the logical record length
<dt><code><em>blksize</em></code>
<dd>is the block size
<dt><code><em>keylen</em></code>
<dd>is the key length
</dl>
<p>All parameters except dsname and method are optional.
Defaults of zero are supplied for DCB parameters.  For datasets
loaded with the XMIT or XMSEQ methods, the DCB parameters are taken
from the unloaded file, and the minimum space allocation required to
load the dataset is used unless a larger quantity is specified.
If space allocation is omitted, the default is TRK 1 0 0.
If CYL is specified without any primary quantity then the default
space allocation is 1 cylinder or the minimum number of cylinders
required to load the dataset, whichever is larger.

<h4>Examples</h4>
<p>
<b>[1]</b> To create a 2314 volume in a file called <b><i>sysres.230</i></b>
using the control file <b><i>sysres.plf</i></b> with message level 2:
<pre><code>dasdload sysres.plf sysres.230 2</pre></code>

<p>
An example control file is shown below:
<code><pre>#
# Pack layout file for MFT system residence volume
#
sysres 2314 * ieaipl00.rdr
sys1.parmlib    xmit    /cdrom/os360/reslibs/parmlib.xmi
sys1.imagelib   xmit    /cdrom/os360/reslibs/imagelib.xmi
sysctlg         cvol    trk 1 0 0       ps f 256 256 8
sysvtoc         vtoc    trk 5
sys1.logrec     dip     trk 1 0 0
sys1.nucleus    xmit    /cdrom/os360/reslibs/nucleus.xmi cyl
sys1.svclib     xmit    /cdrom/os360/reslibs/svclib.xmi cyl
sys1.sysjobqe   empty   cyl 2 0 0       da f 176 176 0
sys1.dump       empty   cyl 10 0 0      ps u 0 3625 0
</pre></code>

<p>
<b>[2]</b> To create a compressed 3390-3 volume in a file called
<b><i>linux.500</i></b> containing a bootable linux system for
linux/390 installation using the control file <b><i>linux.prm</i></b>:
<pre><code>dasdload -z linux.prm linux.500</pre></code>

<p>
An example control file is shown below:
<code><pre>
#
# Build a bootable linux disk
#   [Note: the dataset names (sys1.linux. ...) are hard-coded in
#          linuxipl.obj and cannot be changed without rebuilding it]
#
linux  3390-3 * linuxipl.obj
sys1.linux.parmfile    SEQ images/redhat.prm trk   1 0 0 ps fb 1024 1024
sys1.linux.tapeipl.ikr SEQ images/kernel.img trk 200 0 0 ps fb 1024 1024
sys1.linux.initrd      SEQ images/initrd.img trk 200 0 0 ps fb 1024 1024
</pre></code>


<h3>Fixing the XCTL tables in SVCLIB</h3>
<p>
On an OS/360 system, the Open/Close/EOV modules in SYS1.SVCLIB have
XCTL tables embedded within them.  These tables contain TTRs
pointing to other modules, and these TTRs need to be adjusted after
loading SVCLIB to DASD.  OS/360 provides a program called IEHIOSUP
to perform this function, but the catch is that you can't run
IEHIOSUP until you have the system up and running, and you can't IPL
until you have fixed the XCTL tables.
To solve this problem, Hercules provides a program called dasdisup
which can be run from the Unix command line after running dasdload.
<p>
The format of the dasdisup command is:
<p><code>dasdisup <em>outfile [sf=shadow-file-name]</em></code>
<p>
where
<dl>
    <dt><code><em>outfile</em></code>
    <dd>is the name of the DASD image file to be updated
    <dt><code><em>shadow-file-name</em></code>
    <dd>(optional) is the name of the associated shadow file
        as specified in the Hercules config file
</dl>
<p>
<em>Note: do not use this procedure except on OS/360 IPL volumes;
other operating systems do not have XCTL tables.</em>

<p><hr><a name="utilities"></a>
<h2>Other DASD utilities</h2>
<p>
These programs can be used to extract data from CKD DASD images
by means of commands issued at the Unix shell prompt.

<h3>DASDLS - List datasets on volume</h3>
<p>
DASDLS, written by Malcolm Beattie with subsequent enhancements by Chris Cheney,
is a command to let you list the names and attributes of the datasets
contained in a disk image.
<p>
The command format is:
<br><code>
dasdls <em>[options] ckdfile [sf=shadow-file-name]</em>
</code></br>
where <em>ckdfile</em> is the name of a Unix file containing a CKD volume
and <em>shadow-file-name</em> (optional) is the name of the associated
shadow file.
<p>
The options are:
<dl>
<dt>
<dt><code>-info</code>
<dd>Show Format 1 DSCB information; this option is implied if any of the
other options are set.
<dt><code>-caldt</code>
<dd>Display dates as YYYYMMMDD; if this option is not supplied dates are
displayed as YYDDD.
<dt><code>-refdt</code>
<dd>Display the last-referenced date (not applicable to MVT); otherwise it
is omitted.
<dt><code>-expdt</code>
<dd>Display the expiry date; otherwise it is omitted.
<dt><code>-hdr</code>
<dd>Display column headers; otherwise they are omitted.
<dt><code>-dsnl[=n]</code>
<dd>Reserve space on the output line for dataset names up to 'n'
characters; if '=n' is not supplied, space for 26 characters is reserved;
if the -dsnl option is omitted, space for 44 characters is reserved.
<dt><code>-yroffs[=n]</code>
<dd>Add the year offset 'n' (which may be negative) to dates before
displaying them; if '=n' is omitted, 28 is used. No checking is done
that the value of 'n' is sensible.
</dl>
<h5>Examples</h5>
<p>
List all the datasets currently on the volume <b><i>/mnt/sdb1/dasd/mvtres.cckd</i></b>:</p>
<pre><code>dasdls /mnt/sdb1/dasd/mvtres.cckd
</code></pre>
<p>
List all the datasets currently on the volume <b><i>/mnt/sdb1/dasd/mvtres.cckd</i></b>, showing
information from the Format 1 DSCB, with column headers and reserving only 20
characters for the dsname:</p>
<pre><code>dasdls -dsnl=20 -hdr /mnt/sdb1/dasd/mvtres.cckd
</code></pre>
<p>
List all the datasets currently on the volume <b><i>/mnt/sdb1/dasd/mvtres.cckd</i></b>, showing
information from the Format 1 DSCB, with calendar date format and reserving only 20
characters for the dsname:</p>
<pre><code>dasdls -dsnl=20 -caldt /mnt/sdb1/dasd/mvtres.cckd
</code></pre>

<h3>DASDCAT - Display PDS members</h3>
<p>
DASDCAT, written by Malcolm Beattie, is a command to let you read
datasets from disk images.
<p>
The command format is:
<br><code>
dasdcat -i <em>ckdfile [sf=shadow-file-name] dsname1 dsname2 ...</em> -i <em>ckdfile2 dsname10 ...</em>
</code><br>
where <em>ckdfile</em> is the name of a Unix file containing a CKD volume,
<em>shadow-file-name</em> (optional) is the name of the associated shadow file,
and <em>dsname</em> can be a plain (non-partitioned) dataset name
(which is currently not handled) or of the form <em>pdsname</em>/<em>memname</em>
where <em>memname</em> can be:
<ul>
<li><b>PDS member name</b> (automatically uppercased),
    optionally followed by ":" and flags "a" or "c".
    <ul>
    <li>"c" means (c)ard images and turns a PDS members with a block
        size that's a multiple of 80 into multiple newline separated
        lines of 72 characters with EBCDIC converted to ASCII and with
        sequence numbers chopped off.
    <li>"a" means (a)sciify the member (but don't chop off sequence
        numbers or do the card image thing).
    </ul>
<li><b>?</b> (don't forget to quote it to avoid the shell globbing it)
    to list the names of all PDS members instead of outputting their
    contents.
<li><b>*</b> (again, quote it or backwhack it to avoid it being a glob)
    to output all members of the PDS instead of just a named one.
    This can optionally be followed with colon-then-flags, as above.
    Each member is preceded with a line "> Member: memname" and, if
    the "c" for card-images flags is used, each line of the members'
    contents is preceded with "| " to guarantee it can be
    distinguished from contents.
</ul>

<h5>Examples</h5>
<pre><code>
% dasdcat -i mvtres.350 sf= mvtres_1.350 'sys1.parmlib/?'
ieabld00
ieaige00
ieaigg00
ieaigg01
iearsv00
ikjprm00
lnklst00
presres
smfdeflt
% dasdcat -i mvtres.350 sys1.parmlib/smfdeflt:c
 OPT=2, SYSTEM,JOB AND STEP DATA COLLECTION
 EXT=YES, USER EXITS ARE TO BE TAKEN
 JWT=15, MAXIMUM CONTINUOUS WAIT TIME IS 15 MINS.PER STEP
 BUF=400, A MINIMUM 400 BYTE BUFFER IS DEFINED
 SID=6A, SYSTEM ID IS 6A
 MDL=65, MODEL IS MOD 65
 OPI=YES, PERMIT OPERATOR INTERVENTION
 MAN=ALL, RECORD USER AND SYSTEM RECORDS
 PRM=(,282,NL) SYS1.MAN ALLOCATED TO NON-LABELED TAPE
% dasdcat -i mvtres.350 sys1.help/\*:c
> Member ACCOUNT
| )S SUBCOMMANDS -
| ADD/A,CHANGE/C,DELETE/D,LIST/L,LISTIDS/LISTI,HELP/H,END
| )F FUNCTION -
| THE ACCOUNT COMMAND PROCESSOR INVOKES THE CONVERSATIONAL PROGRAMS
...
> Member ALLOC
| )F FUNCTION -
| THE ALLOCATE COMMAND DYNAMICALLY DEFINES AND ALLOCATES A DATA SET
| WITH OR WITHOUT AN ATTRIBUTE LIST OF DCB PARAMETERS
| )X SYNTAX -
| ALLOCATE DATASET('DSNAME'/*) FILE('DDNAME')
...
</code></pre>

<h3>DASDPDSU - Unload PDS members</h3>
<p>
DASDPDSU is a command which unloads PDS members from a disk image
and copies each member to a file <em>memname</em>.mac in the current
working directory.
<p>
The command format is:
<br><code>
dasdpdsu <em>ckdfile [sf=shadow-file-name] pdsname</em> [ascii]
</code></br>
where <em>ckdfile</em> is the name of a Unix file containing a CKD
volume, <em>shadow-file-name</em> (optional) is the name of the associated
shadow file, and <em>pdsname</em> is the name of a PDS on that volume.
If the optional <b>ascii</b> keyword is specified, the members will be
unloaded as ASCII variable length text files.  Otherwise the members
are unloaded as fixed length EBCDIC binary files.

<p><center><hr width=15% noshade></center>
<p>
If you have a question about Hercules, see the
<a href="hercfaq.html">Hercules Frequently-Asked Questions</a> page.

<p><center><hr width=15% noshade>
<a href="hercinst.html"><img src="images/back.gif" border=0 alt="back"></a>
</center>
<p class="lastupd">Last updated $Date$ $Revision$</p>
</BODY>
</HTML>