1 /* BEGIN INCLUDE FILE - get_vol_list_.incl.pl1 */
 2 
 3 
 4 
 5 /****^  HISTORY COMMENTS:
 6   1) change(86-03-12,Fawcett), approve(86-05-13,MCR7383),
 7      audit(86-05-27,Wallman), install(86-07-18,MR12.0-1098):
 8      Add support for subvolumes.
 9                                                    END HISTORY COMMENTS */
10 
11 
12 /* Defines structure interface to the routine get_vol_list_, which acquires
13    information from the system disk_table on physical and logical volume
14    names allocates the structures if needed and returns control to the
15    caller.  The area_ptr in each structure is the area the structure was
16    allocated in, and can be used for freeing the structure. */
17 
18 /* Created November-22- 1984 by Tom Oke - MDC-ACTC. */
19 
20 /* December 17, 1984 by T. Oke, include version and area_ptr. */
21 
22      dcl     (lv_list_ptr, pv_list_ptr) ptr;
23 
24      dcl     get_vol_list_version   char (8) static options (constant) initial ("gvlist02");
25 
26      dcl     1 pv_list              based (pv_list_ptr),
27                2 version            char (8) unaligned,               /* struct version */
28                2 area_ptr           ptr,                    /* area allocated in */
29                2 pv_name_max_length fixed bin,
30                2 pv_name_count      fixed bin,
31                2 pv_info            (1 refer (pv_list.pv_name_count)) aligned,
32                  3 used             bit (1) unaligned,      /* entry in use */
33                  3 storage_system   bit (1) unaligned,      /* storage system */
34                  3 permanent        bit (1) unaligned,      /* cannot demount */
35                  3 hc_accepted      bit (1) unaligned,      /* vol accpt ring 0 */
36                  3 rpv              bit (1) unaligned,
37                  3 is_sub_vol       bit (1) unaligned,
38                  3 pad              bit (4) unaligned,
39                  3 device_type      fixed bin (8) unsigned unaligned,
40                  3 lvx              fixed bin unaligned,    /* index in lv_list */
41                  3 drive_name       char (8) unaligned,               /* like dska_01 */
42                  3 pvname           char (32) unaligned,
43                  3 sv_num           fixed bin (17),          /* if this is a subvolume then what number */
44                  3 num_of_sv        fixed bin (17);         /* if this is a subvolume how many */
45 
46      dcl     1 lv_list              based (lv_list_ptr),
47                2 version            char (8) unaligned,               /* struct version */
48                2 area_ptr           ptr,                    /* area allocated in */
49                2 lv_name_max_length fixed bin,
50                2 lv_name_count      fixed bin,
51                2 lv_info            (1 refer (lv_list.lv_name_count)) aligned,
52                  3 used             bit (1) unaligned,      /* in use */
53                  3 hv_mounted       bit (1) unaligned,      /* hvol OK */
54                  3 public           bit (1) unaligned,      /* public use */
55                  3 mounting         bit (1) unaligned,      /* mount in progress */
56                  3 demounting       bit (1) unaligned,      /* demount in progress */
57                  3 pdirs_ok         bit (1) unaligned,      /* can use pdirs */
58                  3 prev_bootload    bit (1) unaligned,      /* can auto-accept pvs */
59                  3 vacate_pdirs     bit (1) unaligned,      /* demand move pdirs */
60                  3 pad              bit (26) unaligned,
61                  3 lvname           char (32) unaligned;
62 
63 /* END INCLUDE FILE - get_vol_list_.incl.pl1 */