ss_types.h
1 /* 2 * Copyright (c) 2000-2007,2011 Apple 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 _H_SS_TYPES 24 #define _H_SS_TYPES 25 26 #include <sys/syslimits.h> 27 #include <securityd_client/handletypes.h> 28 29 // 30 // ss_types - common type definitions for securityd-related IPC services 31 // 32 #include "ssclient.h" 33 34 #define __MigTypeCheck 1 35 36 37 typedef void *Data; 38 typedef void *XMLBlob; 39 typedef void *XMLBlobOut; 40 typedef void *Pointer; 41 typedef void *BasePointer; 42 43 typedef const char *CssmString; 44 45 typedef const char *FilePath; 46 typedef char FilePathOut[PATH_MAX]; 47 typedef void *HashData; 48 typedef char HashDataOut[maxUcspHashLength]; 49 typedef const char *RelationName; 50 51 52 #ifdef __cplusplus 53 54 namespace Security { 55 56 using namespace SecurityServer; 57 58 59 // @@@ OBSOLETE BEYOND THIS POINT (SecurityTokend uses this still) 60 61 typedef void *ContextAttributes; 62 typedef Context::Attr *ContextAttributesPointer; 63 64 typedef CssmKey *CssmKeyPtr; 65 typedef AclEntryPrototype *AclEntryPrototypePtr; 66 typedef AclEntryInput *AclEntryInputPtr; 67 typedef AclEntryInfo *AclEntryInfoPtr; 68 typedef AclOwnerPrototype *AclOwnerPrototypePtr; 69 typedef AccessCredentials *AccessCredentialsPtr; 70 typedef CssmDeriveData *CssmDeriveDataPtr; 71 72 typedef CssmDbRecordAttributeData *CssmDbRecordAttributeDataPtr; 73 typedef CssmNetAddress *CssmNetAddressPtr; 74 typedef CssmQuery *CssmQueryPtr; 75 typedef CssmSubserviceUid *CssmSubserviceUidPtr; 76 typedef CSSM_DBINFO *CSSM_DBINFOPtr; 77 typedef CSSM_DB_SCHEMA_ATTRIBUTE_INFO *CSSM_DB_SCHEMA_ATTRIBUTE_INFOPtr; 78 typedef CSSM_DB_SCHEMA_INDEX_INFO *CSSM_DB_SCHEMA_INDEX_INFOPtr; 79 typedef CSSM_NAME_LIST *CSSM_NAME_LISTPtr; 80 typedef void *VoidPtr; 81 82 typedef CssmKey::Header CssmKeyHeader; 83 84 typedef SecGuestRef *GuestChain; 85 86 87 // 88 // MIG-used translation functions 89 // 90 inline Context &inTrans(CSSM_CONTEXT &arg) { return Context::overlay(arg); } 91 inline CssmKey &inTrans(CSSM_KEY &arg) { return CssmKey::overlay(arg); } 92 inline CSSM_KEY &outTrans(CssmKey &key) { return key; } 93 94 } // end namespace Security 95 96 #endif //__cplusplus 97 98 99 // 100 // MIG-used byte swapping macros 101 // 102 #define __NDR_convert__int_rep__BasePointer__defined 103 #define __NDR_convert__int_rep__BasePointer(a, f) /* do not flip */ 104 105 #endif //_H_SS_TYPES