xref: /aosp_15_r20/external/tpm2-tss/src/tss2-tcti/tcti-mssim.h (revision 758e9fba6fc9adbf15340f70c73baee7b168b1c9)
1*758e9fbaSOystein Eftevaag /* SPDX-License-Identifier: BSD-2-Clause */
2*758e9fbaSOystein Eftevaag /*
3*758e9fbaSOystein Eftevaag  * Copyright (c) 2018 Intel Corporation
4*758e9fbaSOystein Eftevaag  * All rights reserved.
5*758e9fbaSOystein Eftevaag  */
6*758e9fbaSOystein Eftevaag 
7*758e9fbaSOystein Eftevaag #ifndef TCTI_MSSIM_H
8*758e9fbaSOystein Eftevaag #define TCTI_MSSIM_H
9*758e9fbaSOystein Eftevaag 
10*758e9fbaSOystein Eftevaag #include <limits.h>
11*758e9fbaSOystein Eftevaag 
12*758e9fbaSOystein Eftevaag #include "tcti-common.h"
13*758e9fbaSOystein Eftevaag #include "util/io.h"
14*758e9fbaSOystein Eftevaag 
15*758e9fbaSOystein Eftevaag /*
16*758e9fbaSOystein Eftevaag  * longest possible conf string:
17*758e9fbaSOystein Eftevaag  * HOST_NAME_MAX + max char uint16 (5) + strlen ("host=,port=") (11)
18*758e9fbaSOystein Eftevaag  */
19*758e9fbaSOystein Eftevaag #define TCTI_MSSIM_CONF_MAX (_HOST_NAME_MAX + 16)
20*758e9fbaSOystein Eftevaag #define TCTI_MSSIM_DEFAULT_HOST "localhost"
21*758e9fbaSOystein Eftevaag #define TCTI_MSSIM_DEFAULT_PORT 2321
22*758e9fbaSOystein Eftevaag #define MSSIM_CONF_DEFAULT_INIT { \
23*758e9fbaSOystein Eftevaag     .host = TCTI_MSSIM_DEFAULT_HOST, \
24*758e9fbaSOystein Eftevaag     .port = TCTI_MSSIM_DEFAULT_PORT, \
25*758e9fbaSOystein Eftevaag }
26*758e9fbaSOystein Eftevaag 
27*758e9fbaSOystein Eftevaag #define TCTI_MSSIM_MAGIC 0xf05b04cd9f02728dULL
28*758e9fbaSOystein Eftevaag 
29*758e9fbaSOystein Eftevaag typedef struct {
30*758e9fbaSOystein Eftevaag     char *host;
31*758e9fbaSOystein Eftevaag     uint16_t port;
32*758e9fbaSOystein Eftevaag } mssim_conf_t;
33*758e9fbaSOystein Eftevaag 
34*758e9fbaSOystein Eftevaag typedef struct {
35*758e9fbaSOystein Eftevaag     TSS2_TCTI_COMMON_CONTEXT common;
36*758e9fbaSOystein Eftevaag     SOCKET platform_sock;
37*758e9fbaSOystein Eftevaag     SOCKET tpm_sock;
38*758e9fbaSOystein Eftevaag /* Flag indicating if a command has been cancelled.
39*758e9fbaSOystein Eftevaag  * This is a temporary flag, which will be changed into
40*758e9fbaSOystein Eftevaag  * a tcti state when support for asynch operation will be added */
41*758e9fbaSOystein Eftevaag     bool cancel;
42*758e9fbaSOystein Eftevaag } TSS2_TCTI_MSSIM_CONTEXT;
43*758e9fbaSOystein Eftevaag 
44*758e9fbaSOystein Eftevaag #endif /* TCTI_MSSIM_H */
45