Salmon
Loading...
Searching...
No Matches
libs
src
c
salmon
include
salmon.h
Go to the documentation of this file.
1
/*
2
MIT License
3
4
Copyright (c) 2021 Max Kas
5
6
Permission is hereby granted, free of charge, to any person obtaining a copy
7
of this software and associated documentation files (the "Software"), to deal
8
in the Software without restriction, including without limitation the rights
9
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
copies of the Software, and to permit persons to whom the Software is
11
furnished to do so, subject to the following conditions:
12
13
The above copyright notice and this permission notice shall be included in all
14
copies or substantial portions of the Software.
15
16
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
SOFTWARE.
23
*/
24
29
#ifndef _SALMON_H
30
#define _SALMON_H
31
32
#include <stdio.h>
33
#include <stdbool.h>
34
#include <string.h>
35
#include <string.h>
36
#include <time.h>
37
#include <math.h>
38
40
#define AES_IMPL_AES_INTR 1
42
#define AES_IMPL_AES 2
44
#define AES_IMPL_AES_GPU 3
45
46
#ifdef __ANDROID__
47
#include <android/log.h>
48
#define printf(...) __android_log_print(ANDROID_LOG_VERBOSE, "salmon", __VA_ARGS__)
49
#endif
50
51
// if you need to use JNI's critical buffer retrieval
52
#ifdef USE_PRIMITVE_ARR_CRITICAL
53
#define GetJavaArray GetPrimitiveArrayCritical
54
#define ReleaseJavaArray ReleasePrimitiveArrayCritical
55
#else
56
// default is not to block the JNI
57
#define GetJavaArray GetByteArrayElements
58
#define ReleaseJavaArray ReleaseByteArrayElements
59
#endif
60
61
#if defined(_MSC_VER)
62
#define EXPORT_DLL __declspec(dllexport)
63
#else
64
#define EXPORT_DLL
65
#endif
66
72
extern
EXPORT_DLL
void
salmon_init
(
int
aesImplType);
73
79
extern
EXPORT_DLL
void
salmon_expandKey
(
const
unsigned
char
* key,
unsigned
char
* expandedKey);
80
92
extern
EXPORT_DLL
int
salmon_transform
(
93
const
unsigned
char
* expandedKey,
unsigned
char
* counter,
94
const
unsigned
char
*srcBuffer,
int
srcOffset,
95
unsigned
char
*destBuffer,
int
destOffset,
int
count);
96
97
#endif
salmon_init
EXPORT_DLL void salmon_init(int aesImplType)
salmon_transform
EXPORT_DLL int salmon_transform(const unsigned char *expandedKey, unsigned char *counter, const unsigned char *srcBuffer, int srcOffset, unsigned char *destBuffer, int destOffset, int count)
salmon_expandKey
EXPORT_DLL void salmon_expandKey(const unsigned char *key, unsigned char *expandedKey)
Generated by
1.12.0