2 * Copyright (c) 2000-2001 Apple Computer, Inc. All Rights Reserved.
4 * The contents of this file constitute Original Code as defined in and are
5 * subject to the Apple Public Source License Version 1.2 (the 'License').
6 * You may not use this file except in compliance with the License. Please obtain
7 * a copy of the License at http://www.apple.com/publicsource and read it before
10 * This Original Code and all software distributed under the License are
11 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS
12 * OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, INCLUDING WITHOUT
13 * LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
14 * PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. Please see the License for the
15 * specific language governing rights and limitations under the License.
20 // ucsp_types - type equivalence declarations for SecurityServer MIG
23 #include <Security/Authorization.h>
25 // who forgot that one?
26 extern "C" kern_return_t
mig_deallocate(vm_address_t addr
, vm_size_t size
);
30 using namespace SecurityServer
;
34 typedef void *Pointer
;
36 typedef const char *CssmString
;
38 typedef void *ContextAttributes
;
39 typedef Context::Attr
*ContextAttributesPointer
;
41 typedef AclEntryPrototype
*AclEntryPrototypePtr
;
42 typedef AclEntryInfo
*AclEntryInfoPtr
;
43 typedef AclOwnerPrototype
*AclOwnerPrototypePtr
;
44 typedef AccessCredentials
*AccessCredentialsPtr
;
46 typedef DataWalkers::DLDbFlatIdentifier DLDbIdentBlob
;
47 typedef DataWalkers::DLDbFlatIdentifier
*DLDbIdentPtr
;
49 typedef AuthorizationItemSet AuthorizationItemSetBlob
;
50 typedef AuthorizationItemSet
*AuthorizationItemSetPtr
;
51 typedef void *AuthorizationHandle
;
53 typedef CssmKey::Header CssmKeyHeader
;
55 typedef const char *ExecutablePath
;
57 inline Context
&inTrans(CSSM_CONTEXT
&arg
) { return Context::overlay(arg
); }
58 inline CssmKey
&inTrans(CSSM_KEY
&arg
) { return CssmKey::overlay(arg
); }
59 inline CSSM_KEY
&outTrans(CssmKey
&key
) { return key
; }
61 // fix const-blindless in MIG's internals
62 inline int mig_strncpy(char *dest
, const char *src
, int length
)
63 { return ::mig_strncpy(dest
, const_cast<char *>(src
), length
); }
67 // Customization macros for MIG code
69 #define __AfterSendRpc(id, name) \
70 if (msg_result == MACH_MSG_SUCCESS && Out0P->Head.msgh_id == MACH_NOTIFY_DEAD_NAME) \
71 return MIG_SERVER_DIED;
73 #define UseStaticTemplates 0
75 } // end namespace Security