17ec681f3Smrg/**************************************************************************
27ec681f3Smrg *
37ec681f3Smrg * Copyright 2020 Advanced Micro Devices, Inc.
47ec681f3Smrg * All Rights Reserved.
57ec681f3Smrg *
67ec681f3Smrg * Permission is hereby granted, free of charge, to any person obtaining a
77ec681f3Smrg * copy of this software and associated documentation files (the
87ec681f3Smrg * "Software"), to deal in the Software without restriction, including
97ec681f3Smrg * without limitation the rights to use, copy, modify, merge, publish,
107ec681f3Smrg * distribute, sub license, and/or sell copies of the Software, and to
117ec681f3Smrg * permit persons to whom the Software is furnished to do so, subject to
127ec681f3Smrg * the following conditions:
137ec681f3Smrg *
147ec681f3Smrg * The above copyright notice and this permission notice (including the
157ec681f3Smrg * next paragraph) shall be included in all copies or substantial portions
167ec681f3Smrg * of the Software.
177ec681f3Smrg *
187ec681f3Smrg * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
197ec681f3Smrg * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
207ec681f3Smrg * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
217ec681f3Smrg * IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR
227ec681f3Smrg * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
237ec681f3Smrg * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
247ec681f3Smrg * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
257ec681f3Smrg *
267ec681f3Smrg **************************************************************************/
277ec681f3Smrg#ifndef _PSP_DECRYPTION_PARAM_H_
287ec681f3Smrg#define _PSP_DECRYPTION_PARAM_H_
297ec681f3Smrg
307ec681f3Smrgtypedef struct _DECRYPT_PARAMETERS_
317ec681f3Smrg{
327ec681f3Smrg   uint32_t                frame_size;         // Size of encrypted frame
337ec681f3Smrg   uint8_t                 encrypted_iv[16];   // IV of the encrypted frame (clear)
347ec681f3Smrg   uint8_t                 encrypted_key[16];  // key to decrypt encrypted frame (encrypted with session key)
357ec681f3Smrg   uint8_t                 session_iv[16];     // IV to be used to decrypt encrypted_key
367ec681f3Smrg
377ec681f3Smrg   union
387ec681f3Smrg   {
397ec681f3Smrg      struct
407ec681f3Smrg      {
417ec681f3Smrg         uint32_t    drm_id   : 4;	//DRM session ID
427ec681f3Smrg         uint32_t    ctr      : 1;
437ec681f3Smrg         uint32_t    cbc      : 1;
447ec681f3Smrg         uint32_t    reserved : 26;
457ec681f3Smrg      } s;
467ec681f3Smrg      uint32_t        value;
477ec681f3Smrg   } u;
487ec681f3Smrg} DECRYPT_PARAMETERS;
497ec681f3Smrg
507ec681f3Smrg#endif //_PSP_DECRYPTION_PARAM_H_
51