@@ -68,8 +68,10 @@ struct MemRegisterAddr { | |||||
u64 addr; | u64 addr; | ||||
u64 length; | u64 length; | ||||
}; | }; | ||||
const u32 HCCL_MAX_MEM_REGISTER_NUM = 8; // The max number of memory register address. | |||||
/* | |||||
* @brief The max number of memory register address for remote access. | |||||
*/ | |||||
const u32 HCCL_MAX_MEM_REGISTER_NUM = 32; | |||||
enum GradSplitForceMode { | enum GradSplitForceMode { | ||||
FORCE_NONE, /**< no force */ | FORCE_NONE, /**< no force */ | ||||
@@ -26,6 +26,12 @@ | |||||
#define _GNU_SOURCE | #define _GNU_SOURCE | ||||
#endif | #endif | ||||
#ifdef FUNC_VISIBILITY | |||||
#define MMPA_FUNC_VISIBILITY __attribute__((visibility("default"))) | |||||
#else | |||||
#define MMPA_FUNC_VISIBILITY | |||||
#endif | |||||
#include <string.h> | #include <string.h> | ||||
#include <stdio.h> | #include <stdio.h> | ||||
#include <errno.h> | #include <errno.h> | ||||
@@ -86,6 +92,13 @@ | |||||
#if(OS_TYPE == WIN) //lint !e553 | #if(OS_TYPE == WIN) //lint !e553 | ||||
#ifdef FUNC_VISIBILITY | |||||
#define MMPA_FUNC_VISIBILITY _declspec(dllexport) | |||||
#else | |||||
#define MMPA_FUNC_VISIBILITY | |||||
#endif | |||||
#include <winsock2.h> | #include <winsock2.h> | ||||
#include <winsock.h> | #include <winsock.h> | ||||
#include "Windows.h" | #include "Windows.h" | ||||
@@ -44,12 +44,16 @@ typedef VOID *mmExitCode; | |||||
typedef key_t mmKey_t; | typedef key_t mmKey_t; | ||||
typedef int mmMsgid; | typedef int mmMsgid; | ||||
typedef struct dirent mmDirent; | typedef struct dirent mmDirent; | ||||
typedef struct dirent mmDirent2; | |||||
typedef struct shmid_ds mmshmId_ds; | typedef struct shmid_ds mmshmId_ds; | ||||
typedef int (*mmFilter)(const mmDirent *entry); | typedef int (*mmFilter)(const mmDirent *entry); | ||||
typedef int (*mmFilter2)(const mmDirent2 *entry); | |||||
typedef int (*mmSort)(const mmDirent **a, const mmDirent **b); | typedef int (*mmSort)(const mmDirent **a, const mmDirent **b); | ||||
typedef int (*mmSort2)(const mmDirent2 **a, const mmDirent2 **b); | |||||
typedef size_t mmSize_t; | typedef size_t mmSize_t; | ||||
typedef off_t mmOfft_t; | typedef off_t mmOfft_t; | ||||
typedef pid_t mmPid_t; | typedef pid_t mmPid_t; | ||||
typedef long MM_LONG; | |||||
typedef VOID *(*userProcFunc)(VOID *pulArg); | typedef VOID *(*userProcFunc)(VOID *pulArg); | ||||
@@ -113,6 +117,7 @@ typedef struct { | |||||
} mmIoctlBuf; | } mmIoctlBuf; | ||||
typedef int mmAtomicType; | typedef int mmAtomicType; | ||||
typedef int mmAtomicType64; | |||||
typedef enum { | typedef enum { | ||||
pollTypeRead = 1, // pipe read | pollTypeRead = 1, // pipe read | ||||
@@ -151,8 +156,8 @@ typedef struct { | |||||
} mmTimeval; | } mmTimeval; | ||||
typedef struct { | typedef struct { | ||||
LONG tv_sec; | |||||
LONG tv_nsec; | |||||
MM_LONG tv_sec; | |||||
MM_LONG tv_nsec; | |||||
} mmTimespec; | } mmTimespec; | ||||
typedef struct { | typedef struct { | ||||
@@ -272,6 +277,9 @@ typedef struct { | |||||
#define M_R_OK R_OK | #define M_R_OK R_OK | ||||
#define M_W_OK W_OK | #define M_W_OK W_OK | ||||
#define MM_DT_DIR DT_DIR | |||||
#define MM_DT_REG DT_REG | |||||
#define MMPA_STDIN STDIN_FILENO | #define MMPA_STDIN STDIN_FILENO | ||||
#define MMPA_STDOUT STDOUT_FILENO | #define MMPA_STDOUT STDOUT_FILENO | ||||
#define MMPA_STDERR STDERR_FILENO | #define MMPA_STDERR STDERR_FILENO | ||||
@@ -283,182 +291,195 @@ typedef struct { | |||||
#define MMPA_DL_EXT_NAME ".so" | #define MMPA_DL_EXT_NAME ".so" | ||||
extern INT32 mmCreateTask(mmThread *threadHandle, mmUserBlock_t *funcBlock); | |||||
extern INT32 mmJoinTask(mmThread *threadHandle); | |||||
extern INT32 mmMutexInit(mmMutex_t *mutex); | |||||
extern INT32 mmMutexLock(mmMutex_t *mutex); | |||||
extern INT32 mmMutexTryLock(mmMutex_t *mutex); | |||||
extern INT32 mmMutexUnLock(mmMutex_t *mutex); | |||||
extern INT32 mmMutexDestroy(mmMutex_t *mutex); | |||||
extern INT32 mmCondInit(mmCond *cond); | |||||
extern INT32 mmCondLockInit(mmMutexFC *mutex); | |||||
extern INT32 mmCondLock(mmMutexFC *mutex); | |||||
extern INT32 mmCondUnLock(mmMutexFC *mutex); | |||||
extern INT32 mmCondLockDestroy(mmMutexFC *mutex); | |||||
extern INT32 mmRWLockInit(mmRWLock_t *rwLock); | |||||
extern INT32 mmRWLockRDLock(mmRWLock_t *rwLock); | |||||
extern INT32 mmRWLockTryRDLock(mmRWLock_t *rwLock); | |||||
extern INT32 mmRWLockWRLock(mmRWLock_t *rwLock); | |||||
extern INT32 mmRWLockTryWRLock(mmRWLock_t *rwLock); | |||||
extern INT32 mmRDLockUnLock(mmRWLock_t *rwLock); | |||||
extern INT32 mmWRLockUnLock(mmRWLock_t *rwLock); | |||||
extern INT32 mmRWLockDestroy(mmRWLock_t *rwLock); | |||||
extern INT32 mmCondWait(mmCond *cond, mmMutexFC *mutex); | |||||
extern INT32 mmCondTimedWait(mmCond *cond, mmMutexFC *mutex, UINT32 milliSecond); | |||||
extern INT32 mmCondNotify(mmCond *cond); | |||||
extern INT32 mmCondNotifyAll(mmCond *cond); | |||||
extern INT32 mmCondDestroy(mmCond *cond); | |||||
extern INT32 mmGetPid(); | |||||
extern INT32 mmGetTid(); | |||||
extern INT32 mmGetPidHandle(mmProcess *processHandle); | |||||
extern INT32 mmGetLocalTime(mmSystemTime_t *sysTime); | |||||
extern INT32 mmGetSystemTime(mmSystemTime_t *sysTime); | |||||
extern INT32 mmSemInit(mmSem_t *sem, UINT32 value); | |||||
extern INT32 mmSemWait(mmSem_t *sem); | |||||
extern INT32 mmSemPost(mmSem_t *sem); | |||||
extern INT32 mmSemDestroy(mmSem_t *sem); | |||||
extern INT32 mmOpen(const CHAR *pathName, INT32 flags); | |||||
extern INT32 mmOpen2(const CHAR *pathName, INT32 flags, MODE mode); | |||||
extern FILE *mmPopen(CHAR *command, CHAR *type); | |||||
extern INT32 mmClose(INT32 fd); | |||||
extern INT32 mmPclose(FILE *stream); | |||||
extern mmSsize_t mmWrite(INT32 fd, VOID *buf, UINT32 bufLen); | |||||
extern mmSsize_t mmRead(INT32 fd, VOID *buf, UINT32 bufLen); | |||||
extern mmSockHandle mmSocket(INT32 sockFamily, INT32 type, INT32 protocol); | |||||
extern INT32 mmBind(mmSockHandle sockFd, mmSockAddr *addr, mmSocklen_t addrLen); | |||||
extern INT32 mmListen(mmSockHandle sockFd, INT32 backLog); | |||||
extern mmSockHandle mmAccept(mmSockHandle sockFd, mmSockAddr *addr, mmSocklen_t *addrLen); | |||||
extern INT32 mmConnect(mmSockHandle sockFd, mmSockAddr *addr, mmSocklen_t addrLen); | |||||
extern INT32 mmCloseSocket(mmSockHandle sockFd); | |||||
extern mmSsize_t mmSocketSend(mmSockHandle sockFd, VOID *sendBuf, INT32 sendLen, INT32 sendFlag); | |||||
extern mmSsize_t mmSocketRecv(mmSockHandle sockFd, VOID *recvBuf, INT32 recvLen, INT32 recvFlag); | |||||
extern INT32 mmSocketSendTo(mmSockHandle sockFd, | |||||
MMPA_FUNC_VISIBILITY INT32 mmCreateTask(mmThread *threadHandle, mmUserBlock_t *funcBlock); | |||||
MMPA_FUNC_VISIBILITY INT32 mmJoinTask(mmThread *threadHandle); | |||||
MMPA_FUNC_VISIBILITY INT32 mmMutexInit(mmMutex_t *mutex); | |||||
MMPA_FUNC_VISIBILITY INT32 mmMutexLock(mmMutex_t *mutex); | |||||
MMPA_FUNC_VISIBILITY INT32 mmMutexTryLock(mmMutex_t *mutex); | |||||
MMPA_FUNC_VISIBILITY INT32 mmMutexUnLock(mmMutex_t *mutex); | |||||
MMPA_FUNC_VISIBILITY INT32 mmMutexDestroy(mmMutex_t *mutex); | |||||
MMPA_FUNC_VISIBILITY INT32 mmCondInit(mmCond *cond); | |||||
MMPA_FUNC_VISIBILITY INT32 mmCondLockInit(mmMutexFC *mutex); | |||||
MMPA_FUNC_VISIBILITY INT32 mmCondLock(mmMutexFC *mutex); | |||||
MMPA_FUNC_VISIBILITY INT32 mmCondUnLock(mmMutexFC *mutex); | |||||
MMPA_FUNC_VISIBILITY INT32 mmCondLockDestroy(mmMutexFC *mutex); | |||||
MMPA_FUNC_VISIBILITY INT32 mmRWLockInit(mmRWLock_t *rwLock); | |||||
MMPA_FUNC_VISIBILITY INT32 mmRWLockRDLock(mmRWLock_t *rwLock); | |||||
MMPA_FUNC_VISIBILITY INT32 mmRWLockTryRDLock(mmRWLock_t *rwLock); | |||||
MMPA_FUNC_VISIBILITY INT32 mmRWLockWRLock(mmRWLock_t *rwLock); | |||||
MMPA_FUNC_VISIBILITY INT32 mmRWLockTryWRLock(mmRWLock_t *rwLock); | |||||
MMPA_FUNC_VISIBILITY INT32 mmRDLockUnLock(mmRWLock_t *rwLock); | |||||
MMPA_FUNC_VISIBILITY INT32 mmWRLockUnLock(mmRWLock_t *rwLock); | |||||
MMPA_FUNC_VISIBILITY INT32 mmRWLockDestroy(mmRWLock_t *rwLock); | |||||
MMPA_FUNC_VISIBILITY INT32 mmCondWait(mmCond *cond, mmMutexFC *mutex); | |||||
MMPA_FUNC_VISIBILITY INT32 mmCondTimedWait(mmCond *cond, mmMutexFC *mutex, UINT32 milliSecond); | |||||
MMPA_FUNC_VISIBILITY INT32 mmCondNotify(mmCond *cond); | |||||
MMPA_FUNC_VISIBILITY INT32 mmCondNotifyAll(mmCond *cond); | |||||
MMPA_FUNC_VISIBILITY INT32 mmCondDestroy(mmCond *cond); | |||||
MMPA_FUNC_VISIBILITY INT32 mmGetPid(); | |||||
MMPA_FUNC_VISIBILITY INT32 mmGetTid(); | |||||
MMPA_FUNC_VISIBILITY INT32 mmGetPidHandle(mmProcess *processHandle); | |||||
MMPA_FUNC_VISIBILITY INT32 mmGetLocalTime(mmSystemTime_t *sysTime); | |||||
MMPA_FUNC_VISIBILITY INT32 mmGetSystemTime(mmSystemTime_t *sysTime); | |||||
MMPA_FUNC_VISIBILITY INT32 mmSemInit(mmSem_t *sem, UINT32 value); | |||||
MMPA_FUNC_VISIBILITY INT32 mmSemWait(mmSem_t *sem); | |||||
MMPA_FUNC_VISIBILITY INT32 mmSemPost(mmSem_t *sem); | |||||
MMPA_FUNC_VISIBILITY INT32 mmSemDestroy(mmSem_t *sem); | |||||
MMPA_FUNC_VISIBILITY INT32 mmOpen(const CHAR *pathName, INT32 flags); | |||||
MMPA_FUNC_VISIBILITY INT32 mmOpen2(const CHAR *pathName, INT32 flags, MODE mode); | |||||
MMPA_FUNC_VISIBILITY FILE *mmPopen(CHAR *command, CHAR *type); | |||||
MMPA_FUNC_VISIBILITY INT32 mmClose(INT32 fd); | |||||
MMPA_FUNC_VISIBILITY INT32 mmPclose(FILE *stream); | |||||
MMPA_FUNC_VISIBILITY mmSsize_t mmWrite(INT32 fd, VOID *buf, UINT32 bufLen); | |||||
MMPA_FUNC_VISIBILITY mmSsize_t mmRead(INT32 fd, VOID *buf, UINT32 bufLen); | |||||
MMPA_FUNC_VISIBILITY mmSockHandle mmSocket(INT32 sockFamily, INT32 type, INT32 protocol); | |||||
MMPA_FUNC_VISIBILITY INT32 mmBind(mmSockHandle sockFd, mmSockAddr *addr, mmSocklen_t addrLen); | |||||
MMPA_FUNC_VISIBILITY INT32 mmListen(mmSockHandle sockFd, INT32 backLog); | |||||
MMPA_FUNC_VISIBILITY mmSockHandle mmAccept(mmSockHandle sockFd, mmSockAddr *addr, mmSocklen_t *addrLen); | |||||
MMPA_FUNC_VISIBILITY INT32 mmConnect(mmSockHandle sockFd, mmSockAddr *addr, mmSocklen_t addrLen); | |||||
MMPA_FUNC_VISIBILITY INT32 mmCloseSocket(mmSockHandle sockFd); | |||||
MMPA_FUNC_VISIBILITY mmSsize_t mmSocketSend(mmSockHandle sockFd, VOID *sendBuf, INT32 sendLen, INT32 sendFlag); | |||||
MMPA_FUNC_VISIBILITY mmSsize_t mmSocketRecv(mmSockHandle sockFd, VOID *recvBuf, INT32 recvLen, INT32 recvFlag); | |||||
MMPA_FUNC_VISIBILITY INT32 mmSocketSendTo(mmSockHandle sockFd, | |||||
VOID *sendMsg, | VOID *sendMsg, | ||||
INT32 sendLen, | INT32 sendLen, | ||||
UINT32 sendFlag, | UINT32 sendFlag, | ||||
const mmSockAddr* addr, | const mmSockAddr* addr, | ||||
INT32 tolen); | INT32 tolen); | ||||
extern mmSsize_t mmSocketRecvFrom(mmSockHandle sockFd, | |||||
MMPA_FUNC_VISIBILITY mmSsize_t mmSocketRecvFrom(mmSockHandle sockFd, | |||||
VOID *recvBuf, | VOID *recvBuf, | ||||
mmSize recvLen, | mmSize recvLen, | ||||
UINT32 recvFlag, | UINT32 recvFlag, | ||||
mmSockAddr* addr, | mmSockAddr* addr, | ||||
mmSocklen_t *FromLen); | mmSocklen_t *FromLen); | ||||
extern INT32 mmSAStartup(); | |||||
extern INT32 mmSACleanup(); | |||||
extern VOID *mmDlopen(const CHAR *fileName, INT32 mode); | |||||
extern INT32 mmDladdr(VOID *addr, mmDlInfo *info); | |||||
extern VOID *mmDlsym(VOID *handle, CHAR *funcName); | |||||
extern INT32 mmDlclose(VOID *handle); | |||||
extern CHAR *mmDlerror(); | |||||
extern INT32 mmCreateAndSetTimer(mmTimer *timerHandle, mmUserBlock_t *timerBlock, UINT milliSecond, UINT period); | |||||
extern INT32 mmDeleteTimer(mmTimer timerHandle); | |||||
extern INT32 mmStatGet(const CHAR *path, mmStat_t *buffer); | |||||
extern INT32 mmStat64Get(const CHAR *path, mmStat64_t *buffer); | |||||
extern INT32 mmFStatGet(INT32 fd, mmStat_t *buffer); | |||||
extern INT32 mmMkdir(const CHAR *pathName, mmMode_t mode); | |||||
extern INT32 mmSleep(UINT32 milliSecond); | |||||
extern INT32 mmCreateTaskWithAttr(mmThread *threadHandle, mmUserBlock_t *funcBlock); | |||||
extern INT32 mmGetProcessPrio(mmProcess pid); | |||||
extern INT32 mmSetProcessPrio(mmProcess pid, INT32 processPrio); | |||||
extern INT32 mmGetThreadPrio(mmThread *threadHandle); | |||||
extern INT32 mmSetThreadPrio(mmThread *threadHandle, INT32 threadPrio); | |||||
extern INT32 mmAccess(const CHAR *pathName); | |||||
extern INT32 mmAccess2(const CHAR *pathName, INT32 mode); | |||||
extern INT32 mmRmdir(const CHAR *pathName); | |||||
extern INT32 mmIoctl(mmProcess fd, INT32 ioctlCode, mmIoctlBuf *bufPtr); | |||||
extern INT32 mmSemTimedWait(mmSem_t *sem, INT32 timeout); | |||||
extern mmSsize_t mmWritev(mmProcess fd, mmIovSegment *iov, INT32 iovcnt); | |||||
extern VOID mmMb(); | |||||
extern INT32 mmInetAton(const CHAR *addrStr, mmInAddr *addr); | |||||
extern mmProcess mmOpenFile(const CHAR *fileName, UINT32 access, mmCreateFlag fileFlag); | |||||
extern mmSsize_t mmReadFile(mmProcess fileId, VOID *buffer, INT32 len); | |||||
extern mmSsize_t mmWriteFile(mmProcess fileId, VOID *buffer, INT32 len); | |||||
extern INT32 mmCloseFile(mmProcess fileId); | |||||
extern mmAtomicType mmSetData(mmAtomicType *ptr, mmAtomicType value); | |||||
extern mmAtomicType mmValueInc(mmAtomicType *ptr, mmAtomicType value); | |||||
extern mmAtomicType mmValueSub(mmAtomicType *ptr, mmAtomicType value); | |||||
extern INT32 mmCreateTaskWithDetach(mmThread *threadHandle, mmUserBlock_t *funcBlock); | |||||
MMPA_FUNC_VISIBILITY INT32 mmSAStartup(); | |||||
MMPA_FUNC_VISIBILITY INT32 mmSACleanup(); | |||||
MMPA_FUNC_VISIBILITY VOID *mmDlopen(const CHAR *fileName, INT32 mode); | |||||
MMPA_FUNC_VISIBILITY INT32 mmDladdr(VOID *addr, mmDlInfo *info); | |||||
MMPA_FUNC_VISIBILITY VOID *mmDlsym(VOID *handle, const CHAR *funcName); | |||||
MMPA_FUNC_VISIBILITY INT32 mmDlclose(VOID *handle); | |||||
MMPA_FUNC_VISIBILITY CHAR *mmDlerror(); | |||||
MMPA_FUNC_VISIBILITY INT32 mmCreateAndSetTimer(mmTimer *timerHandle, mmUserBlock_t *timerBlock, UINT milliSecond, UINT period); | |||||
MMPA_FUNC_VISIBILITY INT32 mmDeleteTimer(mmTimer timerHandle); | |||||
MMPA_FUNC_VISIBILITY INT32 mmStatGet(const CHAR *path, mmStat_t *buffer); | |||||
MMPA_FUNC_VISIBILITY INT32 mmStat64Get(const CHAR *path, mmStat64_t *buffer); | |||||
MMPA_FUNC_VISIBILITY INT32 mmFStatGet(INT32 fd, mmStat_t *buffer); | |||||
MMPA_FUNC_VISIBILITY INT32 mmMkdir(const CHAR *pathName, mmMode_t mode); | |||||
MMPA_FUNC_VISIBILITY INT32 mmSleep(UINT32 milliSecond); | |||||
MMPA_FUNC_VISIBILITY INT32 mmCreateTaskWithAttr(mmThread *threadHandle, mmUserBlock_t *funcBlock); | |||||
MMPA_FUNC_VISIBILITY INT32 mmGetProcessPrio(mmProcess pid); | |||||
MMPA_FUNC_VISIBILITY INT32 mmSetProcessPrio(mmProcess pid, INT32 processPrio); | |||||
MMPA_FUNC_VISIBILITY INT32 mmGetThreadPrio(mmThread *threadHandle); | |||||
MMPA_FUNC_VISIBILITY INT32 mmSetThreadPrio(mmThread *threadHandle, INT32 threadPrio); | |||||
MMPA_FUNC_VISIBILITY INT32 mmAccess(const CHAR *pathName); | |||||
MMPA_FUNC_VISIBILITY INT32 mmAccess2(const CHAR *pathName, INT32 mode); | |||||
MMPA_FUNC_VISIBILITY INT32 mmRmdir(const CHAR *pathName); | |||||
MMPA_FUNC_VISIBILITY INT32 mmIoctl(mmProcess fd, INT32 ioctlCode, mmIoctlBuf *bufPtr); | |||||
MMPA_FUNC_VISIBILITY INT32 mmSemTimedWait(mmSem_t *sem, INT32 timeout); | |||||
MMPA_FUNC_VISIBILITY mmSsize_t mmWritev(mmProcess fd, mmIovSegment *iov, INT32 iovcnt); | |||||
MMPA_FUNC_VISIBILITY VOID mmMb(); | |||||
MMPA_FUNC_VISIBILITY INT32 mmInetAton(const CHAR *addrStr, mmInAddr *addr); | |||||
MMPA_FUNC_VISIBILITY mmProcess mmOpenFile(const CHAR *fileName, UINT32 access, mmCreateFlag fileFlag); | |||||
MMPA_FUNC_VISIBILITY mmSsize_t mmReadFile(mmProcess fileId, VOID *buffer, INT32 len); | |||||
MMPA_FUNC_VISIBILITY mmSsize_t mmWriteFile(mmProcess fileId, VOID *buffer, INT32 len); | |||||
MMPA_FUNC_VISIBILITY INT32 mmCloseFile(mmProcess fileId); | |||||
MMPA_FUNC_VISIBILITY mmAtomicType mmSetData(mmAtomicType *ptr, mmAtomicType value); | |||||
MMPA_FUNC_VISIBILITY mmAtomicType mmValueInc(mmAtomicType *ptr, mmAtomicType value); | |||||
MMPA_FUNC_VISIBILITY mmAtomicType mmValueSub(mmAtomicType *ptr, mmAtomicType value); | |||||
MMPA_FUNC_VISIBILITY mmAtomicType64 mmSetData64(mmAtomicType64 *ptr, mmAtomicType64 value); | |||||
MMPA_FUNC_VISIBILITY mmAtomicType64 mmValueInc64(mmAtomicType64 *ptr, mmAtomicType64 value); | |||||
MMPA_FUNC_VISIBILITY mmAtomicType64 mmValueSub64(mmAtomicType64 *ptr, mmAtomicType64 value); | |||||
MMPA_FUNC_VISIBILITY INT32 mmCreateTaskWithDetach(mmThread *threadHandle, mmUserBlock_t *funcBlock); | |||||
// The following 3 interfaces are to be deleted | // The following 3 interfaces are to be deleted | ||||
extern INT32 mmCreateNamedPipe(mmPipeHandle pipe[], CHAR *pipeName[], INT32 waitMode); | |||||
extern INT32 mmOpenNamePipe(mmPipeHandle pipe[], CHAR *pipeName[], INT32 waitMode); | |||||
extern VOID mmCloseNamedPipe(mmPipeHandle namedPipe[]); | |||||
MMPA_FUNC_VISIBILITY INT32 mmCreateNamedPipe(mmPipeHandle pipe[], CHAR *pipeName[], INT32 waitMode); | |||||
MMPA_FUNC_VISIBILITY INT32 mmOpenNamePipe(mmPipeHandle pipe[], CHAR *pipeName[], INT32 waitMode); | |||||
MMPA_FUNC_VISIBILITY VOID mmCloseNamedPipe(mmPipeHandle namedPipe[]); | |||||
extern INT32 mmCreatePipe(mmPipeHandle pipe[], CHAR *pipeName[], UINT32 pipeCount, INT32 waitMode); | |||||
extern INT32 mmOpenPipe(mmPipeHandle pipe[], CHAR *pipeName[], UINT32 pipeCount, INT32 waitMode); | |||||
extern VOID mmClosePipe(mmPipeHandle pipe[], UINT32 pipeCount); | |||||
MMPA_FUNC_VISIBILITY INT32 mmCreatePipe(mmPipeHandle pipe[], CHAR *pipeName[], UINT32 pipeCount, INT32 waitMode); | |||||
MMPA_FUNC_VISIBILITY INT32 mmOpenPipe(mmPipeHandle pipe[], CHAR *pipeName[], UINT32 pipeCount, INT32 waitMode); | |||||
MMPA_FUNC_VISIBILITY VOID mmClosePipe(mmPipeHandle pipe[], UINT32 pipeCount); | |||||
// Poll related interface | // Poll related interface | ||||
extern mmCompletionHandle mmCreateCompletionPort(); | |||||
extern VOID mmCloseCompletionPort(mmCompletionHandle handle); | |||||
extern INT32 mmPoll(mmPollfd *fds, INT32 fdCount, INT32 timeout, mmCompletionHandle handleIOCP, pmmPollData polledData, | |||||
mmPollBack pollBack); | |||||
extern INT32 mmGetErrorCode(); | |||||
extern CHAR *mmGetErrorFormatMessage(mmErrorMsg errnum, CHAR *buf, mmSize size); | |||||
extern INT32 mmGetTimeOfDay(mmTimeval *timeVal, mmTimezone *timeZone); | |||||
extern mmTimespec mmGetTickCount(); | |||||
extern INT32 mmGetRealPath(CHAR *path, CHAR *realPath); | |||||
extern INT32 mmRealPath(const CHAR *path, CHAR *realPath, INT32 realPathLen); | |||||
MMPA_FUNC_VISIBILITY mmCompletionHandle mmCreateCompletionPort(); | |||||
MMPA_FUNC_VISIBILITY VOID mmCloseCompletionPort(mmCompletionHandle handle); | |||||
MMPA_FUNC_VISIBILITY INT32 mmPoll(mmPollfd *fds, INT32 fdCount, INT32 timeout, mmCompletionHandle handleIOCP, | |||||
pmmPollData polledData, mmPollBack pollBack); | |||||
MMPA_FUNC_VISIBILITY INT32 mmGetErrorCode(); | |||||
MMPA_FUNC_VISIBILITY CHAR *mmGetErrorFormatMessage(mmErrorMsg errnum, CHAR *buf, mmSize size); | |||||
MMPA_FUNC_VISIBILITY INT32 mmGetTimeOfDay(mmTimeval *timeVal, mmTimezone *timeZone); | |||||
MMPA_FUNC_VISIBILITY mmTimespec mmGetTickCount(); | |||||
MMPA_FUNC_VISIBILITY INT32 mmGetRealPath(CHAR *path, CHAR *realPath); | |||||
MMPA_FUNC_VISIBILITY INT32 mmRealPath(const CHAR *path, CHAR *realPath, INT32 realPathLen); | |||||
extern INT32 mmDup2(INT32 oldFd, INT32 newFd); | |||||
MMPA_FUNC_VISIBILITY INT32 mmDup2(INT32 oldFd, INT32 newFd); | |||||
extern INT32 mmDup(INT32 fd); | |||||
MMPA_FUNC_VISIBILITY INT32 mmDup(INT32 fd); | |||||
extern INT32 mmUnlink(const CHAR *filename); | |||||
MMPA_FUNC_VISIBILITY INT32 mmUnlink(const CHAR *filename); | |||||
extern INT32 mmChmod(const CHAR *filename, INT32 mode); | |||||
MMPA_FUNC_VISIBILITY INT32 mmChmod(const CHAR *filename, INT32 mode); | |||||
extern INT32 mmFileno(FILE *stream); | |||||
MMPA_FUNC_VISIBILITY INT32 mmFileno(FILE *stream); | |||||
extern INT32 mmScandir(const CHAR *path, mmDirent ***entryList, mmFilter filterFunc, mmSort sort); | |||||
MMPA_FUNC_VISIBILITY INT32 mmScandir(const CHAR *path, mmDirent ***entryList, mmFilter filterFunc, mmSort sort); | |||||
MMPA_FUNC_VISIBILITY INT32 mmScandir2(const CHAR *path, mmDirent2 ***entryList, mmFilter2 filterFunc, mmSort2 sort); | |||||
extern VOID mmScandirFree(mmDirent **entryList, INT32 count); | |||||
MMPA_FUNC_VISIBILITY VOID mmScandirFree(mmDirent **entryList, INT32 count); | |||||
MMPA_FUNC_VISIBILITY VOID mmScandirFree2(mmDirent2 **entryList, INT32 count); | |||||
extern mmMsgid mmMsgCreate(mmKey_t key, INT32 msgFlag); | |||||
MMPA_FUNC_VISIBILITY mmMsgid mmMsgCreate(mmKey_t key, INT32 msgFlag); | |||||
extern mmMsgid mmMsgOpen(mmKey_t key, INT32 msgFlag); | |||||
MMPA_FUNC_VISIBILITY mmMsgid mmMsgOpen(mmKey_t key, INT32 msgFlag); | |||||
extern INT32 mmMsgSnd(mmMsgid msqid, VOID *buf, INT32 bufLen, INT32 msgFlag); | |||||
MMPA_FUNC_VISIBILITY INT32 mmMsgSnd(mmMsgid msqid, VOID *buf, INT32 bufLen, INT32 msgFlag); | |||||
extern INT32 mmMsgRcv(mmMsgid msqid, VOID *buf, INT32 bufLen, INT32 msgFlag); | |||||
MMPA_FUNC_VISIBILITY INT32 mmMsgRcv(mmMsgid msqid, VOID *buf, INT32 bufLen, INT32 msgFlag); | |||||
extern INT32 mmMsgClose(mmMsgid msqid); | |||||
MMPA_FUNC_VISIBILITY INT32 mmMsgClose(mmMsgid msqid); | |||||
extern INT32 mmLocalTimeR(const time_t *timep, struct tm *result); | |||||
MMPA_FUNC_VISIBILITY INT32 mmLocalTimeR(const time_t *timep, struct tm *result); | |||||
extern INT32 mmGetOpt(INT32 argc, char *const *argv, const char *opts); | |||||
extern INT32 mmGetOptLong(INT32 argc, char *const *argv, const char *opts, const mmStructOption *longOpts, | |||||
INT32 *longIndex); | |||||
MMPA_FUNC_VISIBILITY INT32 mmGetOptErr(); | |||||
MMPA_FUNC_VISIBILITY VOID mmSetOptErr(INT32 mmOptErr); | |||||
MMPA_FUNC_VISIBILITY INT32 mmGetOptInd(); | |||||
MMPA_FUNC_VISIBILITY VOID mmSetOptInd(INT32 mmOptInd); | |||||
MMPA_FUNC_VISIBILITY INT32 mmGetOptOpt(); | |||||
MMPA_FUNC_VISIBILITY VOID mmSetOpOpt(INT32 mmOptOpt); | |||||
MMPA_FUNC_VISIBILITY CHAR *mmGetOptArg(); | |||||
MMPA_FUNC_VISIBILITY VOID mmSetOptArg(CHAR *mmOptArg); | |||||
MMPA_FUNC_VISIBILITY INT32 mmGetOpt(INT32 argc, char *const *argv, const char *opts); | |||||
MMPA_FUNC_VISIBILITY INT32 mmGetOptLong(INT32 argc, char *const *argv, const char *opts, const mmStructOption *longOpts, | |||||
INT32 *longIndex); | |||||
extern LONG mmLseek(INT32 fd, INT64 offset, INT32 seekFlag); | |||||
extern INT32 mmFtruncate(mmProcess fd, UINT32 length); | |||||
MMPA_FUNC_VISIBILITY LONG mmLseek(INT32 fd, INT64 offset, INT32 seekFlag); | |||||
MMPA_FUNC_VISIBILITY INT32 mmFtruncate(mmProcess fd, UINT32 length); | |||||
extern INT32 mmTlsCreate(mmThreadKey *key, VOID (*destructor)(VOID *)); | |||||
extern INT32 mmTlsSet(mmThreadKey key, const VOID *value); | |||||
extern VOID *mmTlsGet(mmThreadKey key); | |||||
extern INT32 mmTlsDelete(mmThreadKey key); | |||||
extern INT32 mmGetOsType(); | |||||
MMPA_FUNC_VISIBILITY INT32 mmTlsCreate(mmThreadKey *key, VOID (*destructor)(VOID *)); | |||||
MMPA_FUNC_VISIBILITY INT32 mmTlsSet(mmThreadKey key, const VOID *value); | |||||
MMPA_FUNC_VISIBILITY VOID *mmTlsGet(mmThreadKey key); | |||||
MMPA_FUNC_VISIBILITY INT32 mmTlsDelete(mmThreadKey key); | |||||
MMPA_FUNC_VISIBILITY INT32 mmGetOsType(); | |||||
extern INT32 mmFsync(mmProcess fd); | |||||
extern INT32 mmFsync2(INT32 fd); | |||||
extern INT32 mmChdir(const CHAR *path); | |||||
extern INT32 mmUmask(INT32 pmode); | |||||
extern INT32 mmThreadKill(mmThread id); | |||||
extern INT32 mmWaitPid(mmProcess pid, INT32 *status, INT32 options); | |||||
MMPA_FUNC_VISIBILITY INT32 mmFsync(mmProcess fd); | |||||
MMPA_FUNC_VISIBILITY INT32 mmFsync2(INT32 fd); | |||||
MMPA_FUNC_VISIBILITY INT32 mmChdir(const CHAR *path); | |||||
MMPA_FUNC_VISIBILITY INT32 mmUmask(INT32 pmode); | |||||
MMPA_FUNC_VISIBILITY INT32 mmThreadKill(mmThread id); | |||||
MMPA_FUNC_VISIBILITY INT32 mmWaitPid(mmProcess pid, INT32 *status, INT32 options); | |||||
extern INT32 mmGetCwd(CHAR *buffer, INT32 maxLen); | |||||
extern INT32 mmGetEnv(const CHAR *name, CHAR *value, UINT32 len); | |||||
extern INT32 mmSetEnv(const CHAR *name, const CHAR *value, INT32 overwrite); | |||||
extern CHAR *mmStrTokR(CHAR *str, const CHAR *delim, CHAR **saveptr); | |||||
extern CHAR *mmDirName(CHAR *path); | |||||
extern CHAR *mmBaseName(CHAR *path); | |||||
extern INT32 mmGetDiskFreeSpace(const char *path, mmDiskSize *diskSize); | |||||
MMPA_FUNC_VISIBILITY INT32 mmGetCwd(CHAR *buffer, INT32 maxLen); | |||||
MMPA_FUNC_VISIBILITY INT32 mmGetEnv(const CHAR *name, CHAR *value, UINT32 len); | |||||
MMPA_FUNC_VISIBILITY INT32 mmSetEnv(const CHAR *name, const CHAR *value, INT32 overwrite); | |||||
MMPA_FUNC_VISIBILITY CHAR *mmStrTokR(CHAR *str, const CHAR *delim, CHAR **saveptr); | |||||
MMPA_FUNC_VISIBILITY CHAR *mmDirName(CHAR *path); | |||||
MMPA_FUNC_VISIBILITY CHAR *mmBaseName(CHAR *path); | |||||
MMPA_FUNC_VISIBILITY INT32 mmGetDiskFreeSpace(const char *path, mmDiskSize *diskSize); | |||||
/* | /* | ||||
* Function: set the thread name created by mmcreatetask | * Function: set the thread name created by mmcreatetask | ||||
@@ -467,7 +488,7 @@ extern INT32 mmGetDiskFreeSpace(const char *path, mmDiskSize *diskSize); | |||||
* The input parameter error returns EN_INVALID_PARAM, the execution success returns EN_OK, and the | * The input parameter error returns EN_INVALID_PARAM, the execution success returns EN_OK, and the | ||||
* execution failure returns EN_ERROR | * execution failure returns EN_ERROR | ||||
*/ | */ | ||||
extern INT32 mmSetThreadName(mmThread *threadHandle, const CHAR *name); | |||||
MMPA_FUNC_VISIBILITY INT32 mmSetThreadName(mmThread *threadHandle, const CHAR *name); | |||||
/* | /* | ||||
* Function: get thread name | * Function: get thread name | ||||
@@ -477,37 +498,38 @@ extern INT32 mmSetThreadName(mmThread *threadHandle, const CHAR *name); | |||||
* The input parameter error returns EN_INVALID_PARAM, the execution success returns EN_OK, and the | * The input parameter error returns EN_INVALID_PARAM, the execution success returns EN_OK, and the | ||||
* execution failure returns EN_ERROR | * execution failure returns EN_ERROR | ||||
*/ | */ | ||||
extern INT32 mmGetThreadName(mmThread *threadHandle, CHAR *name, INT32 size); | |||||
MMPA_FUNC_VISIBILITY INT32 mmGetThreadName(mmThread *threadHandle, CHAR *name, INT32 size); | |||||
/* | /* | ||||
* Function:Set the thread name of the currently executing thread - call inside the thread body | * Function:Set the thread name of the currently executing thread - call inside the thread body | ||||
* Input:name:Thread name to be set | * Input:name:Thread name to be set | ||||
* The input parameter error returns EN_INVALID_PARAM, the execution success returns EN_OK, and the | * The input parameter error returns EN_INVALID_PARAM, the execution success returns EN_OK, and the | ||||
* execution failure returns EN_ERROR | * execution failure returns EN_ERROR | ||||
*/ | */ | ||||
extern INT32 mmSetCurrentThreadName(const CHAR *name); | |||||
MMPA_FUNC_VISIBILITY INT32 mmSetCurrentThreadName(const CHAR *name); | |||||
/* | /* | ||||
* Function:Get the thread name of the currently executing thread - in body call | * Function:Get the thread name of the currently executing thread - in body call | ||||
* Input:name:The name of the thread to get, and the cache is allocated by the user,size>=MMPA_THREADNAME_SIZE | * Input:name:The name of the thread to get, and the cache is allocated by the user,size>=MMPA_THREADNAME_SIZE | ||||
* The input parameter error returns EN_INVALID_PARAM, the execution success returns EN_OK, and the | * The input parameter error returns EN_INVALID_PARAM, the execution success returns EN_OK, and the | ||||
* execution failure returns EN_ERROR | * execution failure returns EN_ERROR | ||||
*/ | */ | ||||
extern INT32 mmGetCurrentThreadName(CHAR *name, INT32 size); | |||||
extern INT32 mmGetFileSize(const CHAR *fileName, ULONGLONG *length); | |||||
extern INT32 mmIsDir(const CHAR *fileName); | |||||
extern INT32 mmGetOsName(CHAR *name, INT32 nameSize); | |||||
extern INT32 mmGetOsVersion(CHAR *versionInfo, INT32 versionLength); | |||||
extern INT32 mmGetMac(mmMacInfo **list, INT32 *count); | |||||
extern INT32 mmGetMacFree(mmMacInfo *list, INT32 count); | |||||
extern INT32 mmGetCpuInfo(mmCpuDesc **cpuInfo, INT32 *count); | |||||
extern INT32 mmCpuInfoFree(mmCpuDesc *cpuInfo, INT32 count); | |||||
extern INT32 mmCreateProcess(const CHAR *fileName, const mmArgvEnv *env, const char *stdoutRedirectFile, mmProcess *id); | |||||
extern INT32 mmCreateTaskWithThreadAttr(mmThread *threadHandle, const mmUserBlock_t *funcBlock, | |||||
const mmThreadAttr *threadAttr); | |||||
extern mmFileHandle mmShmOpen(const CHAR *name, INT32 oflag, mmMode_t mode); | |||||
extern INT32 mmShmUnlink(const CHAR *name); | |||||
extern VOID *mmMmap(mmFd_t fd, mmSize_t size, mmOfft_t offset, mmFd_t *extra, INT32 prot, INT32 flags); | |||||
extern INT32 mmMunMap(VOID *data, mmSize_t size, mmFd_t *extra); | |||||
MMPA_FUNC_VISIBILITY INT32 mmGetCurrentThreadName(CHAR *name, INT32 size); | |||||
MMPA_FUNC_VISIBILITY INT32 mmGetFileSize(const CHAR *fileName, ULONGLONG *length); | |||||
MMPA_FUNC_VISIBILITY INT32 mmIsDir(const CHAR *fileName); | |||||
MMPA_FUNC_VISIBILITY INT32 mmGetOsName(CHAR *name, INT32 nameSize); | |||||
MMPA_FUNC_VISIBILITY INT32 mmGetOsVersion(CHAR *versionInfo, INT32 versionLength); | |||||
MMPA_FUNC_VISIBILITY INT32 mmGetMac(mmMacInfo **list, INT32 *count); | |||||
MMPA_FUNC_VISIBILITY INT32 mmGetMacFree(mmMacInfo *list, INT32 count); | |||||
MMPA_FUNC_VISIBILITY INT32 mmGetCpuInfo(mmCpuDesc **cpuInfo, INT32 *count); | |||||
MMPA_FUNC_VISIBILITY INT32 mmCpuInfoFree(mmCpuDesc *cpuInfo, INT32 count); | |||||
MMPA_FUNC_VISIBILITY INT32 mmCreateProcess(const CHAR *fileName, const mmArgvEnv *env, const char *stdoutRedirectFile, | |||||
mmProcess *id); | |||||
MMPA_FUNC_VISIBILITY INT32 mmCreateTaskWithThreadAttr(mmThread *threadHandle, const mmUserBlock_t *funcBlock, | |||||
const mmThreadAttr *threadAttr); | |||||
MMPA_FUNC_VISIBILITY mmFileHandle mmShmOpen(const CHAR *name, INT32 oflag, mmMode_t mode); | |||||
MMPA_FUNC_VISIBILITY INT32 mmShmUnlink(const CHAR *name); | |||||
MMPA_FUNC_VISIBILITY VOID *mmMmap(mmFd_t fd, mmSize_t size, mmOfft_t offset, mmFd_t *extra, INT32 prot, INT32 flags); | |||||
MMPA_FUNC_VISIBILITY INT32 mmMunMap(VOID *data, mmSize_t size, mmFd_t *extra); | |||||
#define MMPA_DLL_API | #define MMPA_DLL_API | ||||
#ifdef __cplusplus | #ifdef __cplusplus | ||||
@@ -30,11 +30,6 @@ extern "C" { | |||||
#define MMPA_MACINFO_DEFAULT_SIZE 18 | #define MMPA_MACINFO_DEFAULT_SIZE 18 | ||||
#define MMPA_CPUDESC_DEFAULT_SIZE 64 | #define MMPA_CPUDESC_DEFAULT_SIZE 64 | ||||
MMPA_DLL_API extern char *optarg; | |||||
MMPA_DLL_API extern int opterr; | |||||
MMPA_DLL_API extern int optind; | |||||
MMPA_DLL_API extern int optopt; | |||||
#pragma section(".CRT$XCU", long, read) | #pragma section(".CRT$XCU", long, read) | ||||
#pragma section(".CRT$XPU", long, read) | #pragma section(".CRT$XPU", long, read) | ||||
@@ -65,6 +60,7 @@ typedef struct sockaddr mmSockAddr; | |||||
typedef int mmSocklen_t; | typedef int mmSocklen_t; | ||||
typedef int mmSemTimeout_t; | typedef int mmSemTimeout_t; | ||||
typedef long mmAtomicType; | typedef long mmAtomicType; | ||||
typedef long long mmAtomicType64; | |||||
typedef DWORD mmExitCode; | typedef DWORD mmExitCode; | ||||
typedef DWORD mmErrorMsg; | typedef DWORD mmErrorMsg; | ||||
typedef int mmKey_t; | typedef int mmKey_t; | ||||
@@ -76,6 +72,7 @@ typedef INT32 mmSsize_t; | |||||
typedef int mmSize; // size | typedef int mmSize; // size | ||||
typedef size_t mmSize_t; | typedef size_t mmSize_t; | ||||
typedef VOID mmshmId_ds; | typedef VOID mmshmId_ds; | ||||
typedef long long MM_LONG; | |||||
typedef enum { | typedef enum { | ||||
DT_DIR = FILE_ATTRIBUTE_DIRECTORY, | DT_DIR = FILE_ATTRIBUTE_DIRECTORY, | ||||
@@ -86,8 +83,15 @@ typedef struct { | |||||
char d_name[MAX_PATH]; // file name | char d_name[MAX_PATH]; // file name | ||||
} mmDirent; | } mmDirent; | ||||
typedef struct { | |||||
unsigned long d_type; | |||||
char d_name[MAX_PATH]; // file name | |||||
} mmDirent2; | |||||
typedef int (*mmFilter)(const mmDirent *entry); | typedef int (*mmFilter)(const mmDirent *entry); | ||||
typedef int (*mmFilter2)(const mmDirent2 *entry); | |||||
typedef int (*mmSort)(const mmDirent **a, const mmDirent **b); | typedef int (*mmSort)(const mmDirent **a, const mmDirent **b); | ||||
typedef int (*mmSort2)(const mmDirent2 **a, const mmDirent2 **b); | |||||
typedef struct { | typedef struct { | ||||
VOID *sendBuf; | VOID *sendBuf; | ||||
@@ -162,8 +166,8 @@ typedef struct { | |||||
} mmTimezone; | } mmTimezone; | ||||
typedef struct { | typedef struct { | ||||
LONG tv_sec; | |||||
LONG tv_nsec; | |||||
MM_LONG tv_sec; | |||||
MM_LONG tv_nsec; | |||||
} mmTimespec; | } mmTimespec; | ||||
typedef mmTimerHandle mmTimer; | typedef mmTimerHandle mmTimer; | ||||
@@ -283,12 +287,13 @@ typedef VOID (*mmPf)(VOID); | |||||
#define DT_UNKNOWN 0 | #define DT_UNKNOWN 0 | ||||
#define DT_FIFO 1 | #define DT_FIFO 1 | ||||
#define DT_CHR 2 | #define DT_CHR 2 | ||||
#define DT_DIR 4 | |||||
#define DT_BLK 6 | #define DT_BLK 6 | ||||
#define DT_REG 8 | #define DT_REG 8 | ||||
#define DT_LNK 10 | #define DT_LNK 10 | ||||
#define DT_SOCK 12 | #define DT_SOCK 12 | ||||
#define DT_WHT 14 | #define DT_WHT 14 | ||||
#define MM_DT_DIR 16 | |||||
#define MM_DT_REG 32 | |||||
#define mmConstructor(x) __declspec(allocate(".CRT$XCU")) mmPf con = x | #define mmConstructor(x) __declspec(allocate(".CRT$XCU")) mmPf con = x | ||||
#define mmDestructor(x) __declspec(allocate(".CRT$XPU")) mmPf de = x | #define mmDestructor(x) __declspec(allocate(".CRT$XPU")) mmPf de = x | ||||
@@ -327,175 +332,188 @@ typedef VOID (*mmPf)(VOID); | |||||
#define __attribute__(v) | #define __attribute__(v) | ||||
_declspec(dllexport) INT32 mmCreateTask(mmThread *threadHandle, mmUserBlock_t *funcBlock); | |||||
_declspec(dllexport) INT32 mmJoinTask(mmThread *threadHandle); | |||||
_declspec(dllexport) INT32 mmMutexInit(mmMutex_t *mutex); | |||||
_declspec(dllexport) INT32 mmMutexLock(mmMutex_t *mutex); | |||||
_declspec(dllexport) INT32 mmMutexTryLock(mmMutex_t *mutex); | |||||
_declspec(dllexport) INT32 mmMutexUnLock(mmMutex_t *mutex); | |||||
_declspec(dllexport) INT32 mmMutexDestroy(mmMutex_t *mutex); | |||||
_declspec(dllexport) INT32 mmCondInit(mmCond *cond); | |||||
_declspec(dllexport) INT32 mmCondLockInit(mmMutexFC *mutex); | |||||
_declspec(dllexport) INT32 mmCondLock(mmMutexFC *mutex); | |||||
_declspec(dllexport) INT32 mmCondUnLock(mmMutexFC *mutex); | |||||
_declspec(dllexport) INT32 mmCondLockDestroy(mmMutexFC *mutex); | |||||
_declspec(dllexport) INT32 mmRWLockInit(mmRWLock_t *rwLock); | |||||
_declspec(dllexport) INT32 mmRWLockRDLock(mmRWLock_t *rwLock); | |||||
_declspec(dllexport) INT32 mmRWLockTryRDLock(mmRWLock_t *rwLock); | |||||
_declspec(dllexport) INT32 mmRWLockWRLock(mmRWLock_t *rwLock); | |||||
_declspec(dllexport) INT32 mmRWLockTryWRLock(mmRWLock_t *rwLock); | |||||
_declspec(dllexport) INT32 mmRDLockUnLock(mmRWLock_t *rwLock); | |||||
_declspec(dllexport) INT32 mmWRLockUnLock(mmRWLock_t *rwLock); | |||||
_declspec(dllexport) INT32 mmRWLockDestroy(mmRWLock_t *rwLock); | |||||
_declspec(dllexport) INT32 mmCondWait(mmCond *cond, mmMutexFC *mutex); | |||||
_declspec(dllexport) INT32 mmCondTimedWait(mmCond *cond, mmMutexFC *mutex, UINT32 milliSecond); | |||||
_declspec(dllexport) INT32 mmCondNotify(mmCond *cond); | |||||
_declspec(dllexport) INT32 mmCondNotifyAll(mmCond *cond); | |||||
_declspec(dllexport) INT32 mmCondDestroy(mmCond *cond); | |||||
_declspec(dllexport) INT32 mmGetPid(VOID); | |||||
_declspec(dllexport) INT32 mmGetTid(VOID); | |||||
_declspec(dllexport) INT32 mmGetPidHandle(mmProcess *processHandle); | |||||
_declspec(dllexport) INT32 mmGetLocalTime(mmSystemTime_t *sysTime); | |||||
_declspec(dllexport) INT32 mmGetSystemTime(mmSystemTime_t *sysTime); | |||||
_declspec(dllexport) INT32 mmSemInit(mmSem_t *sem, UINT32 value); | |||||
_declspec(dllexport) INT32 mmSemWait(mmSem_t *sem); | |||||
_declspec(dllexport) INT32 mmSemPost(mmSem_t *sem); | |||||
_declspec(dllexport) INT32 mmSemDestroy(mmSem_t *sem); | |||||
_declspec(dllexport) INT32 mmOpen(const CHAR *pathName, INT32 flags); | |||||
_declspec(dllexport) INT32 mmOpen2(const CHAR *pathName, INT32 flags, MODE mode); | |||||
_declspec(dllexport) FILE *mmPopen(CHAR *command, CHAR *type); | |||||
_declspec(dllexport) INT32 mmClose(INT32 fd); | |||||
_declspec(dllexport) INT32 mmPclose(FILE *stream); | |||||
_declspec(dllexport) mmSsize_t mmWrite(INT32 fd, VOID *buf, UINT32 bufLen); | |||||
_declspec(dllexport) mmSsize_t mmRead(INT32 fd, VOID *buf, UINT32 bufLen); | |||||
_declspec(dllexport) mmSockHandle mmSocket(INT32 sockFamily, INT32 type, INT32 protocol); | |||||
_declspec(dllexport) INT32 mmBind(mmSockHandle sockFd, mmSockAddr *addr, mmSocklen_t addrLen); | |||||
_declspec(dllexport) INT32 mmListen(mmSockHandle sockFd, INT32 backLog); | |||||
_declspec(dllexport) mmSockHandle mmAccept(mmSockHandle sockFd, mmSockAddr *addr, mmSocklen_t *addrLen); | |||||
_declspec(dllexport) INT32 mmConnect(mmSockHandle sockFd, mmSockAddr *addr, mmSocklen_t addrLen); | |||||
_declspec(dllexport) INT32 mmCloseSocket(mmSockHandle sockFd); | |||||
_declspec(dllexport) mmSsize_t mmSocketRecv(mmSockHandle sockFd, VOID *recvBuf, INT32 recvLen, INT32 recvFlag); | |||||
_declspec(dllexport) mmSsize_t mmSocketSend(mmSockHandle sockFd, VOID *sendBuf, INT32 sendLen, INT32 sendFlag); | |||||
_declspec(dllexport) INT32 mmSocketSendTo(mmSockHandle sockFd, | |||||
MMPA_FUNC_VISIBILITY INT32 mmCreateTask(mmThread *threadHandle, mmUserBlock_t *funcBlock); | |||||
MMPA_FUNC_VISIBILITY INT32 mmJoinTask(mmThread *threadHandle); | |||||
MMPA_FUNC_VISIBILITY INT32 mmMutexInit(mmMutex_t *mutex); | |||||
MMPA_FUNC_VISIBILITY INT32 mmMutexLock(mmMutex_t *mutex); | |||||
MMPA_FUNC_VISIBILITY INT32 mmMutexTryLock(mmMutex_t *mutex); | |||||
MMPA_FUNC_VISIBILITY INT32 mmMutexUnLock(mmMutex_t *mutex); | |||||
MMPA_FUNC_VISIBILITY INT32 mmMutexDestroy(mmMutex_t *mutex); | |||||
MMPA_FUNC_VISIBILITY INT32 mmCondInit(mmCond *cond); | |||||
MMPA_FUNC_VISIBILITY INT32 mmCondLockInit(mmMutexFC *mutex); | |||||
MMPA_FUNC_VISIBILITY INT32 mmCondLock(mmMutexFC *mutex); | |||||
MMPA_FUNC_VISIBILITY INT32 mmCondUnLock(mmMutexFC *mutex); | |||||
MMPA_FUNC_VISIBILITY INT32 mmCondLockDestroy(mmMutexFC *mutex); | |||||
MMPA_FUNC_VISIBILITY INT32 mmRWLockInit(mmRWLock_t *rwLock); | |||||
MMPA_FUNC_VISIBILITY INT32 mmRWLockRDLock(mmRWLock_t *rwLock); | |||||
MMPA_FUNC_VISIBILITY INT32 mmRWLockTryRDLock(mmRWLock_t *rwLock); | |||||
MMPA_FUNC_VISIBILITY INT32 mmRWLockWRLock(mmRWLock_t *rwLock); | |||||
MMPA_FUNC_VISIBILITY INT32 mmRWLockTryWRLock(mmRWLock_t *rwLock); | |||||
MMPA_FUNC_VISIBILITY INT32 mmRDLockUnLock(mmRWLock_t *rwLock); | |||||
MMPA_FUNC_VISIBILITY INT32 mmWRLockUnLock(mmRWLock_t *rwLock); | |||||
MMPA_FUNC_VISIBILITY INT32 mmRWLockDestroy(mmRWLock_t *rwLock); | |||||
MMPA_FUNC_VISIBILITY INT32 mmCondWait(mmCond *cond, mmMutexFC *mutex); | |||||
MMPA_FUNC_VISIBILITY INT32 mmCondTimedWait(mmCond *cond, mmMutexFC *mutex, UINT32 milliSecond); | |||||
MMPA_FUNC_VISIBILITY INT32 mmCondNotify(mmCond *cond); | |||||
MMPA_FUNC_VISIBILITY INT32 mmCondNotifyAll(mmCond *cond); | |||||
MMPA_FUNC_VISIBILITY INT32 mmCondDestroy(mmCond *cond); | |||||
MMPA_FUNC_VISIBILITY INT32 mmGetPid(VOID); | |||||
MMPA_FUNC_VISIBILITY INT32 mmGetTid(VOID); | |||||
MMPA_FUNC_VISIBILITY INT32 mmGetPidHandle(mmProcess *processHandle); | |||||
MMPA_FUNC_VISIBILITY INT32 mmGetLocalTime(mmSystemTime_t *sysTime); | |||||
MMPA_FUNC_VISIBILITY INT32 mmGetSystemTime(mmSystemTime_t *sysTime); | |||||
MMPA_FUNC_VISIBILITY INT32 mmSemInit(mmSem_t *sem, UINT32 value); | |||||
MMPA_FUNC_VISIBILITY INT32 mmSemWait(mmSem_t *sem); | |||||
MMPA_FUNC_VISIBILITY INT32 mmSemPost(mmSem_t *sem); | |||||
MMPA_FUNC_VISIBILITY INT32 mmSemDestroy(mmSem_t *sem); | |||||
MMPA_FUNC_VISIBILITY INT32 mmOpen(const CHAR *pathName, INT32 flags); | |||||
MMPA_FUNC_VISIBILITY INT32 mmOpen2(const CHAR *pathName, INT32 flags, MODE mode); | |||||
MMPA_FUNC_VISIBILITY FILE *mmPopen(CHAR *command, CHAR *type); | |||||
MMPA_FUNC_VISIBILITY INT32 mmClose(INT32 fd); | |||||
MMPA_FUNC_VISIBILITY INT32 mmPclose(FILE *stream); | |||||
MMPA_FUNC_VISIBILITY mmSsize_t mmWrite(INT32 fd, VOID *buf, UINT32 bufLen); | |||||
MMPA_FUNC_VISIBILITY mmSsize_t mmRead(INT32 fd, VOID *buf, UINT32 bufLen); | |||||
MMPA_FUNC_VISIBILITY mmSockHandle mmSocket(INT32 sockFamily, INT32 type, INT32 protocol); | |||||
MMPA_FUNC_VISIBILITY INT32 mmBind(mmSockHandle sockFd, mmSockAddr *addr, mmSocklen_t addrLen); | |||||
MMPA_FUNC_VISIBILITY INT32 mmListen(mmSockHandle sockFd, INT32 backLog); | |||||
MMPA_FUNC_VISIBILITY mmSockHandle mmAccept(mmSockHandle sockFd, mmSockAddr *addr, mmSocklen_t *addrLen); | |||||
MMPA_FUNC_VISIBILITY INT32 mmConnect(mmSockHandle sockFd, mmSockAddr *addr, mmSocklen_t addrLen); | |||||
MMPA_FUNC_VISIBILITY INT32 mmCloseSocket(mmSockHandle sockFd); | |||||
MMPA_FUNC_VISIBILITY mmSsize_t mmSocketRecv(mmSockHandle sockFd, VOID *recvBuf, INT32 recvLen, INT32 recvFlag); | |||||
MMPA_FUNC_VISIBILITY mmSsize_t mmSocketSend(mmSockHandle sockFd, VOID *sendBuf, INT32 sendLen, INT32 sendFlag); | |||||
MMPA_FUNC_VISIBILITY INT32 mmSocketSendTo(mmSockHandle sockFd, | |||||
VOID *sendMsg, | VOID *sendMsg, | ||||
INT32 sendLen, | INT32 sendLen, | ||||
UINT32 sendFlag, | UINT32 sendFlag, | ||||
const mmSockAddr* addr, | const mmSockAddr* addr, | ||||
INT32 tolen); | INT32 tolen); | ||||
_declspec(dllexport) mmSsize_t mmSocketRecvFrom(mmSockHandle sockFd, | |||||
MMPA_FUNC_VISIBILITY mmSsize_t mmSocketRecvFrom(mmSockHandle sockFd, | |||||
VOID *recvBuf, | VOID *recvBuf, | ||||
mmSize recvLen, | mmSize recvLen, | ||||
UINT32 recvFlag, | UINT32 recvFlag, | ||||
mmSockAddr* addr, | mmSockAddr* addr, | ||||
mmSocklen_t *FromLen); | mmSocklen_t *FromLen); | ||||
_declspec(dllexport) INT32 mmSAStartup(VOID); | |||||
_declspec(dllexport) INT32 mmSACleanup(VOID); | |||||
_declspec(dllexport) VOID *mmDlopen(const CHAR *fileName, INT mode); | |||||
_declspec(dllexport) INT32 mmDladdr(VOID *addr, mmDlInfo *info); | |||||
_declspec(dllexport) VOID *mmDlsym(VOID *handle, CHAR *fileName); | |||||
_declspec(dllexport) INT32 mmDlclose(VOID *handle); | |||||
_declspec(dllexport) CHAR *mmDlerror(VOID); | |||||
_declspec(dllexport) INT32 | |||||
MMPA_FUNC_VISIBILITY INT32 mmSAStartup(VOID); | |||||
MMPA_FUNC_VISIBILITY INT32 mmSACleanup(VOID); | |||||
MMPA_FUNC_VISIBILITY VOID *mmDlopen(const CHAR *fileName, INT mode); | |||||
MMPA_FUNC_VISIBILITY INT32 mmDladdr(VOID *addr, mmDlInfo *info); | |||||
MMPA_FUNC_VISIBILITY VOID *mmDlsym(VOID *handle, const CHAR *fileName); | |||||
MMPA_FUNC_VISIBILITY INT32 mmDlclose(VOID *handle); | |||||
MMPA_FUNC_VISIBILITY CHAR *mmDlerror(VOID); | |||||
MMPA_FUNC_VISIBILITY INT32 | |||||
mmCreateAndSetTimer(mmTimer *timerHandle, mmUserBlock_t *timerBlock, UINT milliSecond, UINT period); | mmCreateAndSetTimer(mmTimer *timerHandle, mmUserBlock_t *timerBlock, UINT milliSecond, UINT period); | ||||
_declspec(dllexport) INT32 mmDeleteTimer(mmTimer timerHandle); | |||||
_declspec(dllexport) INT32 mmStatGet(const CHAR *path, mmStat_t *buffer); | |||||
_declspec(dllexport) INT32 mmStat64Get(const CHAR *path, mmStat64_t *buffer); | |||||
_declspec(dllexport) INT32 mmFStatGet(INT32 fd, mmStat_t *buffer); | |||||
_declspec(dllexport) INT32 mmMkdir(const CHAR *pathName, mmMode_t mode); | |||||
_declspec(dllexport) INT32 mmSleep(UINT32 milliSecond); | |||||
_declspec(dllexport) INT32 mmCreateTaskWithAttr(mmThread *threadHandle, mmUserBlock_t *funcBlock); | |||||
_declspec(dllexport) INT32 mmGetProcessPrio(mmProcess pid); | |||||
_declspec(dllexport) INT32 mmSetProcessPrio(mmProcess pid, INT32 processPrio); | |||||
_declspec(dllexport) INT32 mmGetThreadPrio(mmThread *threadHandle); | |||||
_declspec(dllexport) INT32 mmSetThreadPrio(mmThread *threadHandle, INT32 threadPrio); | |||||
_declspec(dllexport) INT32 mmAccess(const CHAR *pathName); | |||||
_declspec(dllexport) INT32 mmAccess2(const CHAR *pathName, INT32 mode); | |||||
_declspec(dllexport) INT32 mmRmdir(const CHAR *pathName); | |||||
_declspec(dllexport) INT32 mmIoctl(mmProcess fd, INT32 ioctlCode, mmIoctlBuf *bufPtr); | |||||
_declspec(dllexport) INT32 mmSemTimedWait(mmSem_t *sem, INT32 timeout); | |||||
_declspec(dllexport) mmSsize_t mmWritev(mmSockHandle fd, mmIovSegment *iov, INT32 iovcnt); | |||||
_declspec(dllexport) VOID mmMb(); | |||||
_declspec(dllexport) INT32 mmInetAton(const CHAR *addrStr, mmInAddr *addr); | |||||
_declspec(dllexport) mmProcess mmOpenFile(const CHAR *fileName, UINT32 access, mmCreateFlag fileFlag); | |||||
_declspec(dllexport) mmSsize_t mmReadFile(mmProcess fileId, VOID *buffer, INT32 len); | |||||
_declspec(dllexport) mmSsize_t mmWriteFile(mmProcess fileId, VOID *buffer, INT32 len); | |||||
_declspec(dllexport) INT32 mmCloseFile(mmProcess fileId); | |||||
_declspec(dllexport) mmAtomicType mmSetData(mmAtomicType *ptr, mmAtomicType value); | |||||
_declspec(dllexport) mmAtomicType mmValueInc(mmAtomicType *ptr, mmAtomicType value); | |||||
_declspec(dllexport) mmAtomicType mmValueSub(mmAtomicType *ptr, mmAtomicType value); | |||||
_declspec(dllexport) INT32 mmCreateTaskWithDetach(mmThread *threadHandle, mmUserBlock_t *funcBlock); | |||||
_declspec(dllexport) INT32 mmCreateNamedPipe(mmPipeHandle pipe[], CHAR *pipeName[], INT32 waitMode); | |||||
_declspec(dllexport) INT32 mmOpenNamePipe(mmPipeHandle pipe[], CHAR *pipeName[], INT32 waitMode); | |||||
_declspec(dllexport) VOID mmCloseNamedPipe(mmPipeHandle namedPipe[]); | |||||
_declspec(dllexport) INT32 mmCreatePipe(mmPipeHandle pipe[], CHAR *pipeName[], UINT32 pipeCount, INT32 waitMode); | |||||
_declspec(dllexport) INT32 mmOpenPipe(mmPipeHandle pipe[], CHAR *pipeName[], UINT32 pipeCount, INT32 waitMode); | |||||
_declspec(dllexport) VOID mmClosePipe(mmPipeHandle pipe[], UINT32 pipeCount); | |||||
_declspec(dllexport) mmCompletionHandle mmCreateCompletionPort(); | |||||
_declspec(dllexport) VOID mmCloseCompletionPort(mmCompletionHandle handle); | |||||
_declspec(dllexport) INT32 mmPoll(mmPollfd *fds, INT32 fdCount, INT32 timeout, mmCompletionHandle handleIOCP, | |||||
MMPA_FUNC_VISIBILITY INT32 mmDeleteTimer(mmTimer timerHandle); | |||||
MMPA_FUNC_VISIBILITY INT32 mmStatGet(const CHAR *path, mmStat_t *buffer); | |||||
MMPA_FUNC_VISIBILITY INT32 mmStat64Get(const CHAR *path, mmStat64_t *buffer); | |||||
MMPA_FUNC_VISIBILITY INT32 mmFStatGet(INT32 fd, mmStat_t *buffer); | |||||
MMPA_FUNC_VISIBILITY INT32 mmMkdir(const CHAR *pathName, mmMode_t mode); | |||||
MMPA_FUNC_VISIBILITY INT32 mmSleep(UINT32 milliSecond); | |||||
MMPA_FUNC_VISIBILITY INT32 mmCreateTaskWithAttr(mmThread *threadHandle, mmUserBlock_t *funcBlock); | |||||
MMPA_FUNC_VISIBILITY INT32 mmGetProcessPrio(mmProcess pid); | |||||
MMPA_FUNC_VISIBILITY INT32 mmSetProcessPrio(mmProcess pid, INT32 processPrio); | |||||
MMPA_FUNC_VISIBILITY INT32 mmGetThreadPrio(mmThread *threadHandle); | |||||
MMPA_FUNC_VISIBILITY INT32 mmSetThreadPrio(mmThread *threadHandle, INT32 threadPrio); | |||||
MMPA_FUNC_VISIBILITY INT32 mmAccess(const CHAR *pathName); | |||||
MMPA_FUNC_VISIBILITY INT32 mmAccess2(const CHAR *pathName, INT32 mode); | |||||
MMPA_FUNC_VISIBILITY INT32 mmRmdir(const CHAR *pathName); | |||||
MMPA_FUNC_VISIBILITY INT32 mmIoctl(mmProcess fd, INT32 ioctlCode, mmIoctlBuf *bufPtr); | |||||
MMPA_FUNC_VISIBILITY INT32 mmSemTimedWait(mmSem_t *sem, INT32 timeout); | |||||
MMPA_FUNC_VISIBILITY mmSsize_t mmWritev(mmSockHandle fd, mmIovSegment *iov, INT32 iovcnt); | |||||
MMPA_FUNC_VISIBILITY VOID mmMb(); | |||||
MMPA_FUNC_VISIBILITY INT32 mmInetAton(const CHAR *addrStr, mmInAddr *addr); | |||||
MMPA_FUNC_VISIBILITY mmProcess mmOpenFile(const CHAR *fileName, UINT32 access, mmCreateFlag fileFlag); | |||||
MMPA_FUNC_VISIBILITY mmSsize_t mmReadFile(mmProcess fileId, VOID *buffer, INT32 len); | |||||
MMPA_FUNC_VISIBILITY mmSsize_t mmWriteFile(mmProcess fileId, VOID *buffer, INT32 len); | |||||
MMPA_FUNC_VISIBILITY INT32 mmCloseFile(mmProcess fileId); | |||||
MMPA_FUNC_VISIBILITY mmAtomicType mmSetData(mmAtomicType *ptr, mmAtomicType value); | |||||
MMPA_FUNC_VISIBILITY mmAtomicType mmValueInc(mmAtomicType *ptr, mmAtomicType value); | |||||
MMPA_FUNC_VISIBILITY mmAtomicType mmValueSub(mmAtomicType *ptr, mmAtomicType value); | |||||
MMPA_FUNC_VISIBILITY mmAtomicType64 mmSetData64(mmAtomicType64 *ptr, mmAtomicType64 value); | |||||
MMPA_FUNC_VISIBILITY mmAtomicType64 mmValueInc64(mmAtomicType64 *ptr, mmAtomicType64 value); | |||||
MMPA_FUNC_VISIBILITY mmAtomicType64 mmValueSub64(mmAtomicType64 *ptr, mmAtomicType64 value); | |||||
MMPA_FUNC_VISIBILITY INT32 mmCreateTaskWithDetach(mmThread *threadHandle, mmUserBlock_t *funcBlock); | |||||
MMPA_FUNC_VISIBILITY INT32 mmCreateNamedPipe(mmPipeHandle pipe[], CHAR *pipeName[], INT32 waitMode); | |||||
MMPA_FUNC_VISIBILITY INT32 mmOpenNamePipe(mmPipeHandle pipe[], CHAR *pipeName[], INT32 waitMode); | |||||
MMPA_FUNC_VISIBILITY VOID mmCloseNamedPipe(mmPipeHandle namedPipe[]); | |||||
MMPA_FUNC_VISIBILITY INT32 mmCreatePipe(mmPipeHandle pipe[], CHAR *pipeName[], UINT32 pipeCount, INT32 waitMode); | |||||
MMPA_FUNC_VISIBILITY INT32 mmOpenPipe(mmPipeHandle pipe[], CHAR *pipeName[], UINT32 pipeCount, INT32 waitMode); | |||||
MMPA_FUNC_VISIBILITY VOID mmClosePipe(mmPipeHandle pipe[], UINT32 pipeCount); | |||||
MMPA_FUNC_VISIBILITY mmCompletionHandle mmCreateCompletionPort(); | |||||
MMPA_FUNC_VISIBILITY VOID mmCloseCompletionPort(mmCompletionHandle handle); | |||||
MMPA_FUNC_VISIBILITY INT32 mmPoll(mmPollfd *fds, INT32 fdCount, INT32 timeout, mmCompletionHandle handleIOCP, | |||||
pmmPollData polledData, mmPollBack pollBack); | pmmPollData polledData, mmPollBack pollBack); | ||||
_declspec(dllexport) INT32 mmGetErrorCode(); | |||||
_declspec(dllexport) CHAR *mmGetErrorFormatMessage(mmErrorMsg errnum, CHAR *buf, mmSize size); | |||||
_declspec(dllexport) INT32 mmGetTimeOfDay(mmTimeval *timeVal, mmTimezone *timeZone); | |||||
_declspec(dllexport) mmTimespec mmGetTickCount(); | |||||
_declspec(dllexport) INT32 mmGetRealPath(CHAR *path, CHAR *realPath); | |||||
_declspec(dllexport) INT32 mmRealPath(const CHAR *path, CHAR *realPath, INT32 realPathLen); | |||||
_declspec(dllexport) INT32 mmDup2(INT32 oldFd, INT32 newFd); | |||||
_declspec(dllexport) INT32 mmDup(INT32 fd); | |||||
_declspec(dllexport) INT32 mmUnlink(const CHAR *filename); | |||||
_declspec(dllexport) INT32 mmChmod(const CHAR *filename, INT32 mode); | |||||
_declspec(dllexport) INT32 mmFileno(FILE *stream); | |||||
_declspec(dllexport) INT32 mmScandir(const CHAR *path, mmDirent ***entryList, mmFilter filterFunc, mmSort sort); | |||||
_declspec(dllexport) VOID mmScandirFree(mmDirent **entryList, INT32 count); | |||||
_declspec(dllexport) mmMsgid mmMsgCreate(mmKey_t key, INT32 msgFlag); | |||||
_declspec(dllexport) mmMsgid mmMsgOpen(mmKey_t key, INT32 msgFlag); | |||||
_declspec(dllexport) INT32 mmMsgRcv(mmMsgid msqid, VOID *buf, INT32 bufLen, INT32 msgFlag); | |||||
_declspec(dllexport) INT32 mmMsgSnd(mmMsgid msqid, VOID *buf, INT32 bufLen, INT32 msgFlag); | |||||
_declspec(dllexport) INT32 mmMsgClose(mmMsgid msqid); | |||||
_declspec(dllexport) INT32 mmLocalTimeR(const time_t *timep, struct tm *result); | |||||
_declspec(dllexport) INT32 mmGetOpt(INT32 argc, char *const *argv, const char *opts); | |||||
_declspec(dllexport) INT32 | |||||
MMPA_FUNC_VISIBILITY INT32 mmGetErrorCode(); | |||||
MMPA_FUNC_VISIBILITY CHAR *mmGetErrorFormatMessage(mmErrorMsg errnum, CHAR *buf, mmSize size); | |||||
MMPA_FUNC_VISIBILITY INT32 mmGetTimeOfDay(mmTimeval *timeVal, mmTimezone *timeZone); | |||||
MMPA_FUNC_VISIBILITY mmTimespec mmGetTickCount(); | |||||
MMPA_FUNC_VISIBILITY INT32 mmGetRealPath(CHAR *path, CHAR *realPath); | |||||
MMPA_FUNC_VISIBILITY INT32 mmRealPath(const CHAR *path, CHAR *realPath, INT32 realPathLen); | |||||
MMPA_FUNC_VISIBILITY INT32 mmDup2(INT32 oldFd, INT32 newFd); | |||||
MMPA_FUNC_VISIBILITY INT32 mmDup(INT32 fd); | |||||
MMPA_FUNC_VISIBILITY INT32 mmUnlink(const CHAR *filename); | |||||
MMPA_FUNC_VISIBILITY INT32 mmChmod(const CHAR *filename, INT32 mode); | |||||
MMPA_FUNC_VISIBILITY INT32 mmFileno(FILE *stream); | |||||
MMPA_FUNC_VISIBILITY INT32 mmScandir(const CHAR *path, mmDirent ***entryList, mmFilter filterFunc, mmSort sort); | |||||
MMPA_FUNC_VISIBILITY INT32 mmScandir2(const CHAR *path, mmDirent2 ***entryList, mmFilter2 filterFunc, mmSort2 sort); | |||||
MMPA_FUNC_VISIBILITY VOID mmScandirFree(mmDirent **entryList, INT32 count); | |||||
MMPA_FUNC_VISIBILITY VOID mmScandirFree2(mmDirent2 **entryList, INT32 count); | |||||
MMPA_FUNC_VISIBILITY mmMsgid mmMsgCreate(mmKey_t key, INT32 msgFlag); | |||||
MMPA_FUNC_VISIBILITY mmMsgid mmMsgOpen(mmKey_t key, INT32 msgFlag); | |||||
MMPA_FUNC_VISIBILITY INT32 mmMsgRcv(mmMsgid msqid, VOID *buf, INT32 bufLen, INT32 msgFlag); | |||||
MMPA_FUNC_VISIBILITY INT32 mmMsgSnd(mmMsgid msqid, VOID *buf, INT32 bufLen, INT32 msgFlag); | |||||
MMPA_FUNC_VISIBILITY INT32 mmMsgClose(mmMsgid msqid); | |||||
MMPA_FUNC_VISIBILITY INT32 mmLocalTimeR(const time_t *timep, struct tm *result); | |||||
MMPA_FUNC_VISIBILITY INT32 mmGetOptErr(); | |||||
MMPA_FUNC_VISIBILITY VOID mmSetOptErr(INT32 mmOptErr); | |||||
MMPA_FUNC_VISIBILITY INT32 mmGetOptInd(); | |||||
MMPA_FUNC_VISIBILITY VOID mmSetOptInd(INT32 mmOptInd); | |||||
MMPA_FUNC_VISIBILITY INT32 mmGetOptOpt(); | |||||
MMPA_FUNC_VISIBILITY VOID mmSetOpOpt(INT32 mmOptOpt); | |||||
MMPA_FUNC_VISIBILITY CHAR *mmGetOptArg(); | |||||
MMPA_FUNC_VISIBILITY VOID mmSetOptArg(CHAR *mmOptArg); | |||||
MMPA_FUNC_VISIBILITY INT32 mmGetOpt(INT32 argc, char *const *argv, const char *opts); | |||||
MMPA_FUNC_VISIBILITY INT32 | |||||
mmGetOptLong(INT32 argc, CHAR *const *argv, const CHAR *opts, const mmStructOption *longopts, INT32 *longindex); | mmGetOptLong(INT32 argc, CHAR *const *argv, const CHAR *opts, const mmStructOption *longopts, INT32 *longindex); | ||||
_declspec(dllexport) LONG mmLseek(INT32 fd, INT64 offset, INT32 seekFlag); | |||||
_declspec(dllexport) INT32 mmFtruncate(mmProcess fd, UINT32 length); | |||||
MMPA_FUNC_VISIBILITY LONG mmLseek(INT32 fd, INT64 offset, INT32 seekFlag); | |||||
MMPA_FUNC_VISIBILITY INT32 mmFtruncate(mmProcess fd, UINT32 length); | |||||
_declspec(dllexport) INT32 mmTlsCreate(mmThreadKey *key, VOID (*destructor)(VOID *)); | |||||
_declspec(dllexport) INT32 mmTlsSet(mmThreadKey key, const VOID *value); | |||||
_declspec(dllexport) VOID *mmTlsGet(mmThreadKey key); | |||||
_declspec(dllexport) INT32 mmTlsDelete(mmThreadKey key); | |||||
_declspec(dllexport) INT32 mmGetOsType(); | |||||
MMPA_FUNC_VISIBILITY INT32 mmTlsCreate(mmThreadKey *key, VOID (*destructor)(VOID *)); | |||||
MMPA_FUNC_VISIBILITY INT32 mmTlsSet(mmThreadKey key, const VOID *value); | |||||
MMPA_FUNC_VISIBILITY VOID *mmTlsGet(mmThreadKey key); | |||||
MMPA_FUNC_VISIBILITY INT32 mmTlsDelete(mmThreadKey key); | |||||
MMPA_FUNC_VISIBILITY INT32 mmGetOsType(); | |||||
_declspec(dllexport) INT32 mmFsync(mmProcess fd); | |||||
_declspec(dllexport) INT32 mmFsync2(INT32 fd); | |||||
_declspec(dllexport) INT32 mmChdir(const CHAR *path); | |||||
_declspec(dllexport) INT32 mmUmask(INT32 pmode); | |||||
_declspec(dllexport) INT32 mmWaitPid(mmProcess pid, INT32 *status, INT32 options); | |||||
MMPA_FUNC_VISIBILITY INT32 mmFsync(mmProcess fd); | |||||
MMPA_FUNC_VISIBILITY INT32 mmFsync2(INT32 fd); | |||||
MMPA_FUNC_VISIBILITY INT32 mmChdir(const CHAR *path); | |||||
MMPA_FUNC_VISIBILITY INT32 mmUmask(INT32 pmode); | |||||
MMPA_FUNC_VISIBILITY INT32 mmWaitPid(mmProcess pid, INT32 *status, INT32 options); | |||||
_declspec(dllexport) INT32 mmGetCwd(CHAR *buffer, INT32 maxLen); | |||||
_declspec(dllexport) CHAR *mmStrTokR(CHAR *str, const CHAR *delim, CHAR **saveptr); | |||||
MMPA_FUNC_VISIBILITY INT32 mmGetCwd(CHAR *buffer, INT32 maxLen); | |||||
MMPA_FUNC_VISIBILITY CHAR *mmStrTokR(CHAR *str, const CHAR *delim, CHAR **saveptr); | |||||
_declspec(dllexport) INT32 mmGetEnv(const CHAR *name, CHAR *value, UINT32 len); | |||||
_declspec(dllexport) INT32 mmSetEnv(const CHAR *name, const CHAR *value, INT32 overwrite); | |||||
_declspec(dllexport) CHAR *mmDirName(CHAR *path); | |||||
_declspec(dllexport) CHAR *mmBaseName(CHAR *path); | |||||
_declspec(dllexport) INT32 mmGetDiskFreeSpace(const char *path, mmDiskSize *diskSize); | |||||
MMPA_FUNC_VISIBILITY INT32 mmGetEnv(const CHAR *name, CHAR *value, UINT32 len); | |||||
MMPA_FUNC_VISIBILITY INT32 mmSetEnv(const CHAR *name, const CHAR *value, INT32 overwrite); | |||||
MMPA_FUNC_VISIBILITY CHAR *mmDirName(CHAR *path); | |||||
MMPA_FUNC_VISIBILITY CHAR *mmBaseName(CHAR *path); | |||||
MMPA_FUNC_VISIBILITY INT32 mmGetDiskFreeSpace(const char *path, mmDiskSize *diskSize); | |||||
_declspec(dllexport) INT32 mmSetThreadName(mmThread *threadHandle, const CHAR *name); | |||||
_declspec(dllexport) INT32 mmGetThreadName(mmThread *threadHandle, CHAR *name, INT32 size); | |||||
MMPA_FUNC_VISIBILITY INT32 mmSetThreadName(mmThread *threadHandle, const CHAR *name); | |||||
MMPA_FUNC_VISIBILITY INT32 mmGetThreadName(mmThread *threadHandle, CHAR *name, INT32 size); | |||||
/* | /* | ||||
* Function: set the thread name of the currently executing thread - internal call of thread, which is not supported | * Function: set the thread name of the currently executing thread - internal call of thread, which is not supported | ||||
@@ -504,7 +522,7 @@ _declspec(dllexport) INT32 mmGetThreadName(mmThread *threadHandle, CHAR *name, I | |||||
* The input parameter error returns EN_INVALID_PARAM, the execution success returns EN_OK, and the | * The input parameter error returns EN_INVALID_PARAM, the execution success returns EN_OK, and the | ||||
* execution failure returns EN_ERROR | * execution failure returns EN_ERROR | ||||
*/ | */ | ||||
_declspec(dllexport) INT32 mmSetCurrentThreadName(const CHAR *name); | |||||
MMPA_FUNC_VISIBILITY INT32 mmSetCurrentThreadName(const CHAR *name); | |||||
/* | /* | ||||
* Function: Get the thread name of the currently executing thread - thread body call, not supported under windows, null | * Function: Get the thread name of the currently executing thread - thread body call, not supported under windows, null | ||||
@@ -513,25 +531,25 @@ _declspec(dllexport) INT32 mmSetCurrentThreadName(const CHAR *name); | |||||
* The input parameter error returns EN_INVALID_PARAM, the execution success returns | * The input parameter error returns EN_INVALID_PARAM, the execution success returns | ||||
* EN_OK, and the execution failure returns EN_ERROR | * EN_OK, and the execution failure returns EN_ERROR | ||||
*/ | */ | ||||
_declspec(dllexport) INT32 mmGetCurrentThreadName(CHAR *name, INT32 size); | |||||
_declspec(dllexport) INT32 mmGetFileSize(const CHAR *fileName, ULONGLONG *length); | |||||
_declspec(dllexport) INT32 mmIsDir(const CHAR *fileName); | |||||
_declspec(dllexport) INT32 mmGetOsName(CHAR *name, INT32 nameSize); | |||||
_declspec(dllexport) INT32 mmGetOsVersion(CHAR *versionInfo, INT32 versionLength); | |||||
_declspec(dllexport) INT32 mmGetMac(mmMacInfo **list, INT32 *count); | |||||
_declspec(dllexport) INT32 mmGetMacFree(mmMacInfo *list, INT32 count); | |||||
_declspec(dllexport) INT32 mmGetCpuInfo(mmCpuDesc **cpuInfo, INT32 *count); | |||||
_declspec(dllexport) INT32 mmCpuInfoFree(mmCpuDesc *cpuInfo, INT32 count); | |||||
_declspec(dllexport) INT32 | |||||
MMPA_FUNC_VISIBILITY INT32 mmGetCurrentThreadName(CHAR *name, INT32 size); | |||||
MMPA_FUNC_VISIBILITY INT32 mmGetFileSize(const CHAR *fileName, ULONGLONG *length); | |||||
MMPA_FUNC_VISIBILITY INT32 mmIsDir(const CHAR *fileName); | |||||
MMPA_FUNC_VISIBILITY INT32 mmGetOsName(CHAR *name, INT32 nameSize); | |||||
MMPA_FUNC_VISIBILITY INT32 mmGetOsVersion(CHAR *versionInfo, INT32 versionLength); | |||||
MMPA_FUNC_VISIBILITY INT32 mmGetMac(mmMacInfo **list, INT32 *count); | |||||
MMPA_FUNC_VISIBILITY INT32 mmGetMacFree(mmMacInfo *list, INT32 count); | |||||
MMPA_FUNC_VISIBILITY INT32 mmGetCpuInfo(mmCpuDesc **cpuInfo, INT32 *count); | |||||
MMPA_FUNC_VISIBILITY INT32 mmCpuInfoFree(mmCpuDesc *cpuInfo, INT32 count); | |||||
MMPA_FUNC_VISIBILITY INT32 | |||||
mmCreateProcess(const CHAR *fileName, const mmArgvEnv *env, const char *stdoutRedirectFile, mmProcess *id); | mmCreateProcess(const CHAR *fileName, const mmArgvEnv *env, const char *stdoutRedirectFile, mmProcess *id); | ||||
_declspec(dllexport) INT32 | |||||
MMPA_FUNC_VISIBILITY INT32 | |||||
mmCreateTaskWithThreadAttr(mmThread *threadHandle, const mmUserBlock_t *funcBlock, const mmThreadAttr *threadAttr); | mmCreateTaskWithThreadAttr(mmThread *threadHandle, const mmUserBlock_t *funcBlock, const mmThreadAttr *threadAttr); | ||||
_declspec(dllexport) mmFileHandle mmShmOpen(const CHAR *name, INT32 oflag, mmMode_t mode); | |||||
_declspec(dllexport) INT32 mmShmUnlink(const CHAR *name); | |||||
_declspec(dllexport) VOID *mmMmap(mmFd_t fd, mmSize_t size, mmOfft_t offset, mmFd_t *extra, INT32 prot, INT32 flags); | |||||
_declspec(dllexport) INT32 mmMunMap(VOID *data, mmSize_t size, mmFd_t *extra); | |||||
MMPA_FUNC_VISIBILITY mmFileHandle mmShmOpen(const CHAR *name, INT32 oflag, mmMode_t mode); | |||||
MMPA_FUNC_VISIBILITY INT32 mmShmUnlink(const CHAR *name); | |||||
MMPA_FUNC_VISIBILITY VOID *mmMmap(mmFd_t fd, mmSize_t size, mmOfft_t offset, mmFd_t *extra, INT32 prot, INT32 flags); | |||||
MMPA_FUNC_VISIBILITY INT32 mmMunMap(VOID *data, mmSize_t size, mmFd_t *extra); | |||||
#ifdef __cplusplus | #ifdef __cplusplus | ||||
#if __cplusplus | #if __cplusplus | ||||
} | } | ||||
@@ -391,6 +391,8 @@ typedef void (*rtErrorCallback)(rtExceptionType); | |||||
typedef void (*rtTaskFailCallback)(rtExceptionInfo *exceptionInfo); | typedef void (*rtTaskFailCallback)(rtExceptionInfo *exceptionInfo); | ||||
typedef void (*rtDeviceStateCallback)(uint32_t devId, bool isOpen); | |||||
/** | /** | ||||
* @ingroup dvrt_base | * @ingroup dvrt_base | ||||
* @brief stream handle. | * @brief stream handle. | ||||
@@ -419,7 +421,7 @@ RTS_API rtError_t rtSetProfDirEx(const char *profDir, const char *address, const | |||||
* @ingroup profiling_base | * @ingroup profiling_base | ||||
* @brief init profiler object. | * @brief init profiler object. | ||||
*/ | */ | ||||
RTS_API rtError_t rtProfilerInit(const char *profdir, const char *address, const char *job_ctx); | |||||
RTS_API rtError_t rtProfilerInit(const char *profDir, const char *address, const char *jobCtx); | |||||
/** | /** | ||||
* @ingroup profiling_base | * @ingroup profiling_base | ||||
@@ -473,6 +475,16 @@ RTS_API rtError_t rtSetExceptCallback(rtErrorCallback callback); | |||||
*/ | */ | ||||
RTS_API rtError_t rtSetTaskFailCallback(rtTaskFailCallback callback); | RTS_API rtError_t rtSetTaskFailCallback(rtTaskFailCallback callback); | ||||
/** | |||||
* @ingroup dvrt_base | |||||
* @brief register callback for deviceid | |||||
* @param [in] uniName unique register name, can't be null | |||||
* @param [in] callback Device state callback function | |||||
* @param [out] NA | |||||
* @return RT_ERROR_NONE for ok | |||||
*/ | |||||
RTS_API rtError_t rtRegDeviceStateCallback(const char *regName, rtDeviceStateCallback callback); | |||||
/** | /** | ||||
* @ingroup dvrt_base | * @ingroup dvrt_base | ||||
* @brief notify handle. | * @brief notify handle. | ||||
@@ -593,7 +605,7 @@ RTS_API rtError_t rtLabelCreateEx(rtLabel_t *label, rtStream_t stream); | |||||
* @return RT_ERROR_NONE for ok | * @return RT_ERROR_NONE for ok | ||||
* @return RT_ERROR_INVALID_VALUE for input null ptr | * @return RT_ERROR_INVALID_VALUE for input null ptr | ||||
*/ | */ | ||||
RTS_API rtError_t rtGetTaskIdAndStreamID(uint32_t *taskid, uint32_t *streamid); | |||||
RTS_API rtError_t rtGetTaskIdAndStreamID(uint32_t *taskId, uint32_t *streamId); | |||||
#if defined(__cplusplus) && !defined(COMPILE_OMG_PACKAGE) | #if defined(__cplusplus) && !defined(COMPILE_OMG_PACKAGE) | ||||
} | } | ||||
@@ -139,7 +139,7 @@ RTS_API rtError_t rtSetGroup(int32_t groupId); | |||||
* @param [in] groupid count | * @param [in] groupid count | ||||
* @return RT_ERROR_NONE for ok, errno for failed | * @return RT_ERROR_NONE for ok, errno for failed | ||||
*/ | */ | ||||
RTS_API rtError_t rtGetGroupInfo(int32_t groupId, rtGroupInfo_t* groupInfo, uint32_t count); | |||||
RTS_API rtError_t rtGetGroupInfo(int32_t groupId, rtGroupInfo_t *groupInfo, uint32_t count); | |||||
/** | /** | ||||
* @ingroup | * @ingroup | ||||
@@ -295,7 +295,7 @@ RTS_API rtError_t rtGetRunMode(rtRunMode *mode); | |||||
* @return RT_ERROR_NONE for ok | * @return RT_ERROR_NONE for ok | ||||
* @return RT_ERROR_DRV_ERR for can not get aicpu deploy | * @return RT_ERROR_DRV_ERR for can not get aicpu deploy | ||||
*/ | */ | ||||
RTS_API rtError_t rtGetAicpuDeploy(rtAicpuDeployType_t *deplyType); | |||||
RTS_API rtError_t rtGetAicpuDeploy(rtAicpuDeployType_t *deployType); | |||||
/** | /** | ||||
* @ingroup dvrt_dev | * @ingroup dvrt_dev | ||||
@@ -309,7 +309,7 @@ RTS_API rtError_t rtSetSocVersion(const char *version); | |||||
* @brief get chipType | * @brief get chipType | ||||
* @return RT_ERROR_NONE for ok | * @return RT_ERROR_NONE for ok | ||||
*/ | */ | ||||
rtError_t rtGetSocVersion(char *version, const uint32_t maxLen); | |||||
RTS_API rtError_t rtGetSocVersion(char *version, const uint32_t maxLen); | |||||
/** | /** | ||||
* @ingroup dvrt_dev | * @ingroup dvrt_dev | ||||
@@ -57,6 +57,16 @@ RTS_API rtError_t rtEventCreateWithFlag(rtEvent_t *event, uint32_t flag); | |||||
*/ | */ | ||||
RTS_API rtError_t rtEventDestroy(rtEvent_t event); | RTS_API rtError_t rtEventDestroy(rtEvent_t event); | ||||
/** | |||||
* @ingroup dvrt_event | |||||
* @brief get event id | |||||
* @param [in] event_ event to be get | |||||
* @param [in|out] event_id event_id id | |||||
* @return RT_ERROR_NONE for ok | |||||
* @return RT_ERROR_INVALID_VALUE for error input | |||||
*/ | |||||
RTS_API rtError_t rtGetEventID(rtEvent_t event, uint32_t *eventId); | |||||
/** | /** | ||||
* @ingroup dvrt_event | * @ingroup dvrt_event | ||||
* @brief event record | * @brief event record | ||||
@@ -116,13 +126,13 @@ RTS_API rtError_t rtEventGetTimeStamp(uint64_t *time, rtEvent_t event); | |||||
/** | /** | ||||
* @ingroup dvrt_event | * @ingroup dvrt_event | ||||
* @brief name an event | * @brief name an event | ||||
* @param [in] event_ event to be named | |||||
* @param [in] event event to be named | |||||
* @param [in] name identification name | * @param [in] name identification name | ||||
* @return RT_ERROR_NONE for ok | * @return RT_ERROR_NONE for ok | ||||
* @return RT_ERROR_INVALID_VALUE for error input of event, name | * @return RT_ERROR_INVALID_VALUE for error input of event, name | ||||
* @return RT_ERROR_DRV_ERR for driver error | * @return RT_ERROR_DRV_ERR for driver error | ||||
*/ | */ | ||||
RTS_API rtError_t rtNameEvent(rtEvent_t event_, const char *name); | |||||
RTS_API rtError_t rtNameEvent(rtEvent_t event, const char *name); | |||||
/** | /** | ||||
* @ingroup dvrt_event | * @ingroup dvrt_event | ||||
@@ -132,7 +142,7 @@ RTS_API rtError_t rtNameEvent(rtEvent_t event_, const char *name); | |||||
* @return RT_ERROR_NONE for ok | * @return RT_ERROR_NONE for ok | ||||
* @return RT_ERROR_INVALID_VALUE for error input | * @return RT_ERROR_INVALID_VALUE for error input | ||||
*/ | */ | ||||
RTS_API rtError_t rtNotifyCreate(int32_t device_id, rtNotify_t *notify_); | |||||
RTS_API rtError_t rtNotifyCreate(int32_t deviceId, rtNotify_t *notify); | |||||
/** | /** | ||||
* @ingroup dvrt_event | * @ingroup dvrt_event | ||||
@@ -142,7 +152,7 @@ RTS_API rtError_t rtNotifyCreate(int32_t device_id, rtNotify_t *notify_); | |||||
* @return RT_ERROR_INVALID_VALUE for error input | * @return RT_ERROR_INVALID_VALUE for error input | ||||
* @return RT_ERROR_DRV_ERR for driver error | * @return RT_ERROR_DRV_ERR for driver error | ||||
*/ | */ | ||||
RTS_API rtError_t rtNotifyDestroy(rtNotify_t notify_); | |||||
RTS_API rtError_t rtNotifyDestroy(rtNotify_t notify); | |||||
/** | /** | ||||
* @ingroup dvrt_event | * @ingroup dvrt_event | ||||
@@ -153,7 +163,7 @@ RTS_API rtError_t rtNotifyDestroy(rtNotify_t notify_); | |||||
* @return RT_ERROR_INVALID_VALUE for error input | * @return RT_ERROR_INVALID_VALUE for error input | ||||
* @return RT_ERROR_STREAM_CONTEXT for stream is not in current ctx | * @return RT_ERROR_STREAM_CONTEXT for stream is not in current ctx | ||||
*/ | */ | ||||
RTS_API rtError_t rtNotifyRecord(rtNotify_t notify_, rtStream_t stream_); | |||||
RTS_API rtError_t rtNotifyRecord(rtNotify_t notify, rtStream_t stream); | |||||
/** | /** | ||||
* @ingroup dvrt_event | * @ingroup dvrt_event | ||||
@@ -164,7 +174,7 @@ RTS_API rtError_t rtNotifyRecord(rtNotify_t notify_, rtStream_t stream_); | |||||
* @return RT_ERROR_INVALID_VALUE for error input | * @return RT_ERROR_INVALID_VALUE for error input | ||||
* @return RT_ERROR_STREAM_CONTEXT for stream is not in current ctx | * @return RT_ERROR_STREAM_CONTEXT for stream is not in current ctx | ||||
*/ | */ | ||||
RTS_API rtError_t rtNotifyWait(rtNotify_t notify_, rtStream_t stream_); | |||||
RTS_API rtError_t rtNotifyWait(rtNotify_t notify, rtStream_t stream); | |||||
/** | /** | ||||
* @ingroup dvrt_event | * @ingroup dvrt_event | ||||
@@ -174,7 +184,7 @@ RTS_API rtError_t rtNotifyWait(rtNotify_t notify_, rtStream_t stream_); | |||||
* @return RT_ERROR_NONE for ok | * @return RT_ERROR_NONE for ok | ||||
* @return RT_ERROR_INVALID_VALUE for error input | * @return RT_ERROR_INVALID_VALUE for error input | ||||
*/ | */ | ||||
RTS_API rtError_t rtNameNotify(rtNotify_t notify_, const char *name); | |||||
RTS_API rtError_t rtNameNotify(rtNotify_t notify, const char *name); | |||||
/** | /** | ||||
* @ingroup dvrt_event | * @ingroup dvrt_event | ||||
@@ -184,7 +194,7 @@ RTS_API rtError_t rtNameNotify(rtNotify_t notify_, const char *name); | |||||
* @return RT_ERROR_NONE for ok | * @return RT_ERROR_NONE for ok | ||||
* @return RT_ERROR_INVALID_VALUE for error input | * @return RT_ERROR_INVALID_VALUE for error input | ||||
*/ | */ | ||||
RTS_API rtError_t rtGetNotifyID(rtNotify_t notify_, uint32_t *notify_id); | |||||
RTS_API rtError_t rtGetNotifyID(rtNotify_t notify, uint32_t *notifyId); | |||||
/** | /** | ||||
* @ingroup dvrt_event | * @ingroup dvrt_event | ||||
@@ -199,7 +209,7 @@ RTS_API rtError_t rtIpcSetNotifyName(rtNotify_t notify, char *name, uint32_t len | |||||
/** | /** | ||||
* @ingroup dvrt_event | * @ingroup dvrt_event | ||||
* @brief Open IPC notify | * @brief Open IPC notify | ||||
* @param [in] notify notify to be opened | |||||
* @param [out] notify the opened notify | |||||
* @param [in] name identification name | * @param [in] name identification name | ||||
* @return RT_ERROR_NONE for ok | * @return RT_ERROR_NONE for ok | ||||
* @return RT_ERROR_INVALID_VALUE for error input | * @return RT_ERROR_INVALID_VALUE for error input | ||||
@@ -169,6 +169,18 @@ typedef void (*rtCallback_t)(void *fnData); | |||||
*/ | */ | ||||
#define RT_DEV_BINARY_MAGIC_ELF_AIVEC 0x41415246 | #define RT_DEV_BINARY_MAGIC_ELF_AIVEC 0x41415246 | ||||
/** | |||||
* @ingroup rt_kernel | |||||
* @brief magic number of elf binary for aicube | |||||
*/ | |||||
#define RT_DEV_BINARY_MAGIC_ELF_AICUBE 0x41415247 | |||||
/** | |||||
* @ingroup rt_kernel | |||||
* @brief magic number of elf binary for aivector | |||||
*/ | |||||
#define RT_DEV_BINARY_MAGIC_ELF_AIVECTOR 0x41415248 | |||||
/** | /** | ||||
* @ingroup rt_kernel_flags | * @ingroup rt_kernel_flags | ||||
* @brief kernel op bit flags | * @brief kernel op bit flags | ||||
@@ -285,7 +297,7 @@ RTS_API rtError_t rtQueryFunctionRegistered(const char *stubName); | |||||
* @return RT_ERROR_INVALID_VALUE for error input | * @return RT_ERROR_INVALID_VALUE for error input | ||||
*/ | */ | ||||
RTS_API rtError_t rtKernelConfigDump(uint32_t kind, uint32_t dumpSizePerBlock, uint32_t blockDim, void **dumpBaseAddr, | RTS_API rtError_t rtKernelConfigDump(uint32_t kind, uint32_t dumpSizePerBlock, uint32_t blockDim, void **dumpBaseAddr, | ||||
rtStream_t stream_); | |||||
rtStream_t stream); | |||||
/** | /** | ||||
* @ingroup rt_kernel | * @ingroup rt_kernel | ||||
@@ -297,7 +309,7 @@ RTS_API rtError_t rtKernelConfigDump(uint32_t kind, uint32_t dumpSizePerBlock, u | |||||
* @param [in] smDesc shared memory description | * @param [in] smDesc shared memory description | ||||
* @param [in] stream associated stream | * @param [in] stream associated stream | ||||
* @return RT_ERROR_NONE for ok | * @return RT_ERROR_NONE for ok | ||||
* @return RT_ERROR_INVALID_VALUE for error input | |||||
* @return RT_ERROR_INVALID_VALUE for error input | |||||
*/ | */ | ||||
RTS_API rtError_t rtKernelLaunch(const void *stubFunc, uint32_t blockDim, void *args, uint32_t argsSize, | RTS_API rtError_t rtKernelLaunch(const void *stubFunc, uint32_t blockDim, void *args, uint32_t argsSize, | ||||
rtSmDesc_t *smDesc, rtStream_t stream); | rtSmDesc_t *smDesc, rtStream_t stream); | ||||
@@ -313,7 +325,7 @@ RTS_API rtError_t rtKernelLaunch(const void *stubFunc, uint32_t blockDim, void * | |||||
* @param [in] stream associated stream | * @param [in] stream associated stream | ||||
* @param [in] flag dump flag | * @param [in] flag dump flag | ||||
* @return RT_ERROR_NONE for ok | * @return RT_ERROR_NONE for ok | ||||
* @return RT_ERROR_INVALID_VALUE for error input | |||||
* @return RT_ERROR_INVALID_VALUE for error input | |||||
*/ | */ | ||||
RTS_API rtError_t rtKernelLaunchWithFlag(const void *stubFunc, uint32_t blockDim, void *args, uint32_t argsSize, | RTS_API rtError_t rtKernelLaunchWithFlag(const void *stubFunc, uint32_t blockDim, void *args, uint32_t argsSize, | ||||
rtSmDesc_t *smDesc, rtStream_t stream, uint32_t flags); | rtSmDesc_t *smDesc, rtStream_t stream, uint32_t flags); | ||||
@@ -375,7 +387,7 @@ typedef void *rtModel_t; | |||||
* @return RT_ERROR_NONE for ok | * @return RT_ERROR_NONE for ok | ||||
* @return RT_ERROR_INVALID_VALUE for error input | * @return RT_ERROR_INVALID_VALUE for error input | ||||
*/ | */ | ||||
RTS_API rtError_t rtDumpAddrSet(rtModel_t model, void *addr , uint32_t dumpSize, uint32_t flag); | |||||
RTS_API rtError_t rtDumpAddrSet(rtModel_t model, void *addr, uint32_t dumpSize, uint32_t flag); | |||||
/** | /** | ||||
* @ingroup rt_kernel | * @ingroup rt_kernel | ||||
@@ -444,7 +456,7 @@ RTS_API rtError_t rtKernelConfigTransArg(const void *ptr, uint64_t size, uint32_ | |||||
* @brief start fusion kernels. | * @brief start fusion kernels. | ||||
* @param [in] stream stream for fusion kernels | * @param [in] stream stream for fusion kernels | ||||
* @return RT_ERROR_NONE for ok | * @return RT_ERROR_NONE for ok | ||||
* @return RT_ERROR_INVALID_VALUE for error input | |||||
* @return RT_ERROR_INVALID_VALUE for error input | |||||
*/ | */ | ||||
RTS_API rtError_t rtKernelFusionStart(rtStream_t stream); | RTS_API rtError_t rtKernelFusionStart(rtStream_t stream); | ||||
@@ -453,7 +465,7 @@ RTS_API rtError_t rtKernelFusionStart(rtStream_t stream); | |||||
* @brief end fusion kernels. | * @brief end fusion kernels. | ||||
* @param [in] stream stream for fusion kernels | * @param [in] stream stream for fusion kernels | ||||
* @return RT_ERROR_NONE for ok | * @return RT_ERROR_NONE for ok | ||||
* @return RT_ERROR_INVALID_VALUE for error input | |||||
* @return RT_ERROR_INVALID_VALUE for error input | |||||
*/ | */ | ||||
RTS_API rtError_t rtKernelFusionEnd(rtStream_t stream); | RTS_API rtError_t rtKernelFusionEnd(rtStream_t stream); | ||||
@@ -462,7 +474,7 @@ RTS_API rtError_t rtKernelFusionEnd(rtStream_t stream); | |||||
* @brief set kernelinfo callback | * @brief set kernelinfo callback | ||||
* @param [in] callback | * @param [in] callback | ||||
* @return RT_ERROR_NONE for ok | * @return RT_ERROR_NONE for ok | ||||
* @return RT_ERROR_INVALID_VALUE for error input | |||||
* @return RT_ERROR_INVALID_VALUE for error input | |||||
*/ | */ | ||||
RTS_API rtError_t rtSetKernelReportCallback(rtKernelReportCallback callBack); | RTS_API rtError_t rtSetKernelReportCallback(rtKernelReportCallback callBack); | ||||
@@ -472,7 +484,7 @@ RTS_API rtError_t rtSetKernelReportCallback(rtKernelReportCallback callBack); | |||||
* @param [in] threadId thread id for stream | * @param [in] threadId thread id for stream | ||||
* @param [in] stream stream for subscribe | * @param [in] stream stream for subscribe | ||||
* @return RT_ERROR_NONE for ok | * @return RT_ERROR_NONE for ok | ||||
* @return RT_ERROR_INVALID_VALUE for error input | |||||
* @return RT_ERROR_INVALID_VALUE for error input | |||||
*/ | */ | ||||
RTS_API rtError_t rtSubscribeReport(uint64_t threadId, rtStream_t stream); | RTS_API rtError_t rtSubscribeReport(uint64_t threadId, rtStream_t stream); | ||||
@@ -483,7 +495,7 @@ RTS_API rtError_t rtSubscribeReport(uint64_t threadId, rtStream_t stream); | |||||
* @param [in] fnData user data | * @param [in] fnData user data | ||||
* @param [in] stream subscribed stream | * @param [in] stream subscribed stream | ||||
* @return RT_ERROR_NONE for ok | * @return RT_ERROR_NONE for ok | ||||
* @return RT_ERROR_INVALID_VALUE for error input | |||||
* @return RT_ERROR_INVALID_VALUE for error input | |||||
*/ | */ | ||||
RTS_API rtError_t rtCallbackLaunch(rtCallback_t callBackFunc, void *fnData, rtStream_t stream, bool isBlock); | RTS_API rtError_t rtCallbackLaunch(rtCallback_t callBackFunc, void *fnData, rtStream_t stream, bool isBlock); | ||||
@@ -492,7 +504,7 @@ RTS_API rtError_t rtCallbackLaunch(rtCallback_t callBackFunc, void *fnData, rtSt | |||||
* @brief process callback report. | * @brief process callback report. | ||||
* @param [in] timeout if timeout=-1, while(1); else timeout | * @param [in] timeout if timeout=-1, while(1); else timeout | ||||
* @return RT_ERROR_NONE for ok | * @return RT_ERROR_NONE for ok | ||||
* @return RT_ERROR_INVALID_VALUE for error input | |||||
* @return RT_ERROR_INVALID_VALUE for error input | |||||
*/ | */ | ||||
RTS_API rtError_t rtProcessReport(int32_t timeout); | RTS_API rtError_t rtProcessReport(int32_t timeout); | ||||
@@ -502,7 +514,7 @@ RTS_API rtError_t rtProcessReport(int32_t timeout); | |||||
* @param [in] threadId thread id for stream | * @param [in] threadId thread id for stream | ||||
* @param [in] stream stream for subscribe | * @param [in] stream stream for subscribe | ||||
* @return RT_ERROR_NONE for ok | * @return RT_ERROR_NONE for ok | ||||
* @return RT_ERROR_INVALID_VALUE for error input | |||||
* @return RT_ERROR_INVALID_VALUE for error input | |||||
*/ | */ | ||||
RTS_API rtError_t rtUnSubscribeReport(uint64_t threadId, rtStream_t stream); | RTS_API rtError_t rtUnSubscribeReport(uint64_t threadId, rtStream_t stream); | ||||
@@ -510,7 +522,7 @@ RTS_API rtError_t rtUnSubscribeReport(uint64_t threadId, rtStream_t stream); | |||||
* @ingroup profiling_base | * @ingroup profiling_base | ||||
* @brief start online prof. | * @brief start online prof. | ||||
* @return RT_ERROR_NONE for ok | * @return RT_ERROR_NONE for ok | ||||
* @return RT_ERROR_INVALID_VALUE for error input | |||||
* @return RT_ERROR_INVALID_VALUE for error input | |||||
*/ | */ | ||||
RTS_API rtError_t rtStartOnlineProf(rtStream_t stream, uint32_t sampleNum); | RTS_API rtError_t rtStartOnlineProf(rtStream_t stream, uint32_t sampleNum); | ||||
@@ -518,7 +530,7 @@ RTS_API rtError_t rtStartOnlineProf(rtStream_t stream, uint32_t sampleNum); | |||||
* @ingroup profiling_base | * @ingroup profiling_base | ||||
* @brief stop online prof. | * @brief stop online prof. | ||||
* @return RT_ERROR_NONE for ok | * @return RT_ERROR_NONE for ok | ||||
* @return RT_ERROR_INVALID_VALUE for error input | |||||
* @return RT_ERROR_INVALID_VALUE for error input | |||||
*/ | */ | ||||
RTS_API rtError_t rtStopOnlineProf(rtStream_t stream); | RTS_API rtError_t rtStopOnlineProf(rtStream_t stream); | ||||
@@ -526,9 +538,26 @@ RTS_API rtError_t rtStopOnlineProf(rtStream_t stream); | |||||
* @ingroup profiling_base | * @ingroup profiling_base | ||||
* @brief get online prof. | * @brief get online prof. | ||||
* @return RT_ERROR_NONE for ok | * @return RT_ERROR_NONE for ok | ||||
* @return RT_ERROR_INVALID_VALUE for error input | |||||
* @return RT_ERROR_INVALID_VALUE for error input | |||||
*/ | */ | ||||
RTS_API rtError_t rtGetOnlineProfData(rtStream_t stream, rtProfDataInfo_t *pProfData, uint32_t profDataNum); | RTS_API rtError_t rtGetOnlineProfData(rtStream_t stream, rtProfDataInfo_t *pProfData, uint32_t profDataNum); | ||||
/** | |||||
* @ingroup profiling_base | |||||
* @brief start mdc profiler. | |||||
* @return RT_ERROR_NONE for ok | |||||
* @return RT_ERROR_INVALID_VALUE for error input | |||||
*/ | |||||
RTS_API rtError_t rtStartMDCProfiler(void **addr, uint32_t length); | |||||
/** | |||||
* @ingroup profiling_base | |||||
* @brief stop mdc profiler. | |||||
* @return RT_ERROR_NONE for ok | |||||
* @return RT_ERROR_INVALID_VALUE for error input | |||||
*/ | |||||
RTS_API rtError_t rtStopMDCProfiler(void *addr); | |||||
#if defined(__cplusplus) && !defined(COMPILE_OMG_PACKAGE) | #if defined(__cplusplus) && !defined(COMPILE_OMG_PACKAGE) | ||||
} | } | ||||
#endif | #endif | ||||
@@ -475,7 +475,7 @@ RTS_API rtError_t rtIpcSetMemoryName(const void *ptr, uint64_t byteCount, char * | |||||
* @return RT_ERROR_INVALID_VALUE for error input | * @return RT_ERROR_INVALID_VALUE for error input | ||||
* @return RT_ERROR_DRV_ERR for driver error | * @return RT_ERROR_DRV_ERR for driver error | ||||
*/ | */ | ||||
rtError_t rtIpcDestroyMemoryName(const char *name); | |||||
RTS_API rtError_t rtIpcDestroyMemoryName(const char *name); | |||||
/** | /** | ||||
* @ingroup dvrt_mem | * @ingroup dvrt_mem | ||||
@@ -503,13 +503,13 @@ RTS_API rtError_t rtIpcCloseMemory(const void *ptr); | |||||
* @ingroup dvrt_mem | * @ingroup dvrt_mem | ||||
* @brief HCCL Async memory cpy | * @brief HCCL Async memory cpy | ||||
* @param [in] index sq index | * @param [in] index sq index | ||||
* @param [in] wqe_index moudle index | |||||
* @param [in] wqeIndex moudle index | |||||
* @param [in] stream asynchronized task stream | * @param [in] stream asynchronized task stream | ||||
* @return RT_ERROR_NONE for ok | * @return RT_ERROR_NONE for ok | ||||
* @return RT_ERROR_INVALID_VALUE for error input | * @return RT_ERROR_INVALID_VALUE for error input | ||||
* @return RT_ERROR_DRV_ERR for driver error | * @return RT_ERROR_DRV_ERR for driver error | ||||
*/ | */ | ||||
RTS_API rtError_t rtRDMASend(uint32_t index, uint32_t wqe_index, rtStream_t stream); | |||||
RTS_API rtError_t rtRDMASend(uint32_t index, uint32_t wqeIndex, rtStream_t stream); | |||||
/** | /** | ||||
* @ingroup dvrt_mem | * @ingroup dvrt_mem | ||||
@@ -438,7 +438,8 @@ RTS_API rtError_t rtModelGetId(rtModel_t model, uint32_t *modelId); | |||||
* @return RT_ERROR_NONE for ok | * @return RT_ERROR_NONE for ok | ||||
* @return RT_ERROR_INVALID_VALUE for error input | * @return RT_ERROR_INVALID_VALUE for error input | ||||
*/ | */ | ||||
rtError_t rtDebugRegister(rtModel_t model, uint32_t flag, const void *addr, uint32_t *streamId, uint32_t *taskId); | |||||
RTS_API rtError_t rtDebugRegister(rtModel_t model, uint32_t flag, const void *addr, | |||||
uint32_t *streamId, uint32_t *taskId); | |||||
/* | /* | ||||
* @ingroup rt_model | * @ingroup rt_model | ||||
@@ -126,17 +126,17 @@ RTS_API rtError_t rtGetStreamId(rtStream_t stream, int32_t *streamId); | |||||
* @return RT_ERROR_NONE for complete | * @return RT_ERROR_NONE for complete | ||||
* @return RT_ERROR_INVALID_VALUE for error input | * @return RT_ERROR_INVALID_VALUE for error input | ||||
*/ | */ | ||||
RTS_API rtError_t rtGetMaxStreamAndTask(uint32_t streamType, uint32_t *MaxStrCount, uint32_t *MaxTaskCount); | |||||
RTS_API rtError_t rtGetMaxStreamAndTask(uint32_t streamType, uint32_t *maxStrCount, uint32_t *maxTaskCount); | |||||
/** | /** | ||||
* @ingroup dvrt_stream | * @ingroup dvrt_stream | ||||
* @brief Name a stream | * @brief Name a stream | ||||
* @param [in] stream_ stream to be named | |||||
* @param [in] stream stream to be named | |||||
* @param [in] name identification name | * @param [in] name identification name | ||||
* @return RT_ERROR_NONE for complete | * @return RT_ERROR_NONE for complete | ||||
* @return RT_ERROR_INVALID_VALUE for error input | * @return RT_ERROR_INVALID_VALUE for error input | ||||
*/ | */ | ||||
RTS_API rtError_t rtNameStream(rtStream_t stream_, const char *name); | |||||
RTS_API rtError_t rtNameStream(rtStream_t stream, const char *name); | |||||
/** | /** | ||||
* @ingroup dvrt_stream | * @ingroup dvrt_stream | ||||
@@ -144,12 +144,12 @@ RTS_API rtError_t rtNameStream(rtStream_t stream_, const char *name); | |||||
* @param [in] ptr Determine the address where the value of the true and false branches is located | * @param [in] ptr Determine the address where the value of the true and false branches is located | ||||
* @param [in] condition switch condition | * @param [in] condition switch condition | ||||
* @param [in] value switch value | * @param [in] value switch value | ||||
* @param [in] true_stream Stream that needs to be activated when the value is non-zero | |||||
* @param [in] trueStream Stream that needs to be activated when the value is non-zero | |||||
* @param [in] stream input stream to init task | * @param [in] stream input stream to init task | ||||
* @return RT_ERROR_NONE for complete | * @return RT_ERROR_NONE for complete | ||||
* @return RT_ERROR_INVALID_VALUE for error input | * @return RT_ERROR_INVALID_VALUE for error input | ||||
*/ | */ | ||||
RTS_API rtError_t rtStreamSwitch(void *ptr, rtCondition_t condition, int64_t value, rtStream_t true_stream, | |||||
RTS_API rtError_t rtStreamSwitch(void *ptr, rtCondition_t condition, int64_t value, rtStream_t trueStream, | |||||
rtStream_t stream); | rtStream_t stream); | ||||
/** | /** | ||||
@@ -162,18 +162,18 @@ RTS_API rtError_t rtStreamSwitch(void *ptr, rtCondition_t condition, int64_t val | |||||
* @param [in] dataType data type of target value | * @param [in] dataType data type of target value | ||||
* @return RT_ERROR_NONE for complete | * @return RT_ERROR_NONE for complete | ||||
*/ | */ | ||||
RTS_API rtError_t rtStreamSwitchEx(void *ptr, rtCondition_t condition, void *value_ptr, rtStream_t true_stream, | |||||
RTS_API rtError_t rtStreamSwitchEx(void *ptr, rtCondition_t condition, void *valuePtr, rtStream_t trueStream, | |||||
rtStream_t stream, rtSwitchDataType_t dataType); | rtStream_t stream, rtSwitchDataType_t dataType); | ||||
/** | /** | ||||
* @ingroup dvrt_stream | * @ingroup dvrt_stream | ||||
* @brief Active a stream | * @brief Active a stream | ||||
* @param [in] active_stream stream to be activated | |||||
* @param [in] activeStream stream to be activated | |||||
* @param [in] stream input stream to init task | * @param [in] stream input stream to init task | ||||
* @return RT_ERROR_NONE for complete | * @return RT_ERROR_NONE for complete | ||||
* @return RT_ERROR_INVALID_VALUE for error input | * @return RT_ERROR_INVALID_VALUE for error input | ||||
*/ | */ | ||||
RTS_API rtError_t rtStreamActive(rtStream_t active_stream, rtStream_t stream); | |||||
RTS_API rtError_t rtStreamActive(rtStream_t activeStream, rtStream_t stream); | |||||
/** | /** | ||||
* @brief execute extensible stream case switch task | * @brief execute extensible stream case switch task | ||||
@@ -0,0 +1,29 @@ | |||||
/** | |||||
* @file index_transform.h | |||||
* | |||||
* Copyright (C) Huawei Technologies Co., Ltd. 2018-2019. All Rights Reserved. | |||||
* | |||||
* This program is used to get logical device id by phy device id. | |||||
*/ | |||||
#ifndef INC_TDT_INDEX_TRANSFORM_H | |||||
#define INC_TDT_INDEX_TRANSFORM_H | |||||
#include "stdint.h" | |||||
/** | |||||
* @ingroup IndexTransform | |||||
* @brief get logical device id by phy device id. | |||||
* | |||||
* @par Function get logical device id by phy device id. | |||||
* | |||||
* @param phyId [IN] physical device id | |||||
* @param logicalId [OUT] logical device id | |||||
* @retval 0 Success | |||||
* @retval OtherValues Fail | |||||
* | |||||
* @par Dependency | |||||
* @li libruntime.so: Library to which the interface belongs. | |||||
*/ | |||||
int32_t IndexTransform(const uint32_t phyId, uint32_t &logicId); | |||||
#endif |
@@ -193,6 +193,7 @@ enum { | |||||
TDT_HDC_SRV_TYPE_ERROR_CODE, | TDT_HDC_SRV_TYPE_ERROR_CODE, | ||||
TDT_TSD_CLT_OPEN_FAILED_CODE, | TDT_TSD_CLT_OPEN_FAILED_CODE, | ||||
TDT_TSD_CLT_CLOSE_FAILED_CODE, | TDT_TSD_CLT_CLOSE_FAILED_CODE, | ||||
TDT_TSD_CLT_UPDATE_PROFILING_FAILED_CODE, | |||||
TDT_TSD_CLT_INTERFACE_NOT_SUPPORT_CODE, | TDT_TSD_CLT_INTERFACE_NOT_SUPPORT_CODE, | ||||
TDT_SUPERVISOR_ILLEGAL_HEARTBEAT_TIME_CODE, | TDT_SUPERVISOR_ILLEGAL_HEARTBEAT_TIME_CODE, | ||||
TDT_SUPERVISOR_INOTIFY_READ_SIZE_ERROR_CODE, | TDT_SUPERVISOR_INOTIFY_READ_SIZE_ERROR_CODE, | ||||
@@ -697,6 +698,8 @@ TDT_DEF_ERROR_CODE(MODID_HDC_SERVER, TDT_ERROR, TDT_BIND_CPUCORE_FAILED, "thread | |||||
TDT_DEF_ERROR_CODE(MODID_HDC_SERVER, TDT_ERROR, TDT_HDC_SRV_CLOSED, "hdc server has been closed"); | TDT_DEF_ERROR_CODE(MODID_HDC_SERVER, TDT_ERROR, TDT_HDC_SRV_CLOSED, "hdc server has been closed"); | ||||
TDT_DEF_ERROR_CODE(MODID_TSD_CLIENT, TDT_ERROR, TDT_TSD_CLT_OPEN_FAILED, "tsd client open failed"); | TDT_DEF_ERROR_CODE(MODID_TSD_CLIENT, TDT_ERROR, TDT_TSD_CLT_OPEN_FAILED, "tsd client open failed"); | ||||
TDT_DEF_ERROR_CODE(MODID_TSD_CLIENT, TDT_ERROR, TDT_TSD_CLT_CLOSE_FAILED, "tsd client close failed"); | TDT_DEF_ERROR_CODE(MODID_TSD_CLIENT, TDT_ERROR, TDT_TSD_CLT_CLOSE_FAILED, "tsd client close failed"); | ||||
TDT_DEF_ERROR_CODE(MODID_TSD_CLIENT, TDT_ERROR, TDT_TSD_CLT_UPDATE_PROFILING_FAILED, | |||||
"tsd client update profiling failed"); | |||||
TDT_DEF_ERROR_CODE(MODID_TSD_CLIENT, TDT_ERROR, TDT_TSD_CLT_INTERFACE_NOT_SUPPORT, "tsd client func not support"); | TDT_DEF_ERROR_CODE(MODID_TSD_CLIENT, TDT_ERROR, TDT_TSD_CLT_INTERFACE_NOT_SUPPORT, "tsd client func not support"); | ||||
TDT_DEF_ERROR_CODE(MODID_TDT_PREFETCH, TDT_ERROR, TDT_PREFETCH_FILELIST_NOT_EXIST, "tdt filelist open failed"); | TDT_DEF_ERROR_CODE(MODID_TDT_PREFETCH, TDT_ERROR, TDT_PREFETCH_FILELIST_NOT_EXIST, "tdt filelist open failed"); | ||||
TDT_DEF_ERROR_CODE(MODID_TDT_PREFETCH, TDT_ERROR, TDT_PREFETCH_SAMPLE_FILE_NOT_FOUND, "tdt sample file is empty"); | TDT_DEF_ERROR_CODE(MODID_TDT_PREFETCH, TDT_ERROR, TDT_PREFETCH_SAMPLE_FILE_NOT_FOUND, "tdt sample file is empty"); | ||||
@@ -49,7 +49,7 @@ extern "C" { | |||||
* @li tsd_client.h: Header file where the interface declaration is located. | * @li tsd_client.h: Header file where the interface declaration is located. | ||||
* @li data_common.h: Header file where 'TDT_StatusT' defined | * @li data_common.h: Header file where 'TDT_StatusT' defined | ||||
*/ | */ | ||||
TDT_StatusT TsdOpen(const uint32_t phyDeviceId, const uint32_t rankSize); | |||||
TDT_LIB_EXPORT TDT_StatusT TsdOpen(const uint32_t phyDeviceId, const uint32_t rankSize); | |||||
/** | /** | ||||
* @ingroup Close | * @ingroup Close | ||||
@@ -67,7 +67,25 @@ TDT_StatusT TsdOpen(const uint32_t phyDeviceId, const uint32_t rankSize); | |||||
* @li tsd_client.h: Header file where the interface declaration is located. | * @li tsd_client.h: Header file where the interface declaration is located. | ||||
* @li data_common.h: Header file where 'TDT_StatusT' defined | * @li data_common.h: Header file where 'TDT_StatusT' defined | ||||
*/ | */ | ||||
TDT_StatusT TsdClose(const uint32_t phyDeviceId); | |||||
TDT_LIB_EXPORT TDT_StatusT TsdClose(const uint32_t phyDeviceId); | |||||
/** | |||||
* @ingroup UpdateProfilingMode | |||||
* @brief notify TSDClient update profiling mode | |||||
* | |||||
* @par Function | |||||
* notify TSDClient update profiling mode | |||||
* | |||||
* @param NA | |||||
* @retval TDT_OK Success | |||||
* @retval OtherValues Failure | |||||
* | |||||
* @par Dependency | |||||
* @li libtsdclient.so: Library to which the interface belongs. | |||||
* @li tsd_client.h: Header file where the interface declaration is located. | |||||
* @li data_common.h: Header file where 'TDT_StatusT' defined | |||||
*/ | |||||
TDT_LIB_EXPORT TDT_StatusT UpdateProfilingMode(const uint32_t phyDeviceId, const uint32_t flag); | |||||
/** | /** | ||||
* @ingroup CreateCmdParameterObj | * @ingroup CreateCmdParameterObj | ||||
@@ -25,10 +25,20 @@ extern "C" { | |||||
#define LINUX 0 | #define LINUX 0 | ||||
#endif // LINUX | #endif // LINUX | ||||
#ifndef WIN | |||||
#define WIN 1 | |||||
#endif | |||||
#ifndef OS_TYPE | #ifndef OS_TYPE | ||||
#define OS_TYPE 0 | #define OS_TYPE 0 | ||||
#endif // OS_TYPE | #endif // OS_TYPE | ||||
#if (OS_TYPE == LINUX) | |||||
#define DLL_EXPORT __attribute__((visibility("default"))) | |||||
#else | |||||
#define DLL_EXPORT _declspec(dllexport) | |||||
#endif | |||||
/** | /** | ||||
* @ingroup slog | * @ingroup slog | ||||
* | * | ||||
@@ -180,12 +190,11 @@ enum { | |||||
INVLID_MOUDLE_ID | INVLID_MOUDLE_ID | ||||
}; | }; | ||||
#if (OS_TYPE == LINUX) | |||||
/** | /** | ||||
* @ingroup slog | * @ingroup slog | ||||
* @brief External log interface, which called by modules | * @brief External log interface, which called by modules | ||||
*/ | */ | ||||
extern void dlog_init(void); | |||||
DLL_EXPORT void dlog_init(void); | |||||
/** | /** | ||||
* @ingroup slog | * @ingroup slog | ||||
@@ -195,7 +204,7 @@ extern void dlog_init(void); | |||||
* @param [out]enableEvent: 1: enable; 0: disable | * @param [out]enableEvent: 1: enable; 0: disable | ||||
* @return: module level(0: debug, 1: info, 2: warning, 3: error, 4: null output) | * @return: module level(0: debug, 1: info, 2: warning, 3: error, 4: null output) | ||||
*/ | */ | ||||
extern int dlog_getlevel(int moduleId, int *enableEvent); | |||||
DLL_EXPORT int dlog_getlevel(int moduleId, int *enableEvent); | |||||
/** | /** | ||||
* @ingroup slog | * @ingroup slog | ||||
@@ -206,7 +215,7 @@ extern int dlog_getlevel(int moduleId, int *enableEvent); | |||||
* @param [in]enableEvent: 1: enable; 0: disable, others:invalid | * @param [in]enableEvent: 1: enable; 0: disable, others:invalid | ||||
* @return: 0: SUCCEED, others: FAILED | * @return: 0: SUCCEED, others: FAILED | ||||
*/ | */ | ||||
extern int dlog_setlevel(int moduleId, int level, int enableEvent); | |||||
DLL_EXPORT int dlog_setlevel(int moduleId, int level, int enableEvent); | |||||
/** | /** | ||||
* @ingroup slog | * @ingroup slog | ||||
@@ -217,7 +226,7 @@ extern int dlog_setlevel(int moduleId, int level, int enableEvent); | |||||
* @param [in]logLevel: eg: DLOG_EVENT/DLOG_ERROR/DLOG_WARN/DLOG_INFO/DLOG_DEBUG | * @param [in]logLevel: eg: DLOG_EVENT/DLOG_ERROR/DLOG_WARN/DLOG_INFO/DLOG_DEBUG | ||||
* @return: 1:enable, 0:disable | * @return: 1:enable, 0:disable | ||||
*/ | */ | ||||
extern int CheckLogLevel(int moduleId, int logLevel); | |||||
DLL_EXPORT int CheckLogLevel(int moduleId, int logLevel); | |||||
/** | /** | ||||
* @ingroup slog | * @ingroup slog | ||||
@@ -343,7 +352,7 @@ extern int CheckLogLevel(int moduleId, int logLevel); | |||||
* @ingroup slog | * @ingroup slog | ||||
* @brief DlogFlush: flush log buffer to file | * @brief DlogFlush: flush log buffer to file | ||||
*/ | */ | ||||
void DlogFlush(void); | |||||
DLL_EXPORT void DlogFlush(void); | |||||
/** | /** | ||||
* @ingroup slog | * @ingroup slog | ||||
@@ -357,11 +366,6 @@ void DlogEventInner(int moduleId, const char *fmt, ...); | |||||
void DlogInner(int moduleId, int level, const char *fmt, ...); | void DlogInner(int moduleId, int level, const char *fmt, ...); | ||||
void DlogWithKVInner(int moduleId, int level, KeyValue *pstKVArray, int kvNum, const char *fmt, ...); | void DlogWithKVInner(int moduleId, int level, KeyValue *pstKVArray, int kvNum, const char *fmt, ...); | ||||
#else | |||||
_declspec(dllexport) void dlog_init(void); | |||||
_declspec(dllexport) int dlog_getlevel(int moduleId, int *enableEvent); | |||||
#endif // OS_TYPE | |||||
#ifdef __cplusplus | #ifdef __cplusplus | ||||
} | } | ||||
#endif // __cplusplus | #endif // __cplusplus | ||||
@@ -0,0 +1,72 @@ | |||||
/** | |||||
* @file tune_api.h | |||||
* | |||||
* Copyright (c) Huawei Technologies Co., Ltd. 2020-2020. All rights reserved.\n | |||||
* | |||||
* This program is distributed in the hope that it will be useful, | |||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | |||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n | |||||
* 描述:mstune调优接口头文件 | |||||
*/ | |||||
/** @defgroup mstune mstune调优接口 */ | |||||
#ifndef TUNE_API_H | |||||
#define TUNE_API_H | |||||
#include <vector> | |||||
#include <map> | |||||
#include <string> | |||||
#include "graph/graph.h" | |||||
#include "ge/ge_api.h" | |||||
/** | |||||
* @ingroup mstune | |||||
* | |||||
* mstune status | |||||
*/ | |||||
enum MsTuneStatus { | |||||
MSTUNE_SUCCESS, /** tune success */ | |||||
MSTUNE_FAILED, /** tune failed */ | |||||
}; | |||||
// Option key: for train options sets | |||||
const std::string MSTUNE_SELF_KEY = "mstune"; | |||||
const std::string MSTUNE_GEINIT_KEY = "initialize"; | |||||
const std::string MSTUNE_GESESS_KEY = "session"; | |||||
/** | |||||
* @ingroup mstune | |||||
* @par 描述: 命令行调优 | |||||
* | |||||
* @attention 无 | |||||
* @param option [IN] 调优参数 | |||||
* @param msg [OUT] 调优异常下返回信息 | |||||
* @retval #MSTUNE_SUCCESS 执行成功 | |||||
* @retval #MSTUNE_FAILED 执行失败 | |||||
* @par 依赖: | |||||
* @li tune_api.cpp:该接口所属的开发包。 | |||||
* @li tune_api.h:该接口声明所在的头文件。 | |||||
* @see 无 | |||||
* @since | |||||
*/ | |||||
MsTuneStatus MsTuning(const std::map<std::string, std::string> &option, std::string &msg); | |||||
/** | |||||
* @ingroup mstune | |||||
* @par 描述: 梯度调优 | |||||
* | |||||
* @attention 无 | |||||
* @param tuningGraph [IN] 调优图 | |||||
* @param dependGraph [IN] 调优依赖图 | |||||
* @param session [IN] ge连接会话 | |||||
* @param option [IN] 参数集. 包含调优参数及ge参数 | |||||
* @retval #MSTUNE_SUCCESS 执行成功 | |||||
* @retval #MSTUNE_FAILED 执行失败 | |||||
* @par 依赖: | |||||
* @li tune_api.cpp:该接口所属的开发包。 | |||||
* @li tune_api.h:该接口声明所在的头文件。 | |||||
* @see 无 | |||||
* @since | |||||
*/ | |||||
extern "C" MsTuneStatus MsTrainTuning(ge::Graph &tuningGraph, std::vector<ge::Graph> &dependGraph, | |||||
ge::Session *session, const std::map<std::string, std::map<std::string, std::string>> &option); | |||||
#endif |