⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zj_platform.h

📁 组拨技术
💻 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 + -