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