1 /* ak_info -- include file for info structures used by the following vfile_
 2    control orders: "add_key", "delete_key", "get_key", and "reassign_key".
 3    Created by M. Asherman 3/23/76
 4    Modified 5/13/77 to add separate gk_info structure */
 5 
 6      dcl     1 ak_info              based (ak_info_ptr),
 7                2 header             like ak_header,
 8                2 key                char (ak_key_len refer (ak_info.header.key_len));
 9 
10      dcl     1 ak_header            based (ak_info_ptr),
11                2 flags              aligned,
12                  3 input_key        bit (1) unal,           /* set if key is input arg */
13                  3 input_desc       bit (1) unal,           /* set if descriptor is an input arg */
14                  3 mbz              bit (34) unal,          /* not used for the present */
15                2 descrip            fixed (35),             /* record designator */
16                2 key_len            fixed;
17 
18      dcl     ak_info_ptr            ptr;
19      dcl     ak_key_len             fixed;
20 
21 
22      dcl     1 rk_info              based (rk_info_ptr),
23                2 header             like rk_header,
24                2 key                char (rk_key_len refer (rk_info.header.key_len));
25 
26      dcl     1 rk_header            based (rk_info_ptr),
27                2 flags              aligned,
28                  3 input_key        bit (1) unal,           /* same as above */
29                  3 input_old_desc   bit (1) unal,           /* set if specified entry has initial descrip
30                                                                given by old_descrip */
31                  3 input_new_desc   bit (1) unal,           /* set if new val for descrip is input in this struc */
32                  3 mbz              bit (33) unal,
33                2 old_descrip        fixed (35),             /* used if first flag is set */
34                2 new_descrip        fixed (35),             /* used only if second flag is set */
35                2 key_len            fixed;
36 
37      dcl     rk_info_ptr            ptr;
38      dcl     rk_key_len             fixed;
39 
40 
41      dcl     1 gk_info              based (gk_info_ptr),    /* structure for get_key order */
42                2 header             like gk_header,
43                2 key                char (gk_key_len refer (gk_info.header.key_len));
44                                                             /* may be Input as well as Output */
45 
46      dcl     1 gk_header            based (gk_info_ptr),
47                2 flags              aligned,
48                  3 input_key        bit (1) unal,           /* if set, use key in this structure */
49                  3 input_desc       bit (1) unal,           /* if set, descriptor given in this structure */
50                  3 desc_code        fixed (2) unal,         /* 0=any, 1=current -- applies when input_desc="0"b */
51                  3 position_specification
52                                     unal,
53                    4 current        bit (1) unal,           /* otherwise next */
54                    4 rel_type       fixed (2) unal,         /* as in seek_head, if input_key = "1"b */
55                    4 head_size      fixed bin (9) unsigned unaligned,
56                                                             /* size of head for initial seek */
57                  3 reset_pos        bit (1) unal,           /* if set, final position unchanged by this operation */
58                  3 pad              bit (8) unal,
59                  3 version          fixed (8) unal,
60                2 descrip            fixed (35),             /* Output, except when input_desc="1"b */
61                2 key_len            fixed;                  /* Input when input_key="1"b, also Output in all cases */
62 
63      dcl     gk_info_ptr            ptr;
64      dcl     gk_key_len             fixed;
65 
66      dcl     gk_info_version_0      internal static fixed options (constant) init (0);
67 
68 /* end ak_info.incl.pl1 */