| /* SPDX-License-Identifier: LGPL-2.1+ WITH Linux-syscall-note */ |
| /* |
| * include/linux/amlogic/aml_key.h |
| * |
| * Copyright (C) 2017 Amlogic, Inc. All rights reserved. |
| * |
| * This program is free software; you can redistribute it and/or modify |
| * it under the terms of the GNU General Public License as published by |
| * the Free Software Foundation; either version 2 of the License, or |
| * (at your option) any later version. |
| * |
| * This program is distributed in the hope that it will be useful, but WITHOUT |
| * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
| * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for |
| * more details. |
| * |
| */ |
| |
| #ifndef _AML_KEY_H_ |
| #define _AML_KEY_H_ |
| |
| enum user_id { |
| DSC_LOC_DEC, |
| DSC_NETWORK, |
| DSC_LOC_ENC, |
| |
| CRYPTO_T0 = 0x100, |
| CRYPTO_T1 = 0x101, |
| CRYPTO_T2 = 0x102, |
| CRYPTO_T3 = 0x103, |
| CRYPTO_T4 = 0x104, |
| CRYPTO_T5 = 0x105, |
| CRYPTO_ANY = 0x106, |
| }; |
| |
| enum key_algo { |
| KEY_ALGO_AES, |
| KEY_ALGO_TDES, |
| KEY_ALGO_DES, |
| KEY_ALGO_CSA2, |
| KEY_ALGO_CSA3, |
| KEY_ALGO_NDL, |
| KEY_ALGO_ND, |
| KEY_ALGO_S17 |
| }; |
| |
| struct key_descr { |
| unsigned int key_index; |
| unsigned int key_len; |
| unsigned char key[32]; |
| }; |
| |
| struct key_config { |
| unsigned int key_index; |
| int key_userid; |
| int key_algo; |
| //cur just for s17 algo |
| unsigned int ext_value; |
| }; |
| |
| struct key_alloc { |
| int is_iv; |
| unsigned int key_index; |
| }; |
| |
| #define KEY_ALLOC _IOWR('o', 64, struct key_alloc) |
| #define KEY_FREE _IO('o', 65) |
| #define KEY_SET _IOR('o', 66, struct key_descr) |
| #define KEY_CONFIG _IOR('o', 67, struct key_config) |
| #define KEY_GET_FLAG _IOWR('o', 68, struct key_descr) |
| |
| //int dmx_key_init(void); |
| //void dmx_key_exit(void); |
| |
| #endif |
| |