diff options
author | Ryan Saffores <ryan.d.saffores@intel.com> | 2015-04-27 11:56:42 -0700 |
---|---|---|
committer | Patrick Tjin <pattjin@google.com> | 2015-04-30 10:47:49 -0700 |
commit | 294646c31bc87072c1b9f3c0459c05292fbf02ed (patch) | |
tree | 7704bae167deea20f475509d86fc2174e8950dd8 | |
parent | a9def98ead34169ef97a54fc70b2213e16c6f362 (diff) | |
download | psb_headers-294646c31bc87072c1b9f3c0459c05292fbf02ed.tar.gz |
Header changes to support WV v10
Bug: 19964594
Change-Id: I2adaf8cc5f07bf06b645734dc393476da29460aa
Signed-off-by: Ryan Saffores <ryan.d.saffores@intel.com>
-rw-r--r-- | DRM/cc54/inc/wv_drm_api.h | 38 | ||||
-rw-r--r-- | DRM/cc54/inc/wv_mod_drm_api.h | 84 |
2 files changed, 91 insertions, 31 deletions
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 @@ uint32_t drm_wv_install_keybox(const uint8_t * const p_keybox, 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 @@ uint32_t drm_wv_mod_v9_generate_rsa_signature(uint32_t session_id, * @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 @@ uint32_t drm_wv_mod_delete_usage_entry(uint32_t session_id, // TODO: Documentation uint32_t drm_wv_mod_delete_usage_table(void); + /** * brief Clear session context * @@ -279,4 +295,40 @@ uint32_t drm_wv_mod_delete_usage_table(void); */ 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_ */ |