From 5fd83771641d15c418f747bd343ba6738d3875f7 Mon Sep 17 00:00:00 2001 From: Cameron Katri Date: Sun, 9 May 2021 14:20:58 -0400 Subject: Import macOS userland adv_cmds-176 basic_cmds-55 bootstrap_cmds-116.100.1 developer_cmds-66 diskdev_cmds-667.40.1 doc_cmds-53.60.1 file_cmds-321.40.3 mail_cmds-35 misc_cmds-34 network_cmds-606.40.1 patch_cmds-17 remote_cmds-63 shell_cmds-216.60.1 system_cmds-880.60.2 text_cmds-106 --- bootstrap_cmds/migcom.tproj/utils.h | 140 ++++++++++++++++++++++++++++++++++++ 1 file changed, 140 insertions(+) create mode 100644 bootstrap_cmds/migcom.tproj/utils.h (limited to 'bootstrap_cmds/migcom.tproj/utils.h') diff --git a/bootstrap_cmds/migcom.tproj/utils.h b/bootstrap_cmds/migcom.tproj/utils.h new file mode 100644 index 0000000..a804920 --- /dev/null +++ b/bootstrap_cmds/migcom.tproj/utils.h @@ -0,0 +1,140 @@ +/* + * Copyright (c) 1999-2002, 2008 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. + * + * 28-May-87 Richard Draves (rpd) at Carnegie-Mellon University + * Created. + */ + +#ifndef _UTILS_H +#define _UTILS_H + +/* definitions used by the Event Logger */ + +#define LOG_USER 0 +#define LOG_SERVER 1 + +#define LOG_REQUEST 0 +#define LOG_REPLY 1 + +/* stuff used by more than one of header.c, user.c, server.c */ + +extern void WriteMigExternal(FILE *file); +extern void WriteMigInternal(FILE *file); + +extern void WriteImport(FILE *file, string_t filename); +extern void WriteRCSDecl( FILE *file, identifier_t name, string_t rcs ); +extern void WriteBogusDefines( FILE *file ); + +extern void WriteList( FILE *file, argument_t *args, + void (*func)(FILE *file, argument_t *arg), + u_int mask, char *between, char *after ); + +extern void WriteReverseList( FILE *file, argument_t *args, + void (*func)(FILE *file, argument_t *arg), + u_int mask, char *between, char *after ); + +/* good as arguments to WriteList */ +extern void WriteNameDecl( FILE *file, argument_t *arg ); +extern void WriteUserVarDecl( FILE *file, argument_t *arg ); +extern void WriteServerVarDecl( FILE *file, argument_t *arg ); +extern void WriteTemplateDeclIn( FILE *file, argument_t *arg ); +extern void WriteTemplateDeclOut( FILE *file, argument_t *arg ); +extern void WriteCheckDecl( FILE *file, argument_t *arg ); + +extern char *ReturnTypeStr( routine_t *rt ); + +extern char *FetchUserType( ipc_type_t *it ); +extern char *FetchServerType( ipc_type_t *it ); +extern char *FetchKPDType( ipc_type_t *it ); +extern void WriteKPDFieldDecl(FILE *file, argument_t *arg); + +extern void WriteFieldDeclPrim( FILE *file, argument_t *arg, char *(*tfunc)(ipc_type_t *it) ); + +extern void WriteStructDecl( FILE *file, argument_t *args, + void (*func)(FILE *file, argument_t *arg), + u_int mask, char *name, + boolean_t simple, boolean_t trailer, + boolean_t isuser, + boolean_t template_only ); + +extern void WriteStaticDecl( FILE *file, argument_t *arg ); + +extern void WriteCopyType(FILE *file, ipc_type_t *it, boolean_t mig_allocated_buf, char *left, char *right, ...); + +extern void WriteCopyArg(FILE *file, argument_t *arg, boolean_t mig_allocated_buf, char *left, char *right, ...); + +extern void WriteLogMsg( FILE *file, routine_t *rt, int where, int what ); + +extern void WriteCheckTrailerHead( FILE *file, routine_t *rt, boolean_t isuser ); + +extern void WriteCheckTrailerSize( FILE *file, boolean_t isuser, argument_t *arg ); + +extern void WriteReturnMsgError( FILE *file, routine_t *rt, boolean_t isuser, argument_t *arg, string_t error ); + +extern void WriteRPCRoutineDescriptor( FILE *file, routine_t *rt, int arg_count, int descr_count, string_t stub_routine, string_t sig_array ); + +extern void WriteRPCRoutineArgDescriptor( FILE *file, routine_t *rt ); + +extern void WriteRequestTypes( FILE *file, statement_t *stats); +extern void WriteCheckRequests( FILE *file, statement_t *stats); +extern void WriteUserRequestUnion( FILE *file, statement_t *stats ); +extern void WriteServerRequestUnion( FILE *file, statement_t *stats ); + +extern void WriteReplyTypes( FILE *file, statement_t *stats); +extern void WriteCheckReplies( FILE *file, statement_t *stats); +extern void WriteUserReplyUnion( FILE *file, statement_t *stats ); +extern void WriteServerReplyUnion( FILE *file, statement_t *stats ); + +extern void WriteNDRConvertArgDecl( FILE *file, argument_t *arg, char *convert, char *dir); + +#endif /* _UTILS_H */ -- cgit v1.2.3-56-ge451