Skip to content

Commit e5697dc

Browse files
committed
1.3 add mutli_key_conn set/get data.
Signed-off-by: Jiewen Yao <[email protected]>
1 parent eccd8c5 commit e5697dc

File tree

2 files changed

+38
-0
lines changed

2 files changed

+38
-0
lines changed

include/library/spdm_common_lib.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,9 @@ typedef enum {
137137
LIBSPDM_DATA_SEQUENCE_NUMBER_ENDIAN,
138138
LIBSPDM_DATA_SESSION_SEQUENCE_NUMBER_ENDIAN,
139139

140+
LIBSPDM_DATA_MULTI_KEY_CONN_REQ,
141+
LIBSPDM_DATA_MULTI_KEY_CONN_RSP,
142+
140143
/* MAX */
141144
LIBSPDM_DATA_MAX
142145
} libspdm_data_type_t;

library/spdm_common_lib/libspdm_com_context_data.c

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -705,6 +705,25 @@ libspdm_return_t libspdm_set_data(void *spdm_context, libspdm_data_type_t data_t
705705
return LIBSPDM_STATUS_INVALID_PARAMETER;
706706
}
707707
context->sequence_number_endian = *(uint8_t *)data;
708+
break;
709+
case LIBSPDM_DATA_MULTI_KEY_CONN_REQ:
710+
if (parameter->location != LIBSPDM_DATA_LOCATION_CONNECTION) {
711+
return LIBSPDM_STATUS_INVALID_PARAMETER;
712+
}
713+
if (data_size != sizeof(bool)) {
714+
return LIBSPDM_STATUS_INVALID_PARAMETER;
715+
}
716+
context->connection_info.multi_key_conn_req = *(bool *)data;
717+
break;
718+
case LIBSPDM_DATA_MULTI_KEY_CONN_RSP:
719+
if (parameter->location != LIBSPDM_DATA_LOCATION_CONNECTION) {
720+
return LIBSPDM_STATUS_INVALID_PARAMETER;
721+
}
722+
if (data_size != sizeof(bool)) {
723+
return LIBSPDM_STATUS_INVALID_PARAMETER;
724+
}
725+
context->connection_info.multi_key_conn_rsp = *(bool *)data;
726+
break;
708727
default:
709728
return LIBSPDM_STATUS_UNSUPPORTED_CAP;
710729
break;
@@ -994,9 +1013,25 @@ libspdm_return_t libspdm_get_data(void *spdm_context, libspdm_data_type_t data_t
9941013
case LIBSPDM_DATA_SEQUENCE_NUMBER_ENDIAN:
9951014
target_data_size = sizeof(uint8_t);
9961015
target_data = &context->sequence_number_endian;
1016+
break;
9971017
case LIBSPDM_DATA_SESSION_SEQUENCE_NUMBER_ENDIAN:
9981018
target_data_size = sizeof(uint8_t);
9991019
target_data = &secured_context->sequence_number_endian;
1020+
break;
1021+
case LIBSPDM_DATA_MULTI_KEY_CONN_REQ:
1022+
if (parameter->location != LIBSPDM_DATA_LOCATION_CONNECTION) {
1023+
return LIBSPDM_STATUS_INVALID_PARAMETER;
1024+
}
1025+
target_data_size = sizeof(bool);
1026+
target_data = &context->connection_info.multi_key_conn_req;
1027+
break;
1028+
case LIBSPDM_DATA_MULTI_KEY_CONN_RSP:
1029+
if (parameter->location != LIBSPDM_DATA_LOCATION_CONNECTION) {
1030+
return LIBSPDM_STATUS_INVALID_PARAMETER;
1031+
}
1032+
target_data_size = sizeof(bool);
1033+
target_data = &context->connection_info.multi_key_conn_rsp;
1034+
break;
10001035
default:
10011036
return LIBSPDM_STATUS_UNSUPPORTED_CAP;
10021037
break;

0 commit comments

Comments
 (0)