File: global.c

package info (click to toggle)
mig 1.8-4
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 1,348 kB
  • sloc: ansic: 5,067; sh: 4,538; yacc: 558; lex: 284; makefile: 106; awk: 45
file content (96 lines) | stat: -rw-r--r-- 2,783 bytes parent folder | download | duplicates (3)
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
/*
 * 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 "error.h"
#include "global.h"

boolean_t DefaultFiles = TRUE;
boolean_t BeQuiet = FALSE;
boolean_t BeVerbose = FALSE;
boolean_t GenSymTab = FALSE;

boolean_t IsKernelUser = FALSE;
boolean_t 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;

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);
}