diff options
Diffstat (limited to 'bootstrap_cmds/migcom.tproj/statement.h')
| -rw-r--r-- | bootstrap_cmds/migcom.tproj/statement.h | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/bootstrap_cmds/migcom.tproj/statement.h b/bootstrap_cmds/migcom.tproj/statement.h new file mode 100644 index 0000000..ca3f5ba --- /dev/null +++ b/bootstrap_cmds/migcom.tproj/statement.h @@ -0,0 +1,98 @@ +/* + * Copyright (c) 1999-2018 Apple Inc. All rights reserved. + * + * @APPLE_LICENSE_HEADER_START@ + * + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apple Public Source License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this + * file. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. + * + * @APPLE_LICENSE_HEADER_END@ + */ +/* + * 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. + */ +/* + * HISTORY + * 07-Apr-89 Richard Draves (rpd) at Carnegie-Mellon University + * Extensive revamping. Added polymorphic arguments. + * Allow multiple variable-sized inline arguments in messages. + * + * 27-May-87 Richard Draves (rpd) at Carnegie-Mellon University + * Created. + */ + +#ifndef _STATEMENT_H +#define _STATEMENT_H + +#include "routine.h" + +typedef enum statement_kind +{ + skRoutine, + skImport, + skUImport, + skSImport, + skDImport, + skIImport, + skRCSDecl +} statement_kind_t; + +typedef struct statement +{ + statement_kind_t stKind; + struct statement *stNext; + union + { + /* when stKind == skRoutine */ + routine_t *_stRoutine; + /* when stKind == skImport, skUImport, skSImport, skDImport, skIImport */ + string_t _stFileName; + } data; +} statement_t; + +#define stRoutine data._stRoutine +#define stFileName data._stFileName + +#define stNULL ((statement_t *) 0) + +/* stNext will be initialized to put the statement in the list */ +extern statement_t *stAlloc(void); + +/* list of statements, in order they occur in the .defs file */ +extern statement_t *stats; + +#endif /* _STATEMENT_H */ |
