block: ssh: Use libssh2_sftp_fsync (if supported by libssh2) to flush to disk.
[qemu/ar7.git] / tpm / tpm_backend.h
blob05d94d0f5bc7af98deb57120379615498d8dccab
1 /*
2 * common TPM backend driver functions
4 * Copyright (c) 2012-2013 IBM Corporation
5 * Authors:
6 * Stefan Berger <stefanb@us.ibm.com>
8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public
10 * License as published by the Free Software Foundation; either
11 * version 2 of the License, or (at your option) any later version.
13 * This library is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with this library; if not, see <http://www.gnu.org/licenses/>
22 #ifndef TPM_TPM_BACKEND_H
23 #define TPM_TPM_BACKEND_H
25 #include <glib.h>
27 typedef struct TPMBackendThread {
28 GThreadPool *pool;
29 } TPMBackendThread;
31 void tpm_backend_thread_deliver_request(TPMBackendThread *tbt);
32 void tpm_backend_thread_create(TPMBackendThread *tbt,
33 GFunc func, gpointer user_data);
34 void tpm_backend_thread_end(TPMBackendThread *tbt);
35 void tpm_backend_thread_tpm_reset(TPMBackendThread *tbt,
36 GFunc func, gpointer user_data);
38 typedef enum TPMBackendCmd {
39 TPM_BACKEND_CMD_INIT = 1,
40 TPM_BACKEND_CMD_PROCESS_CMD,
41 TPM_BACKEND_CMD_END,
42 TPM_BACKEND_CMD_TPM_RESET,
43 } TPMBackendCmd;
45 #endif /* TPM_TPM_BACKEND_H */