1/* Copyright (c) 2012 Apple Inc. All Rights Reserved. */ 2 3#ifndef _SECURITY_AUTH_SESSION_H_ 4#define _SECURITY_AUTH_SESSION_H_ 5 6#include "credential.h" 7#include <Security/AuthSession.h> 8#include <bsm/audit_session.h> 9 10#if defined(__cplusplus) 11extern "C" { 12#endif 13 14AUTH_WARN_RESULT AUTH_MALLOC AUTH_NONNULL_ALL AUTH_RETURNS_RETAINED 15session_t session_create(session_id_t); 16 17AUTH_NONNULL_ALL 18bool session_update(session_t); 19 20AUTH_NONNULL_ALL 21uint64_t session_get_attributes(session_t); 22 23AUTH_NONNULL_ALL 24void session_set_attributes(session_t,uint64_t flags); 25 26AUTH_NONNULL_ALL 27void session_clear_attributes(session_t,uint64_t flags); 28 29AUTH_NONNULL_ALL 30const void * session_get_key(session_t); 31 32AUTH_NONNULL_ALL 33session_id_t session_get_id(session_t); 34 35AUTH_NONNULL_ALL 36uid_t session_get_uid(session_t); 37 38AUTH_NONNULL_ALL 39CFIndex session_add_process(session_t, process_t); 40 41AUTH_NONNULL_ALL 42CFIndex session_remove_process(session_t, process_t); 43 44AUTH_NONNULL_ALL 45CFIndex session_get_process_count(session_t); 46 47AUTH_NONNULL_ALL 48void session_set_credential(session_t,credential_t); 49 50AUTH_NONNULL_ALL 51void session_credentials_purge(session_t); 52 53AUTH_NONNULL_ALL 54bool session_credentials_iterate(session_t, credential_iterator_t iter); 55 56#if defined(__cplusplus) 57} 58#endif 59 60#endif /* !_SECURITY_AUTH_SESSION_H_ */ 61