home *** CD-ROM | disk | FTP | other *** search
/ H4CK3R 4 / hacker04 / 04_HACK04.ISO / darwin / darwinx86.iso / usr / include / mach / ppc / rpc.h < prev    next >
Encoding:
C/C++ Source or Header  |  2001-09-30  |  1.7 KB  |  62 lines

  1. /*
  2.  * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
  3.  *
  4.  * @APPLE_LICENSE_HEADER_START@
  5.  * 
  6.  * The contents of this file constitute Original Code as defined in and
  7.  * are subject to the Apple Public Source License Version 1.1 (the
  8.  * "License").  You may not use this file except in compliance with the
  9.  * License.  Please obtain a copy of the License at
  10.  * http://www.apple.com/publicsource and read it before using this file.
  11.  * 
  12.  * This Original Code and all software distributed under the License are
  13.  * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  14.  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  15.  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  16.  * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT.  Please see the
  17.  * License for the specific language governing rights and limitations
  18.  * under the License.
  19.  * 
  20.  * @APPLE_LICENSE_HEADER_END@
  21.  */
  22. /*
  23.  * @OSF_COPYRIGHT@
  24.  * 
  25.  */
  26. #ifndef _MACH_PPC_RPC_H_
  27. #define _MACH_PPC_RPC_H_
  28.  
  29. #include <mach/ppc/thread_status.h>
  30.  
  31. /*
  32.  * Just temporary until all vestiges of short-curcuiting can be removed.
  33.  */
  34. #define CAN_SHCIRCUIT(name)    (0)
  35.  
  36. /*
  37.  * Note, these don't quite work for PowerPC, because there are different
  38.  * ABIs that lay the parameters out some in registers and some in memory
  39.  * with slightly different results.  We need to change MIG to assure a
  40.  * consistent layout regardless of ABI.
  41.  */
  42. #define MACH_RPC_ARGV(act)    (char*)(USER_REGS(act)->r3)  
  43. #define MACH_RPC_RET(act)    ( USER_REGS(act)->lr ) 
  44. #define MACH_RPC_UIP(act)    ( USER_REGS(act)->srr0 )
  45. #define MACH_RPC_USP(act)    ( USER_REGS(act)->r1 )
  46. /* FIXME!! */
  47. #define MACH_RPC_FUNC(act)    ( USER_REGS(act)->r2 )
  48. #define MACH_RPC_SIG(act)    ( USER_REGS(act)->r2 )
  49.  
  50. #endif    /* _MACH_PPC_RPC_H_ */
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.