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 ssu_check_sci:
27 procedure (p_sci_ptr);
28
29 dcl p_sci_ptr pointer parameter;
30
31 dcl SSU_ character (32) static options (constant) initial ("ssu_");
32
33 dcl error_table_$bad_ptr fixed binary (35) external;
34 dcl error_table_$null_info_ptr fixed binary (35) external;
35 dcl error_table_$unimplemented_version fixed binary (35) external;
36
37 dcl sub_err_ entry () options (variable);
38
39 dcl (null, substr, unspec) builtin;
40
41 if addr(p_sci_ptr) -> its.its_mod ^= ITS_MODIFIER then do;
42 RESIGNAL_BAD_POINTER:
43 call sub_err_ (error_table_$bad_ptr, SSU_, ACTION_CANT_RESTART, null (), (0), "^24.3b", unspec (p_sci_ptr));
44 go to RESIGNAL_BAD_POINTER;
45 end;
46
47 if p_sci_ptr = null () then do;
48 RESIGNAL_NULL_POINTER:
49 call sub_err_ (error_table_$null_info_ptr, SSU_, ACTION_CANT_RESTART, null (), (0), "sci_ptr");
50 go to RESIGNAL_NULL_POINTER;
51 end;
52
53 if p_sci_ptr -> sci.version = SCI_VERSION_3 then
54 return;
55
56 RESIGNAL_BAD_VERSION:
57 call sub_err_ (error_table_$unimplemented_version, SSU_, ACTION_CANT_RESTART, null (), (0), "^24.3b",
58 unspec (p_sci_ptr -> sci.version));
59 go to RESIGNAL_BAD_VERSION;
60 ^L
61 %include its;
62 ^L
63 %include sub_err_flags;
64
65 end ssu_check_sci;
66
67
68