📄 zj_platform.h
字号:
/************************************************************************
* filename: ZJ_platform.h
* created: 2007.05.15
* Function: This is a head file for interface between ZJ module and platform.
* version: 0.8.5.0
************************************************************************/
#ifndef _ZJ_PLATFORM_H
#define _ZJ_PLATFORM_H
#include "ZJ_datapublic.h"
#ifdef __cplusplus
extern "C" {
#endif
/************************************************************************
* 接收终端实现接口定义
* 以下接口由移植平台系统实现,并提供给紫荆模块调用
************************************************************************/
/* 系统接口部分 */
ZJRESULT zjthread_create(zjthread_t * thread, zjthread_attr_t * attr, void * (*start_routine)(void *), void * arg);
ZJRESULT zjthread_mutex_init (zjthread_mutex_t *mutex, const zjthread_mutexattr_t *mutexattr);
ZJRESULT zjthread_mutex_destroy (zjthread_mutex_t *mutex);
ZJRESULT zjthread_mutex_lock (zjthread_mutex_t *mutex);
ZJRESULT zjthread_mutex_unlock (zjthread_mutex_t *mutex);
ZJRESULT zjthread_mutex_trylock (zjthread_mutex_t *mutex);
ZJRESULT zjthread_semaphore_init (zjthread_semaphore_t * semaphore, const zjthread_semaphoreattr_t * semaphoreattr);
ZJRESULT zjthread_semaphore_destory (zjthread_semaphore_t * semaphore);
ZJRESULT zjthread_semaphore_post(zjthread_semaphore_t * semaphore);
ZJRESULT zjthread_semaphore_timedwait(zjthread_semaphore_t * semaphore, long time);
void * zj_malloc(size_t size);
void zj_free(void *memblock);
ZJRESULT zj_Z2T_GetSystemTime(LPSYSTEMTIME pCurTime);
/* I2C操作接口 */
ZJRESULT zj_I2C_Read(unsigned char devaddr, unsigned char subaddr, unsigned char * data, long len);
ZJRESULT zj_I2C_Write(unsigned char devaddr, unsigned char subaddr, unsigned char * data, long len);
ZJRESULT zj_I2C_SetClockFreq(unsigned short freq);
/************************************************************************
* 数据获取
************************************************************************/
ZJRESULT zj_Z2T_SetRetrieveFilter(unsigned long requestId, ZJStreamFilter filter);
ZJRESULT zj_Z2T_StopRetrieve(unsigned long requestId );
ZJRESULT zj_Z2T_TuneTo(unsigned long frequency);
/************************************************************************
* 文件操作
************************************************************************/
ZJRESULT zj_IO_GetFileList(unsigned short * number, unsigned char * data, unsigned long * len);
ZJRESULT zj_IO_GetFreeSpace(unsigned long * space);
ZJRESULT zj_IO_Open(const char *filename, const char *mode, FILE * file);
ZJRESULT zj_IO_Read(zjfile_t* file, void *buffer, unsigned long *count);
ZJRESULT zj_IO_Write(zjfile_t* file, void *buffer, unsigned long count);
ZJRESULT zj_IO_Seek(zjfile_t* file, long offset, short origin);
ZJRESULT zj_IO_Tell(zjfile_t* file, long * position);
ZJRESULT zj_IO_Flush(zjfile_t* file);
ZJRESULT zj_IO_Close(zjfile_t* file);
ZJRESULT zj_IO_Exist(char * filename);
ZJRESULT zj_IO_Delete(char * filename);
ZJRESULT zj_IO_Rename(char * filename, char * newfilename);
ZJRESULT zj_IO_GetAttribute(char * filename, ZJFileAttribute * attribute);
/* 加密模块接口调用 */
ZJRESULT zjca_CA2T_ShowMsg(const char* sMsg,unsigned short nDura,ZJCA_OSD_CANCEL_TYPE byCancel);
ZJRESULT zjca_CA2T_HideMsg (void);
ZJRESULT zjca_CA2T_NotifyEmail (ZJCA_EMAIL_NOTIFY_TYPE nShowType);
ZJRESULT zjca_CA2T_GetStoreBufferAddr(long * pSize, char ** vStartAddr);
ZJRESULT zjca_CA2T_GetStoredData(const char * pStartAddr, long * pDataLen, unsigned char* pData);
ZJRESULT zjca_CA2T_StoreData(const char * pStartAddr, long * pDataLen, const unsigned char* pData);
ZJRESULT zjca_CA2T_GetTerminalInfo(ZJCATerminalInfo* termInfo);
ZJRESULT zjca_CA2T_ShowDebugMsg (const char* sMsg);
ZJRESULT zjca_CA2T_APDUCommand(long* pbyLen, const unsigned char* sCommand, unsigned char sReply[256]);
ZJRESULT zjca_CA2T_CardReset(unsigned char *cOut, long *Olen);
#ifdef __cplusplus
}
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -