1 /* ***********************************************************
 2    *                                                         *
 3    * Copyright, (C) Honeywell Information Systems Inc., 1982 *
 4    *                                                         *
 5    * Copyright (c) 1972 by Massachusetts Institute of        *
 6    * Technology and Honeywell Information Systems, Inc.      *
 7    *                                                         *
 8    *********************************************************** */
 9 
10 
11 display_source:
12           proc(pt,tree_level);
13 
14 /*        Modified: 29 Nov 1979 by PCK to print a tree level indented listing */
15 
16 dcl       tree_level fixed bin;
17 dcl       (p,pt) ptr;
18 dcl       (addr,null) builtin;
19 dcl       1 based_words based aligned,
20           2 word1 bit(36),
21           2 word2 bit(36);
22 dcl       date char(24) aligned;
23 dcl       ioa_ entry options(variable);
24 dcl       decode_node_id entry(ptr,bit(1) aligned) returns(char(120) varying);
25 dcl       date_time_ entry(fixed bin(71), char(*) aligned);
26 dcl       display_any_node_name entry(char(*) aligned,ptr,fixed bin);
27 %include nodes;
28 %include token;
29 %include token_list;
30 %include source_list;
31 
32           p = pt;
33           if p = null
34           then do;
35                     call ioa_("^/^vxdisplay_source: ptr is NULL^/",tree_level);
36                     return;
37                end;
38 
39           if p->node.type ^= source_node
40           then do;
41                     call display_any_node_name("display_source: node is not a source_node, arg=",p,tree_level+1);
42                     return;
43                end;
44 
45           call ioa_("^/^vxSOURCE ^p, ^a",tree_level,p,p -> source.name->token.string);
46           call ioa_("^vx^a",tree_level,decode_node_id(p,"0"b));
47           call ioa_("^vxseg_ptr = ^p, length = ^d, pathname = ^a",tree_level,p -> source.seg_ptr,p -> source.source_length,p -> source.pathname);
48           call date_time_(p -> source.dtm,date);
49           call ioa_("^vxuid = ^w, dtm = ^w^w (^a)^/",tree_level, p -> source.uid, p -> source.dtm,
50                     addr(p -> source.dtm) -> word2, date);
51           return;
52 end display_source;