]> git.saurik.com Git - apple/security.git/blobdiff - authd/authdb.h
Security-55471.tar.gz
[apple/security.git] / authd / authdb.h
diff --git a/authd/authdb.h b/authd/authdb.h
new file mode 100644 (file)
index 0000000..b1eb9ed
--- /dev/null
@@ -0,0 +1,72 @@
+/* Copyright (c) 2012 Apple Inc. All rights reserved. */
+
+#ifndef _SECURITY_AUTH_AUTHDB_H_
+#define _SECURITY_AUTH_AUTHDB_H_
+
+#include <sqlite3.h>
+#include <CoreFoundation/CoreFoundation.h>
+
+enum {
+    AuthDBTransactionNone = 0,
+    AuthDBTransactionImmediate,
+    AuthDBTransactionExclusive,
+    AuthDBTransactionNormal
+};
+typedef uint32_t AuthDBTransactionType;
+
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
+#pragma mark -
+#pragma mark authdb_t
+    
+typedef bool (^authdb_iterator_t)(auth_items_t data);
+    
+AUTH_WARN_RESULT AUTH_NONNULL_ALL
+char * authdb_copy_sql_string(sqlite3_stmt*,int32_t);
+
+AUTH_WARN_RESULT AUTH_MALLOC AUTH_RETURNS_RETAINED
+authdb_t authdb_create(void);
+
+AUTH_WARN_RESULT AUTH_NONNULL_ALL
+authdb_connection_t authdb_connection_acquire(authdb_t);
+
+AUTH_NONNULL_ALL
+void authdb_connection_release(authdb_connection_t*);
+    
+AUTH_NONNULL_ALL
+bool authdb_maintenance(authdb_connection_t);
+        
+AUTH_NONNULL_ALL
+int32_t authdb_exec(authdb_connection_t, const char *);
+
+AUTH_NONNULL_ALL    
+bool authdb_transaction(authdb_connection_t, AuthDBTransactionType, bool (^t)(void));
+    
+AUTH_NONNULL1 AUTH_NONNULL2 AUTH_NONNULL3
+bool authdb_step(authdb_connection_t, const char * sql, void (^bind_stmt)(sqlite3_stmt* stmt), authdb_iterator_t iter);
+
+AUTH_NONNULL_ALL    
+int32_t authdb_get_key_value(authdb_connection_t, const char * table, auth_items_t * out_items);
+
+AUTH_NONNULL_ALL    
+int32_t authdb_set_key_value(authdb_connection_t, const char * table, auth_items_t items);
+    
+AUTH_NONNULL_ALL
+void authdb_checkpoint(authdb_connection_t);
+
+AUTH_NONNULL_ALL
+bool authdb_import_plist(authdb_connection_t,CFDictionaryRef,bool);
+    
+#pragma mark -
+#pragma mark authdb_connection_t
+    
+AUTH_NONNULL_ALL
+authdb_connection_t authdb_connection_create(authdb_t);
+    
+#if defined(__cplusplus)
+}
+#endif
+
+#endif /* !_SECURITY_AUTH_AUTHDB_H_ */