Chameleon

Chameleon Svn Source Tree

Root/branches/rewrite/i386/include/mach/mig_errors.h

Source at commit 1146 created 12 years 11 months ago.
By azimutz, Sync with trunk (r1145). Add nVidia dev id's, 0DF4 for "GeForce GT 450M" (issue 99) and 1251 for "GeForce GTX 560M" (thanks to oSxFr33k for testing).
1/*
2 * Copyright (c) 2000-2007 Apple Inc. All rights reserved.
3 *
4 * @APPLE_OSREFERENCE_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. The rights granted to you under the License
10 * may not be used to create, or enable the creation or redistribution of,
11 * unlawful or unlicensed copies of an Apple operating system, or to
12 * circumvent, violate, or enable the circumvention or violation of, any
13 * terms of an Apple operating system software license agreement.
14 *
15 * Please obtain a copy of the License at
16 * http://www.opensource.apple.com/apsl/ and read it before using this file.
17 *
18 * The Original Code and all software distributed under the License are
19 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
20 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
21 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
22 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
23 * Please see the License for the specific language governing rights and
24 * limitations under the License.
25 *
26 * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
27 */
28/*
29 * @OSF_COPYRIGHT@
30 */
31/*
32 * Mach Operating System
33 * Copyright (c) 1991,1990,1989,1988,1987 Carnegie Mellon University
34 * All Rights Reserved.
35 *
36 * Permission to use, copy, modify and distribute this software and its
37 * documentation is hereby granted, provided that both the copyright
38 * notice and this permission notice appear in all copies of the
39 * software, derivative works or modified versions, and any portions
40 * thereof, and that both notices appear in supporting documentation.
41 *
42 * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
43 * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
44 * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
45 *
46 * Carnegie Mellon requests users of this software to return to
47 *
48 * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
49 * School of Computer Science
50 * Carnegie Mellon University
51 * Pittsburgh PA 15213-3890
52 *
53 * any improvements or extensions that they make and grant Carnegie Mellon
54 * the rights to redistribute these changes.
55 */
56/*
57 */
58/*
59 * Mach Interface Generator errors
60 *
61 */
62
63#ifndef_MACH_MIG_ERRORS_H_
64#define _MACH_MIG_ERRORS_H_
65
66#include <mach/mig.h>
67#include <mach/ndr.h>
68#include <mach/message.h>
69#include <mach/kern_return.h>
70
71#include <sys/cdefs.h>
72
73/*
74 *These error codes should be specified as system 4, subsytem 2.
75 *But alas backwards compatibility makes that impossible.
76 *The problem is old clients of new servers (eg, the kernel)
77 *which get strange large error codes when there is a Mig problem
78 *in the server. Unfortunately, the IPC system doesn't have
79 *the knowledge to convert the codes in this situation.
80 */
81
82#define MIG_TYPE_ERROR-300/* client type check failure */
83#define MIG_REPLY_MISMATCH-301/* wrong reply message ID */
84#define MIG_REMOTE_ERROR-302/* server detected error */
85#define MIG_BAD_ID-303/* bad request message ID */
86#define MIG_BAD_ARGUMENTS-304/* server type check failure */
87#define MIG_NO_REPLY-305/* no reply should be send */
88#define MIG_EXCEPTION-306/* server raised exception */
89#define MIG_ARRAY_TOO_LARGE-307/* array not large enough */
90#define MIG_SERVER_DIED-308/* server died */
91#define MIG_TRAILER_ERROR -309 /* trailer has an unknown format */
92
93/*
94 *Whenever MIG detects an error, it sends back a generic
95 *mig_reply_error_t format message. Clients must accept
96 *these in addition to the expected reply message format.
97 */
98#pragma pack(4)
99typedef struct {
100mach_msg_header_tHead;
101NDR_record_tNDR;
102kern_return_tRetCode;
103} mig_reply_error_t;
104#pragma pack()
105
106
107__BEGIN_DECLS
108
109#if !defined(__NDR_convert__mig_reply_error_t__defined)
110#define __NDR_convert__mig_reply_error_t__defined
111
112static __inline__ void
113__NDR_convert__mig_reply_error_t(__unused mig_reply_error_t *x)
114{
115#if defined(__NDR_convert__int_rep__kern_return_t__defined)
116if (x->NDR.int_rep != NDR_record.int_rep)
117__NDR_convert__int_rep__kern_return_t(&x->RetCode, x->NDR.int_rep);
118#endif /* __NDR_convert__int_rep__kern_return_t__defined */
119}
120#endif /* !defined(__NDR_convert__mig_reply_error_t__defined) */
121
122__END_DECLS
123
124#endif/* _MACH_MIG_ERRORS_H_ */
125

Archive Download this file

Revision: 1146