summaryrefslogtreecommitdiff
path: root/global.c
blob: bf3d10d7b3040b9dbe1f8d2f3e5faecc720158a3 (plain)
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
/*
 * Mach Operating System
 * Copyright (c) 1991,1990 Carnegie Mellon University
 * All Rights Reserved.
 *
 * Permission to use, copy, modify and distribute this software and its
 * documentation is hereby granted, provided that both the copyright
 * notice and this permission notice appear in all copies of the
 * software, derivative works or modified versions, and any portions
 * thereof, and that both notices appear in supporting documentation.
 *
 * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS
 * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
 * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
 *
 * Carnegie Mellon requests users of this software to return to
 *
 *  Software Distribution Coordinator  or  Software.Distribution@CS.CMU.EDU
 *  School of Computer Science
 *  Carnegie Mellon University
 *  Pittsburgh PA 15213-3890
 *
 * any improvements or extensions that they make and grant Carnegie the
 * rights to redistribute these changes.
 */

#include "cpu.h"
#include "error.h"
#include "global.h"

bool DefaultFiles = true;
bool BeQuiet = false;
bool BeVerbose = false;
bool GenSymTab = false;

bool IsKernelUser = false;
bool IsKernelServer = false;

const_string_t RCSId = strNULL;

const_string_t SubsystemName = strNULL;
u_int SubsystemBase = 0;

const_string_t MsgOption = strNULL;
const_string_t WaitTime = strNULL;
const_string_t ErrorProc = "MsgError";
const_string_t ServerPrefix = "";
const_string_t UserPrefix = "";
const_string_t ServerDemux = strNULL;
const_string_t SubrPrefix = "";
const_string_t RoutinePrefix = "";
const_string_t OOLPostfix = "P";

string_t yyinname;

void
init_global(void)
{
    yyinname = strmake("<no name yet>");
}

string_t UserFilePrefix = strNULL;
string_t UserHeaderFileName = strNULL;
string_t ServerHeaderFileName = strNULL;
string_t InternalHeaderFileName = strNULL;
string_t UserFileName = strNULL;
string_t ServerFileName = strNULL;

int port_size = port_name_size;
int port_size_in_bits = port_name_size_in_bits;

void
more_global(void)
{
    if (SubsystemName == strNULL)
	fatal("no SubSystem declaration");

    if (DefaultFiles)
      {
	if (UserHeaderFileName == strNULL)
	  UserHeaderFileName = strconcat(SubsystemName, ".h");
	else if (streql(UserHeaderFileName, "/dev/null"))
	  UserHeaderFileName = strNULL;

	if (UserFileName == strNULL)
	  UserFileName = strconcat(SubsystemName, "User.c");
	else if (streql(UserFileName, "/dev/null"))
	  UserFileName = strNULL;

	if (ServerFileName == strNULL)
	  ServerFileName = strconcat(SubsystemName, "Server.c");
	else if (streql(ServerFileName, "/dev/null"))
	  ServerFileName = strNULL;
      }

    if (ServerDemux == strNULL)
      ServerDemux = strconcat(SubsystemName, "_server");
    if (RoutinePrefix != NULL)
      ServerDemux = strconcat (RoutinePrefix, ServerDemux);
}