blob: 264936ce48ee5ceaecd8f4274b5b380db5b63cb0 [file] [log] [blame]
Akshay Saraswat1f9c9282013-03-20 21:00:58 +00001/*
2 * Header file for SHA hardware acceleration
3 *
4 * Copyright (c) 2012 Samsung Electronics
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 *
20 */
21#ifndef __HW_SHA_H
22#define __HW_SHA_H
23
24
25/**
26 * Computes hash value of input pbuf using h/w acceleration
27 *
28 * @param in_addr A pointer to the input buffer
29 * @param bufleni Byte length of input buffer
30 * @param out_addr A pointer to the output buffer. When complete
31 * 32 bytes are copied to pout[0]...pout[31]. Thus, a user
32 * should allocate at least 32 bytes at pOut in advance.
33 * @param chunk_size chunk size for sha256
34 */
35void hw_sha256(const uchar * in_addr, uint buflen,
36 uchar * out_addr, uint chunk_size);
37
38/**
39 * Computes hash value of input pbuf using h/w acceleration
40 *
41 * @param in_addr A pointer to the input buffer
42 * @param bufleni Byte length of input buffer
43 * @param out_addr A pointer to the output buffer. When complete
44 * 32 bytes are copied to pout[0]...pout[31]. Thus, a user
45 * should allocate at least 32 bytes at pOut in advance.
46 * @param chunk_size chunk_size for sha1
47 */
48void hw_sha1(const uchar * in_addr, uint buflen,
49 uchar * out_addr, uint chunk_size);
50#endif