1/* Copyright (c) 2012 Apple Inc. All rights reserved. */ 2 3#ifndef _SECURITY_AUTH_OBJECT_H_ 4#define _SECURITY_AUTH_OBJECT_H_ 5 6#include "authd_private.h" 7#include <CoreFoundation/CoreFoundation.h> 8#include <CoreFoundation/CFRuntime.h> 9 10#if defined(__cplusplus) 11extern "C" { 12#endif 13 14#define __AUTH_BASE_STRUCT_HEADER__ \ 15 CFRuntimeBase _base; 16 17struct _auth_base_s { 18 __AUTH_BASE_STRUCT_HEADER__; 19}; 20 21#define AUTH_TYPE(type) const CFRuntimeClass type 22 23#define AUTH_TYPE_INSTANCE(name, ...) \ 24 AUTH_TYPE(_auth_type_##name) = { \ 25 .version = 0, \ 26 .className = #name "_t", \ 27 __VA_ARGS__ \ 28 } 29 30#define AUTH_CLASS_SIZE(name) (sizeof(struct _##name##_s) - sizeof(CFRuntimeBase)) 31 32#if defined(__cplusplus) 33} 34#endif 35 36#endif /* !_SECURITY_AUTH_OBJECT_H_ */ 37