123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521 |
- #ifndef __JHI_H__
- #define __JHI_H__
- #ifdef __cplusplus
- extern "C" {
- #endif
- #include "typedefs.h"
- #define JHI_VERSION "1.13.20161115"
- typedef PVOID JHI_HANDLE ;
- typedef UINT32 JHI_RET ;
- typedef PVOID JHI_SESSION_HANDLE;
- #define JHI_EXPORT __declspec(dllexport) JHI_RET
- #define JHI_FILE_MISSING_SRC 0x101
-
- #define JHI_FILE_ERROR_AUTH 0x102
-
- #define JHI_FILE_ERROR_DELETE 0x104
-
- #define JHI_FILE_INVALID 0x105
- #define JHI_FILE_ERROR_OPEN 0x106
- #define JHI_FILE_UUID_MISMATCH 0x107
- #define JHI_FILE_IDENTICAL 0x108
-
- #define JHI_INVALID_COMMAND 0x202
- #define JHI_ILLEGAL_VALUE 0x204
- #define JHI_COMMS_ERROR 0x300
-
- #define JHI_SERVICE_INVALID_GUID 0x302
-
- #define JHI_APPLET_TIMEOUT 0x401
-
- #define JHI_APPID_NOT_EXIST 0x402
- #define JHI_JOM_FATAL 0x403
- #define JHI_JOM_OVERFLOW 0x404
- #define JHI_JOM_ERROR_DOWNLOAD 0x405
- #define JHI_JOM_ERROR_UNLOAD 0x406
- #define JHI_ERROR_LOGGING 0x500
- #define JHI_UNKNOWN_ERROR 0x600
- #define JHI_SUCCESS 0x00
- #define JHI_INVALID_HANDLE 0x201
- #define JHI_INVALID_PARAMS 0x203
- #define JHI_INVALID_APPLET_GUID JHI_ILLEGAL_VALUE
- #define JHI_SERVICE_UNAVAILABLE 0x301
- #define JHI_ERROR_REGISTRY 0x501
- #define JHI_ERROR_REPOSITORY_NOT_FOUND 0x1000
- #define JHI_INTERNAL_ERROR 0x601
- #define JHI_INVALID_BUFFER_SIZE 0x1001
- #define JHI_INVALID_COMM_BUFFER 0x1002
- #define JHI_INVALID_INSTALL_FILE 0x1003
- #define JHI_READ_FROM_FILE_FAILED 0x1004
- #define JHI_INVALID_PACKAGE_FORMAT 0x1005
- #define JHI_FILE_ERROR_COPY 0x103
- #define JHI_INVALID_INIT_BUFFER 0x1006
- #define JHI_FILE_NOT_FOUND JHI_FILE_MISSING_SRC
- #define JHI_INVALID_FILE_EXTENSION 0x1007
- #define JHI_MAX_INSTALLED_APPLETS_REACHED JHI_JOM_OVERFLOW
- #define JHI_INSTALL_FAILURE_SESSIONS_EXISTS 0x1008
- #define JHI_INSTALL_FAILED 0x1009
- #define JHI_SVL_CHECK_FAIL 0x1040
- #define JHI_ILLEGAL_PLATFORM_ID 0x1041
- #define JHI_DELETE_FROM_REPOSITORY_FAILURE JHI_FILE_ERROR_DELETE
- #define JHI_UNINSTALL_FAILURE_SESSIONS_EXISTS 0x100A
- #define JHI_APPLET_NOT_INSTALLED JHI_APPID_NOT_EXIST
- #define JHI_MAX_SESSIONS_REACHED 0x100C
- #define JHI_SHARED_SESSION_NOT_SUPPORTED 0x100D
- #define JHI_MAX_SHARED_SESSION_REACHED 0x100E
- #define JHI_FIRMWARE_OUT_OF_RESOURCES 0x1018
- #define JHI_ONLY_SINGLE_INSTANCE_ALLOWED 0x1019
- #define JHI_OPERATION_NOT_PERMITTED 0x101A
- #define JHI_INVALID_SESSION_HANDLE 0x100F
- #define JHI_INSUFFICIENT_BUFFER 0x200
- #define JHI_APPLET_FATAL 0x400
-
- #define JHI_APPLET_BAD_STATE 0x407
- #define JHI_SESSION_NOT_REGISTERED 0x1010
- #define JHI_SESSION_ALREADY_REGSITERED 0x1011
- #define JHI_EVENTS_NOT_SUPPORTED 0x1012
- #define JHI_APPLET_PROPERTY_NOT_SUPPORTED 0x1013
- #define JHI_SPOOLER_NOT_FOUND 0x1014
- #define JHI_INVALID_SPOOLER 0x1015
- #define JHI_NO_CONNECTION_TO_FIRMWARE JHI_COMMS_ERROR
- #define JHI_VM_DLL_FILE_NOT_FOUND 0x1016
- #define JHI_VM_DLL_VERIFY_FAILED 0x1017
- #define JHI_IAC_SERVER_SESSION_EXIST 0x1020
- #define JHI_IAC_SERVER_INTERNAL_SESSIONS_EXIST 0x1021
- #define JHI_MISSING_ACCESS_CONTROL 0x1030
- #define JHI_ERROR_OEM_SIGNING_DISABLED 0x1050
- #define JHI_ERROR_SD_PUBLICKEY_HASH_FAILED 0x1051
- #define JHI_ERROR_SD_DB_NO_FREE_SLOT 0x1052
- #define JHI_ERROR_SD_TA_INSTALLATION_UNALLOWED 0x1053
- #define JHI_BUFFER_MAX 2097152
- #define MK_APPLET_VER(maj, min) ( (UINT32) \
- (maj & 0x000000FFUL) | \
- ((min << 8) & 0x0000FF00UL) & \
- (0x0000FFFFUL) )
- #define MAJOR_APPLET_VER(num) ((UINT8) (num & 0x000000FFUL))
- #define MINOR_APPLET_VER(num) ((UINT8) ((num & 0x0000FF00UL) >> 8))
- typedef enum _JHI_EVENT_DATA_TYPE
- {
- JHI_DATA_FROM_APPLET = 0,
- JHI_DATA_FROM_SERVICE = 1
- }JHI_EVENT_DATA_TYPE;
- typedef struct {
- UINT32 datalen;
- UINT8* data;
- JHI_EVENT_DATA_TYPE dataType;
- }JHI_EVENT_DATA;
- typedef void (*JHI_EventFunc)(JHI_SESSION_HANDLE SessionHandle, JHI_EVENT_DATA EventData);
- typedef enum _JHI_COMMUNICATION_TYPE
- {
- JHI_SOCKETS = 0,
- JHI_HECI = 1
- } JHI_COMMUNICATION_TYPE;
- #define VERSION_BUFFER_SIZE 50
- typedef enum _JHI_PLATFROM_ID
- {
- ME = 0,
- SEC = 1,
- CSE = 2,
- INVALID_PLATFORM_ID = -1
- } JHI_PLATFROM_ID;
- typedef enum _JHI_VM_TYPE
- {
- JHI_VM_TYPE_INVALID = -1,
- JHI_VM_TYPE_TL = 0,
- JHI_VM_TYPE_BEIHAI = 1,
- JHI_VM_TYPE_BEIHAI_V1 = 1,
- JHI_VM_TYPE_BEIHAI_V2 = 2
- } JHI_VM_TYPE;
- typedef enum _JHI_PLUGIN_TYPE
- {
- JHI_PLUGIN_TYPE_INVALID = 0,
- JHI_PLUGIN_TYPE_TL = 1,
- JHI_PLUGIN_TYPE_BEIHAI_V1 = 2,
- JHI_PLUGIN_TYPE_BEIHAI_V2 = 3
- } JHI_PLUGIN_TYPE;
- typedef struct
- {
- char jhi_version[VERSION_BUFFER_SIZE];
- char fw_version[VERSION_BUFFER_SIZE];
- JHI_COMMUNICATION_TYPE comm_type;
- JHI_PLATFROM_ID platform_id;
- JHI_VM_TYPE vm_type;
- UINT32 reserved[19];
- } JHI_VERSION_INFO;
- typedef enum _JHI_SESSION_STATE
- {
- JHI_SESSION_STATE_ACTIVE = 0,
- JHI_SESSION_STATE_NOT_EXISTS = 1
- } JHI_SESSION_STATE;
- typedef struct
- {
- JHI_SESSION_STATE state;
- UINT32 flags;
- UINT32 reserved[20];
- } JHI_SESSION_INFO;
- #define JHI_NO_FLAGS 0
- #define JHI_SHARED_SESSION 1
- typedef struct
- {
- PVOID buffer;
- UINT32 length ;
- } DATA_BUFFER ;
- typedef struct
- {
- DATA_BUFFER TxBuf [1] ;
-
-
-
-
- DATA_BUFFER RxBuf [1] ;
-
- } JVM_COMM_BUFFER ;
- JHI_EXPORT
- JHI_Initialize (
- OUT JHI_HANDLE* ppHandle,
- IN PVOID context,
- IN UINT32 flags
- ) ;
- JHI_EXPORT JHI_Deinit(IN JHI_HANDLE handle) ;
- JHI_EXPORT
- JHI_SendAndRecv2(
- IN JHI_HANDLE handle,
- IN JHI_SESSION_HANDLE SessionHandle,
- IN INT32 nCommandId,
- INOUT JVM_COMM_BUFFER* pComm,
- OUT INT32* responseCode);
- JHI_EXPORT
- JHI_Install2 (
- IN const JHI_HANDLE handle,
- IN const char* AppId,
- IN const FILECHAR* srcFile
- );
- JHI_EXPORT
- JHI_Uninstall(
- IN JHI_HANDLE handle,
- IN const char* AppId
- );
- JHI_EXPORT
- JHI_GetAppletProperty(
- IN JHI_HANDLE handle,
- IN const char* AppId,
- INOUT JVM_COMM_BUFFER* pComm
- );
- JHI_EXPORT
- JHI_CreateSession (
- IN const JHI_HANDLE handle,
- IN const char* AppId,
- IN UINT32 flags,
- IN DATA_BUFFER* initBuffer,
- OUT JHI_SESSION_HANDLE* pSessionHandle
- );
- JHI_EXPORT
- JHI_GetSessionsCount(
- IN const JHI_HANDLE handle,
- IN const char* AppId,
- OUT UINT32* SessionsCount
- );
- JHI_EXPORT
- JHI_CloseSession(
- IN const JHI_HANDLE handle,
- IN JHI_SESSION_HANDLE* pSessionHandle
- );
- JHI_EXPORT
- JHI_ForceCloseSession(
- IN const JHI_HANDLE handle,
- IN JHI_SESSION_HANDLE* pSessionHandle
- );
- JHI_EXPORT
- JHI_GetSessionInfo(
- IN const JHI_HANDLE handle,
- IN JHI_SESSION_HANDLE SessionHandle,
- OUT JHI_SESSION_INFO* SessionInfo
- );
- #ifdef __ANDROID__
- JHI_RET
- JHI_ClearSessions(
- IN const JHI_HANDLE handle,
- IN int ApplicationPid
- );
- JHI_EXPORT
- JHI_CreateSessionProcess (
- IN const JHI_HANDLE handle,
- IN const char* AppId,
- IN int SessionPid,
- IN UINT32 flags,
- IN DATA_BUFFER* initBuffer,
- OUT JHI_SESSION_HANDLE* pSessionHandle
- );
- #endif
- JHI_EXPORT
- JHI_RegisterEvents(
- IN const JHI_HANDLE handle,
- IN JHI_SESSION_HANDLE SessionHandle,
- IN JHI_EventFunc pEventFunction);
-
- JHI_EXPORT
- JHI_UnRegisterEvents(
- IN const JHI_HANDLE handle,
- IN JHI_SESSION_HANDLE SessionHandle);
- JHI_EXPORT
- JHI_GetVersionInfo (
- IN const JHI_HANDLE handle,
- OUT JHI_VERSION_INFO* pVersionInfo);
- #ifdef __cplusplus
- };
- #endif
- #endif
|