diff --git a/src/dsp/file.c b/src/dsp/file.c
index d9c2a21..05dba3b 100644
--- a/src/dsp/file.c
+++ b/src/dsp/file.c
@@ -77,3 +77,52 @@
 
 	return pldm_msgbuf_complete_consumed(buf);
 }
+
+LIBPLDM_ABI_TESTING
+int encode_pldm_file_df_close_req(uint8_t instance_id,
+				  const struct pldm_file_df_close_req *req,
+				  struct pldm_msg *msg, size_t payload_length)
+{
+	PLDM_MSGBUF_DEFINE_P(buf);
+	int rc;
+
+	if (!req || !msg) {
+		return -EINVAL;
+	}
+
+	struct pldm_header_info header = { 0 };
+	header.instance = instance_id;
+	header.msg_type = PLDM_REQUEST;
+	header.pldm_type = PLDM_FILE;
+	header.command = PLDM_FILE_CMD_DF_CLOSE;
+
+	rc = pack_pldm_header_errno(&header, &(msg->hdr));
+	if (rc) {
+		return rc;
+	}
+
+	rc = pldm_msgbuf_init_errno(buf, PLDM_DF_CLOSE_REQ_BYTES, msg->payload,
+				    payload_length);
+	if (rc) {
+		return rc;
+	}
+
+	pldm_msgbuf_insert(buf, req->file_descriptor);
+	pldm_msgbuf_insert(buf, req->df_close_options.value);
+
+	return pldm_msgbuf_complete(buf);
+}
+
+LIBPLDM_ABI_TESTING
+int decode_pldm_file_df_close_resp(const struct pldm_msg *msg,
+				   size_t payload_length,
+				   struct pldm_file_df_close_resp *resp)
+{
+	if (!msg || !resp) {
+		return -EINVAL;
+	}
+
+	resp->completion_code = pldm_msg_has_error(msg, payload_length);
+
+	return 0;
+}
