-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathKNI.java
More file actions
55 lines (37 loc) · 1.81 KB
/
Copy pathKNI.java
File metadata and controls
55 lines (37 loc) · 1.81 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
// Copyright (c) 2023 Orange. All rights reserved.
// This software is distributed under the BSD 3-Clause-clear License, the text of which is available
// at https://spdx.org/licenses/BSD-3-Clause-Clear.html or see the "LICENSE" file for more details.
import com.sun.jna.Library;
import com.sun.jna.Memory;
public interface KNI extends Library
{
public final static String LIBRARY_WINDOWS_NAME_64 = "KhiopsNativeInterface.dll";
public final static String LIBRARY_LINUX_NAME = "libKhiopsNativeInterface.so";
/**
* KNI functions: see KhiopsNativeInterface.h for a detailed description
*/
int KNIGetVersion();
int KNIOpenStream(String dictionaryFileName,
String dictionaryName,
String streamHeaderLine,
char fieldSeparator);
int KNICloseStream(int hStream);
int KNIRecodeStreamRecord(int hStream,
String sStreamInputRecord,
Memory sStreamOutputRecord,
int nOutputMaxLength);
/**
* KNI functions: specific function for multi-tables schema
*/
int KNISetSecondaryHeaderLine(int hStream, String sDataPath, String sStreamSecondaryHeaderLine);
int KNISetExternalTable(int hStream, String sDataRoot, String sDataPath, String sDataTableFileName);
int KNIFinishOpeningStream(int hStream);
int KNISetSecondaryInputRecord(int hStream, String sDataPath, String sStreamSecondaryInputRecord);
/**
* KNI functions: advanced parameters
*/
int KNIGetStreamMaxMemory();
int KNISetStreamMaxMemory(int nMaxMo);
int KNISetLogFileName(String sLogFileName);
public final static int OK = 0;
}