view dstep/security/SecBase.d @ 11:07194b026fa4

Added bindings to a couple of frameworks, new license + some other things
author Jacob Carlborg <doob@me.com>
date Sat, 01 Aug 2009 15:03:28 +0200
parents
children
line wrap: on
line source

/**
 * Copyright: Copyright (c) 2009 Jacob Carlborg.
 * Authors: Jacob Carlborg
 * Version: Initial created: Jul 22, 2009 
 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0)
 */
module dstep.security.SecBase;

import dstep.corefoundation.CFBase;

struct OpaqueSecKeychainRef;
struct OpaqueSecKeychainItemRef;
struct OpaqueSecKeychainSearchRef;
struct OpaqueSecTrustedApplicationRef;
struct OpaqueSecPolicyRef;
struct OpaqueSecCertificateRef;
struct OpaqueSecAccessRef;
struct OpaqueSecIdentityRef;
struct OpaqueSecKeyRef;
struct OpaqueSecTrustRef;
struct OpaqueSecPasswordRef;

alias OpaqueSecKeychainRef* SecKeychainRef;
alias OpaqueSecKeychainItemRef* SecKeychainItemRef;
alias OpaqueSecKeychainSearchRef* SecKeychainSearchRef;
alias uint SecKeychainAttrType;
alias SecKeychainAttribute* SecKeychainAttributePtr;
alias uint SecKeychainStatus;
alias OpaqueSecTrustedApplicationRef* SecTrustedApplicationRef;
alias OpaqueSecPolicyRef* SecPolicyRef;
alias OpaqueSecCertificateRef* SecCertificateRef;
alias OpaqueSecAccessRef* SecAccessRef;
alias OpaqueSecIdentityRef* SecIdentityRef;
alias OpaqueSecKeyRef* SecKeyRef;
alias OpaqueSecTrustRef* SecACLRef;
alias OpaqueSecPasswordRef* SecPasswordRef;

enum
{
	errSecNotAvailable = -25291,
	errSecReadOnly = -25292,
	errSecAuthFailed = -25293,
	errSecNoSuchKeychain = -25294,
	errSecInvalidKeychain = -25295,
	errSecDuplicateKeychain = -25296,
	errSecDuplicateCallback = -25297,
	errSecInvalidCallback = -25298,
	errSecDuplicateItem = -25299,
	errSecItemNotFound = -25300,
	errSecBufferTooSmall = -25301,
	errSecDataTooLarge = -25302,
	errSecNoSuchAttr = -25303,
	errSecInvalidItemRef = -25304,
	errSecInvalidSearchRef = -25305,
	errSecNoSuchClass = -25306,
	errSecNoDefaultKeychain = -25307,
	errSecInteractionNotAllowed = -25308,
	errSecReadOnlyAttr = -25309,
	errSecWrongSecVersion = -25310,
	errSecKeySizeNotAllowed = -25311,
	errSecNoStorageModule = -25312,
	errSecNoCertificateModule = -25313,
	errSecNoPolicyModule = -25314,
	errSecInteractionRequired = -25315,
	errSecDataNotAvailable = -25316,
	errSecDataNotModifiable = -25317,
	errSecCreateChainFailed = -25318,
	errSecInvalidPrefsDomain = -25319,
	errSecACLNotSimple = -25240,
	errSecPolicyNotFound = -25241,
	errSecInvalidTrustSetting = -25242,
	errSecNoAccessForItem = -25243,
	errSecInvalidOwnerEdit = -25244,
	errSecTrustNotAvailable = -25245,
	errSecUnsupportedFormat = -25256,
	errSecUnknownFormat = -25257,
	errSecKeyIsSensitive = -25258,
	errSecMultiplePrivKeys = -25259,
	errSecPassphraseRequired = -25260,
	errSecInvalidPasswordRef = -25261,
	errSecInvalidTrustSettings = -25262,
	errSecNoTrustSettings = -25263,
	errSecPkcs12VerifyFailure = -25264
}

struct SecKeychainAttribute
{
	uint tag;
	uint length;
	void* data;
}


struct SecKeychainAttributeList
{
	uint count;
	SecKeychainAttribute* attr;
}


struct SecKeychainAttributeInfo
{
	uint count;
	uint* tag;
	uint* format;
}

extern (C)
{
	CFStringRef SecCopyErrorMessageString (int status, void* reserved);
}