LCOV - code coverage report
Current view: directory - usr/include/mach - mig_errors.h (source / functions) Found Hit Coverage
Test: coverage.lcov Lines: 4 0 0.0 %
Date: 2012-02-16 Functions: 0 0 -

       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)
      99                 : typedef struct {
     100                 :         mach_msg_header_t       Head;
     101                 :         NDR_record_t            NDR;
     102                 :         kern_return_t           RetCode;
     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                 : 
     112                 : static __inline__ void
     113                 : __NDR_convert__mig_reply_error_t(__unused mig_reply_error_t *x)
     114               0 : {
     115                 : #if defined(__NDR_convert__int_rep__kern_return_t__defined)
     116               0 :         if (x->NDR.int_rep != NDR_record.int_rep)
     117               0 :                 __NDR_convert__int_rep__kern_return_t(&x->RetCode, x->NDR.int_rep);
     118                 : #endif /* __NDR_convert__int_rep__kern_return_t__defined */
     119               0 : }
     120                 : #endif /* !defined(__NDR_convert__mig_reply_error_t__defined) */
     121                 : 
     122                 : __END_DECLS
     123                 : 
     124                 : #endif  /* _MACH_MIG_ERRORS_H_ */

Generated by: LCOV version 1.7