1
2
3
4
5
6
7
8
9 declare log_read_data_ptr pointer;
10 declare log_read_data_n_segments fixed bin;
11
12 declare 1 log_read_data aligned based (log_read_data_ptr),
13 2 header aligned,
14 3 sentinel char (8) aligned,
15 3 n_segments fixed bin,
16 3 history_complete bit (1) aligned,
17 3 call_procedures bit (1) aligned,
18 3 allocate_copies bit (1) aligned,
19 3 current_ptr pointer,
20 3 current_idx fixed bin,
21 3 reader_data_ptr pointer,
22 3 user_area_ptr pointer,
23 3 latest_message aligned like saved_message,
24 3 earlier_message aligned like saved_message,
25 3 n_held_messages fixed bin,
26 3 first_held_message_ptr pointer,
27 3 last_held_message_ptr pointer,
28 3 ev,
29 4 open variable entry (char (*), char (*), pointer, pointer, fixed bin (35)),
30 4 close variable entry (pointer, fixed bin (35)),
31 4 next_message variable entry (pointer, pointer, fixed bin (35)),
32 4 prev_message variable entry (pointer, pointer, fixed bin (35)),
33 4 position_sequence variable entry (pointer, fixed bin (35), bit (1) aligned, pointer, fixed bin (35)),
34 4 position_time variable entry (pointer, fixed bin (71), bit (1) aligned, pointer, fixed bin (35)),
35 4 update variable entry (fixed bin (35), pointer, pointer, fixed bin (35)),
36 4 hold_message variable entry (pointer, pointer),
37 4 free_message variable entry (pointer, pointer),
38 4 get_log_uid variable entry (pointer, bit (36) aligned, fixed bin (35)),
39 4 register variable entry (pointer, bit (36) aligned, fixed bin (71), fixed bin (35)),
40 4 deregister variable entry (pointer, bit (36) aligned, fixed bin (71), fixed bin (35)),
41 3 limits aligned,
42 4 very_first_time fixed bin (71),
43 4 very_last_time fixed bin (71),
44 4 very_first_sequence fixed bin (35),
45 4 very_last_sequence fixed bin (35),
46 4 very_first_log_idx fixed bin,
47 4 very_last_log_idx fixed bin,
48
49 2 segments (log_read_data_n_segments refer (log_read_data.n_segments)),
50 3 dname char (168) unaligned,
51 3 ename char (32) unaligned,
52 3 ptr pointer,
53 3 suffix_time fixed bin (71),
54 3 dir_uid bit (36) aligned,
55 3 prev_missing bit (1) aligned,
56 3 damaged bit (1) aligned,
57
58 2 pad fixed bin;
59
60 declare 1 saved_message aligned based,
61 2 actual_ptr pointer,
62 2 copy_ptr pointer;
63
64 dcl 1 log_held_message_node aligned based,
65 2 message aligned like saved_message,
66 2 reference_count fixed bin,
67 2 next_ptr ptr;
68
69 declare LOG_READ_DATA_VERSION_SENTINEL char (8) int static options (constant)
70 init ("logr0001") options (constant);
71
72