1/* 2 * Copyright (c) 1999 Apple Computer, Inc. All rights reserved. 3 * 4 * @APPLE_LICENSE_HEADER_START@ 5 * 6 * This file contains Original Code and/or Modifications of Original Code 7 * as defined in and that are subject to the Apple Public Source License 8 * Version 2.0 (the 'License'). You may not use this file except in 9 * compliance with the License. Please obtain a copy of the License at 10 * http://www.opensource.apple.com/apsl/ and read it before using this 11 * file. 12 * 13 * The Original Code and all software distributed under the License are 14 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 15 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 16 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 17 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 18 * Please see the License for the specific language governing rights and 19 * limitations under the License. 20 * 21 * @APPLE_LICENSE_HEADER_END@ 22 */ 23#ifndef RLD 24#include <stdlib.h> 25#include <string.h> 26#include <stdio.h> 27#include <stdarg.h> 28#include <errno.h> 29#include <mach/mach.h> 30#include <mach/mach_error.h> 31 32#include "stuff/errors.h" 33 34/* 35 * Print the fatal error message and exit. 36 */ 37__private_extern__ 38void 39fatal( 40const char *format, 41...) 42{ 43 va_list ap; 44 45 va_start(ap, format); 46 fprintf(stderr, "%s: ", progname); 47 vfprintf(stderr, format, ap); 48 fprintf(stderr, "\n"); 49 va_end(ap); 50 exit(1); 51} 52 53/* 54 * Print the fatal error message along with the system error message and exit. 55 */ 56__private_extern__ 57void 58system_fatal( 59const char *format, 60...) 61{ 62 va_list ap; 63 64 va_start(ap, format); 65 fprintf(stderr, "%s: ", progname); 66 vfprintf(stderr, format, ap); 67 fprintf(stderr, " (%s)\n", strerror(errno)); 68 va_end(ap); 69 exit(1); 70} 71 72/* 73 * Print the fatal error message along with the mach error string and exit. 74 */ 75__private_extern__ 76void 77mach_fatal( 78kern_return_t r, 79char *format, 80...) 81{ 82 va_list ap; 83 84 va_start(ap, format); 85 fprintf(stderr, "%s: ", progname); 86 vfprintf(stderr, format, ap); 87 fprintf(stderr, " (%s)\n", mach_error_string(r)); 88 va_end(ap); 89 exit(1); 90} 91#endif /* !defined(RLD) */ 92