Header changes to support WV v10

Bug: 19964594

Change-Id: I2adaf8cc5f07bf06b645734dc393476da29460aa
Signed-off-by: Ryan Saffores <ryan.d.saffores@intel.com>
diff --git a/DRM/cc54/inc/wv_drm_api.h b/DRM/cc54/inc/wv_drm_api.h
index ff14ca9..859f1cc 100644
--- a/DRM/cc54/inc/wv_drm_api.h
+++ b/DRM/cc54/inc/wv_drm_api.h
@@ -1,18 +1,18 @@
-/*
- * Copyright (C) 2014 Intel Corporation. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+/**********************************************************************
+* Copyright (C) 2011 Intel Corporation. All rights reserved.
+
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+
+* http://www.apache.org/licenses/LICENSE-2.0
+
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+**********************************************************************/
 
 /*!
  * NOTE: Don't include this file. It is recommended to include sepdrm.h
@@ -205,6 +205,14 @@
                                const uint32_t keybox_length);
 
 
+/*!
+ * @brief Erases installed Widevine keybox from secure storage
+ */
+uint32_t drm_wv_remove_keybox(void);
 
+/**
+ * @brief Temporarily loads test keybox.
+ */
+uint32_t drm_wv_load_test_keybox(void);
 
 #endif //__WV_DRM_API_H__
diff --git a/DRM/cc54/inc/wv_mod_drm_api.h b/DRM/cc54/inc/wv_mod_drm_api.h
index c255dee..dcd1320 100644
--- a/DRM/cc54/inc/wv_mod_drm_api.h
+++ b/DRM/cc54/inc/wv_mod_drm_api.h
@@ -1,18 +1,18 @@
-/*
- * Copyright (C) 2014 Intel Corporation. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+/**********************************************************************
+* Copyright (C) 2014 Intel Corporation. All rights reserved.
+
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+
+* http://www.apache.org/licenses/LICENSE-2.0
+
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+**********************************************************************/
 
 #ifndef __WV_MOD_DRM_API_H_
 #define __WV_MOD_DRM_API_H_
@@ -28,6 +28,18 @@
 #define DRM_WV_MOD_AUDIO_CONTENT_FLAG  (1 << 1)
 #define DRM_WV_MOD_SECURE_CONTENT_FLAG (1 << 2)
 
+// HDCP version values
+enum hdcp_version_type
+{
+    DRM_WV_MOD_HDCP_VERSION_ANY = 0,
+    DRM_WV_MOD_HDCP_VERSION_1_0,
+    DRM_WV_MOD_HDCP_VERSION_2_0,
+    DRM_WV_MOD_HDCP_VERSION_2_1,
+    DRM_WV_MOD_HDCP_VERSION_2_2,
+    DRM_WV_MOD_HDCP_VERSION_NONE = 0xFF
+};
+
+
 /*!
  * APIs
  */
@@ -175,9 +187,12 @@
  * @param[in,out] data_size
  *    Size of the passed-in usage_table_data, in bytes. This
  *    will always be updated to the required table size.
+ * @param[in] system_time
+ *    current system time. Time in seconds since 1970.
  */
 uint32_t drm_wv_mod_load_usage_table(const uint8_t *const usage_table_data,
-                                     uint32_t *const data_size);
+                                     uint32_t *const data_size,
+                                     uint64_t system_time);
 
 /* @brief Update usage table and return it
  *
@@ -271,6 +286,7 @@
 // TODO: Documentation
 uint32_t drm_wv_mod_delete_usage_table(void);
 
+
 /**
  * brief Clear session context
  *
@@ -279,4 +295,40 @@
  */
 uint32_t drm_wv_mod_reset_session_context(void);
 
+/**
+ * @brief Returns the maximum and current HDCP version supported by the device
+ *
+ * @param[out] current_ver
+ *   Current HDCP version supported by the device
+ * @param[out] maximum_ver
+ *   Maximum HDCP version supported by the device
+ *
+ */
+uint32_t drm_wv_mod_get_hdcp_capability(enum hdcp_version_type *const current_ver,
+                                        enum hdcp_version_type *const maximum_ver);
+
+/*! Version 10 specific APIs. */
+
+/**
+ * @brief Get current number of open sessions along with maximum number of
+ * supported sessions.
+ */
+uint32_t drm_wv_mod_get_num_sessions(uint32_t *open_sessions, uint32_t *max_sessions);
+
+/**
+ * @brief Deletes an entry from session usage table.
+ *
+ * This API is used to delete stale entries without a signed request from server.
+ */
+uint32_t drm_wv_mod_force_delete_usage_entry(const uint8_t *pst, uint32_t pst_length);
+
+/**
+ * @brief Returns the decrypted key control block for the given key_id.
+ */
+uint32_t drm_wv_mod_query_key_control(const uint32_t session_id,
+                                      const uint8_t *key_id,
+                                      uint32_t key_id_length,
+                                      uint8_t *key_control_block,
+                                      uint32_t *key_control_block_length);
+
 #endif /* __WV_MOD_DRM_API_H_ */