1 /* ***************************************************************
  2    *                                                             *
  3    * Copyright, (C) BULL HN Information Systems Inc., 1992       *
  4    *                                                             *
  5    * Copyright, (C) Massachusetts Institute of Technology, 1986  *
  6    *                                                             *
  7    * Copyright (c) 1982 by Massachusetts Institute of Technology *
  8    *                                                             *
  9    *************************************************************** */
 10 
 11 
 12 
 13 
 14 /* HISTORY COMMENTS:
 15   1) change(86-07-29,Pattin), approve(86-07-29,MCR7354),
 16      audit(86-08-03,Margolin), install(86-08-16,MR12.0-1128):
 17      Added meeting_list, log_dir -> log_dest
 18   2) change(92-09-17,Zimmerman), approve(92-09-17,MCR8258),
 19      audit(92-09-22,WAAnderson), install(92-09-28,MR12.5-1020):
 20      Change version number for release 12.5.
 21   3) change(92-10-07,Vu), approve(92-10-07,MCR8273), audit(92-10-08,Zimmerman),
 22      install(92-10-19,MR12.5-1027):
 23      Change version number to 2.16 for release MR12.5
 24                                                    END HISTORY COMMENTS */
 25 
 26 
 27 forum_data_:
 28      procedure ();
 29 
 30 /* This procedure creates the segment 'forum_data_' which contains
 31    static information used by the forum subsystem.
 32 
 33    Initial coding:  800310 by M. Auerbach
 34    added version_string for ssu_ 08/21/81 Jay Pattin
 35    rewritten for forum 01/21/82 Jay Pattin
 36    lobotomized because installers can't answer questions  4/2/82 Jay Pattin
 37    Added message switches 5/19/82 Jay Pattin
 38    Added meetings_directory 6/4/83 Jay Pattin
 39    Added forum_ring 12/30/83 - Jeffrey I. Schiller
 40    Added log_dir 07/22/84 - Jeffrey I. Schiller */
 41 
 42 dcl 1 forum_external_data aligned,
 43     2 major_version fixed binary,
 44     2 minor_version fixed binary,
 45     2 version_string char (8),
 46     2 print_eligibility_messages bit (1) aligned,
 47     2 chairman_override bit (1) aligned,
 48     2 info_directory character (168),
 49     2 central_directory char (168),
 50     2 meetings_directory char (32),                         /* default for announce_meeting */
 51     2 forum_ring fixed bin (3),
 52     2 log_destination char (168);
 53 
 54 dcl 1 forum_static_data aligned,
 55     2 meeting_list pointer;
 56 
 57 dcl 1 cds_data aligned like cds_args;                       /* arguments to create_data_segment_ subr */
 58 
 59 dcl  code fixed binary (35);
 60 
 61 dcl  NAME character (32) static options (constant) initial ("forum_data_");
 62 
 63 dcl  com_err_ entry () options (variable);
 64 dcl  create_data_segment_ entry (pointer, fixed binary (35));
 65 dcl  ioa_ entry () options (variable);
 66 dcl  ioa_$rsnnl entry () options (variable);
 67 
 68 dcl (addr, currentsize, null, string) builtin;
 69 %page;
 70 %include cds_args;
 71 %page;
 72 /* Fill in the structure */
 73 
 74           forum_external_data.major_version = 2;            /* canned version for installation */
 75           forum_external_data.minor_version = 16;
 76           forum_external_data.forum_ring = 2;               /* Ring of forums */
 77           forum_external_data.print_eligibility_messages = "0"b;
 78           forum_external_data.chairman_override = "1"b;
 79           forum_external_data.central_directory = ">site>forum_dir";
 80           forum_external_data.info_directory = ">doc>subsystem>forum";
 81           forum_external_data.meetings_directory = "Meetings_Directory.forum";
 82 
 83           /* Shipped version should have log_dest set to "". If it contains
 84              a user-name, that user will be sent error messages from
 85              forum_logger_. */
 86 
 87           forum_external_data.log_destination = "";
 88 
 89           forum_static_data.meeting_list = null ();
 90 
 91           call ioa_$rsnnl ("^d.^d", forum_external_data.version_string, (0), forum_external_data.major_version,
 92                forum_external_data.minor_version);
 93           call ioa_ ("Generating forum_data_ version ^a", forum_external_data.version_string);
 94           if forum_external_data.log_destination ^= "" then
 95                call ioa_ ("WARNING: Forum error log will be sent to ^a.",
 96                     forum_external_data.log_destination);
 97 
 98 /* Set up arguments for call to create_data_segment_ */
 99 
100           cds_data.sections (1).p = addr (forum_external_data);
101           cds_data.sections (1).len = currentsize (forum_external_data);
102           cds_data.sections (1).struct_name = "forum_external_data";
103 
104           cds_data.sections (2).p = addr (forum_static_data);
105           cds_data.sections (2).len = currentsize (forum_static_data);
106           cds_data.sections (2).struct_name = "forum_static_data";
107 
108           cds_data.seg_name = NAME;
109 
110           cds_data.num_exclude_names = 0;
111           cds_data.exclude_array_ptr = null ();
112 
113           string (cds_data.switches) = "0"b;
114           cds_data.switches.have_text = "1"b;
115           cds_data.switches.have_static = "1"b;
116 
117 /* Call create_data_segment_ */
118 
119           call create_data_segment_ (addr (cds_data), code);
120 
121           if code ^= 0 then
122                call com_err_ (code, NAME);
123 
124           return;
125 
126      end forum_data_;