00001 00061 /******************************************************************************/ 00062 /* This file is part of the uVision/ARM development tools. */ 00063 /* Copyright (c) 2008 KEIL - An ARM Company. All rights reserved. */ 00064 /* This software may only be used under the terms of a valid, current, */ 00065 /* end user licence from KEIL for a compatible version of KEIL software */ 00066 /* development tools. Nothing else gives you the right to use this software. */ 00067 /******************************************************************************/ 00068 00069 #ifndef __UVSC_C_H__ 00070 #define __UVSC_C_H__ 00071 00072 #ifdef WIN32 00073 #include <windows.h> 00074 #endif 00075 00076 #include "UVSOCK.h" 00077 00078 #ifdef __cplusplus 00079 extern "C" { 00080 #endif 00081 00082 #ifdef WIN32 00083 #ifdef _IN_DLL_ 00084 #define _UVSC_FUNC_ extern __declspec(dllexport) 00085 #else 00086 #define _UVSC_FUNC_ extern __declspec(dllimport) 00087 #endif 00088 #else /* #ifdef WIN32 */ 00089 #define _UVSC_FUNC_ 00090 #endif /* #ifdef WIN32 */ 00091 00096 #define UVSC_MAX_CLIENTS 10 00097 00103 #define UVSC_MAX_API_STR_SIZE 1024 00104 00110 #define UVSC_PORT_AUTO 0 00111 00116 #define UVSC_MIN_AUTO_PORT 1 00117 00122 #define UVSC_MAX_AUTO_PORT 65535 00123 00124 00130 typedef enum _tag_UVSC_STATUS { 00131 UVSC_STATUS_SUCCESS = 0, 00132 UVSC_STATUS_FAILED = 1, 00133 UVSC_STATUS_NOT_SUPPORTED = 2, 00134 UVSC_STATUS_NOT_INIT = 3, 00135 UVSC_STATUS_TIMEOUT = 4, 00136 UVSC_STATUS_INVALID_CONTEXT = 5, 00137 UVSC_STATUS_INVALID_PARAM = 6, 00138 UVSC_STATUS_BUFFER_TOO_SMALL = 7, 00139 UVSC_STATUS_CALLBACK_IN_USE = 8, 00140 UVSC_STATUS_COMMAND_ERROR = 9, 00141 UVSC_STATUS_END 00142 } UVSC_STATUS; 00143 00148 typedef enum _tag_UVSC_RUNMODE { 00149 UVSC_RUNMODE_NORMAL = 0, 00150 UVSC_RUNMODE_LABVIEW = 1, 00151 UVSC_RUNMODE_END = 2, 00152 } UVSC_RUNMODE; 00153 00158 typedef enum _tag_UVSC_PBAR { 00159 UVSC_PBAR_INIT = 0, 00160 UVSC_PBAR_TEXT = 1, 00161 UVSC_PBAR_POS = 2, 00162 UVSC_PBAR_STOP = 3, 00163 } UVSC_PBAR; 00164 00170 typedef enum _tag_UVSC_CB_TYPE { 00171 UVSC_CB_ERROR = 0, 00172 UVSC_CB_ASYNC_MSG = 1, 00173 UVSC_CB_DISCONNECTED = 2, 00174 UVSC_CB_BUILD_OUTPUT_MSG = 3, 00175 UVSC_CB_PROGRESS_BAR_MSG = 4 00176 } UVSC_CB_TYPE; 00177 00183 typedef union _tag_UVSC_CB_DATA { 00184 UVSOCK_CMD msg; 00185 UVSC_STATUS err; 00186 int iConnHandle; 00187 } UVSC_CB_DATA; 00188 00194 typedef void (*uvsc_cb)(void* cb_custom, UVSC_CB_TYPE type, UVSC_CB_DATA *data); 00195 00201 typedef void (*log_cb)(const char* msg, int msgLen); 00202 00203 // Control functions 00204 00217 _UVSC_FUNC_ void UVSC_Version(UINT *pUVSCVersion, 00218 UINT *pUVSOCKVersion); 00219 00227 _UVSC_FUNC_ UVSC_STATUS UVSC_Init(int uvMinPort, 00228 int uvMaxPort); 00229 00238 _UVSC_FUNC_ UVSC_STATUS UVSC_UnInit(void); 00239 00306 _UVSC_FUNC_ UVSC_STATUS UVSC_OpenConnection(char *name, 00307 int *iConnHandle, 00308 int *pPort, 00309 char *uvCmd, 00310 UVSC_RUNMODE uvRunmode, 00311 uvsc_cb callback, 00312 void* cb_custom, 00313 char *logFileName, 00314 xBOOL logFileAppend, 00315 log_cb logCallback); 00316 00327 _UVSC_FUNC_ UVSC_STATUS UVSC_CloseConnection(int iConnHandle, xBOOL terminate); 00328 00343 _UVSC_FUNC_ UVSC_STATUS UVSC_ConnHandleFromConnName(char *name, int *iConnHandle); 00344 00364 _UVSC_FUNC_ UVSC_STATUS UVSC_GetLastError(int iConnHandle, UV_OPERATION *msgType, UV_STATUS *status, char *str, int maxStrLen); 00365 00381 _UVSC_FUNC_ UVSC_STATUS UVSC_LogControl (int iConnHandle, xBOOL enableRaw, xBOOL enableTrace); 00382 00383 00384 00385 // Messaging functions 00386 00400 _UVSC_FUNC_ UVSC_STATUS UVSC_GEN_UVSOCK_VERSION(int iConnHandle, UINT *pMajor, UINT *pMinor); 00401 00415 _UVSC_FUNC_ UVSC_STATUS UVSC_GEN_EXT_VERSION(int iConnHandle, EXTVERS *pVersions, UINT *pVersionsLen); 00416 00426 _UVSC_FUNC_ UVSC_STATUS UVSC_GEN_HIDE(int iConnHandle); 00427 00437 _UVSC_FUNC_ UVSC_STATUS UVSC_GEN_SHOW(int iConnHandle); 00438 00449 _UVSC_FUNC_ UVSC_STATUS UVSC_GEN_MAXIMIZE(int iConnHandle); 00450 00461 _UVSC_FUNC_ UVSC_STATUS UVSC_GEN_MINIMIZE(int iConnHandle); 00462 00473 _UVSC_FUNC_ UVSC_STATUS UVSC_GEN_RESTORE(int iConnHandle); 00474 00493 _UVSC_FUNC_ UVSC_STATUS UVSC_GEN_UI_LOCK(int iConnHandle); 00494 00507 _UVSC_FUNC_ UVSC_STATUS UVSC_GEN_UI_UNLOCK(int iConnHandle); 00508 00519 _UVSC_FUNC_ UVSC_STATUS UVSC_GEN_CHECK_LICENSE(int iConnHandle, UVLICINFO *pLicInfo); 00520 00536 _UVSC_FUNC_ UVSC_STATUS UVSC_PRJ_LOAD(int iConnHandle, PRJDATA *pProjectFile, int projectFileLen); 00537 00550 _UVSC_FUNC_ UVSC_STATUS UVSC_PRJ_CLOSE(int iConnHandle); 00551 00566 _UVSC_FUNC_ UVSC_STATUS UVSC_PRJ_ADD_FILE(int iConnHandle, PRJDATA *pGroupFiles, int groupFilesLen); 00567 00582 _UVSC_FUNC_ UVSC_STATUS UVSC_PRJ_DEL_FILE(int iConnHandle, PRJDATA *pGroupFiles, int groupFilesLen); 00583 00618 _UVSC_FUNC_ UVSC_STATUS UVSC_PRJ_ENUM_FILES(int iConnHandle, SSTR *pGroup, int groupLen, SSTR *pFiles, int *pFileIndexes, int *pFileCount); 00619 00634 _UVSC_FUNC_ UVSC_STATUS UVSC_PRJ_ADD_GROUP(int iConnHandle, PRJDATA *pGroups, int groupsLen); 00635 00650 _UVSC_FUNC_ UVSC_STATUS UVSC_PRJ_DEL_GROUP(int iConnHandle, PRJDATA *pGroups, int groupsLen); 00651 00684 _UVSC_FUNC_ UVSC_STATUS UVSC_PRJ_ENUM_GROUPS(int iConnHandle, SSTR *pGroups, int *pGroupIndexes, int *pGroupCount); 00685 00698 _UVSC_FUNC_ UVSC_STATUS UVSC_PRJ_ACTIVE_FILES(int iConnHandle, UINT *pActiveFileCount); 00699 00712 _UVSC_FUNC_ UVSC_STATUS UVSC_PRJ_BUILD(int iConnHandle, xBOOL rebuild); 00713 00728 _UVSC_FUNC_ UVSC_STATUS UVSC_PRJ_BUILD_CANCEL(int iConnHandle); 00729 00741 _UVSC_FUNC_ UVSC_STATUS UVSC_PRJ_CLEAN(int iConnHandle); 00742 00754 _UVSC_FUNC_ UVSC_STATUS UVSC_PRJ_FLASH_DOWNLOAD(int iConnHandle); 00755 00772 _UVSC_FUNC_ UVSC_STATUS UVSC_PRJ_GET_OPTITEM(int iConnHandle, TRNOPT *pTrnOpt, int trnOptLen); 00773 00788 _UVSC_FUNC_ UVSC_STATUS UVSC_PRJ_SET_OPTITEM(int iConnHandle, TRNOPT *pTrnOpt, int trnOptLen); 00789 00800 _UVSC_FUNC_ UVSC_STATUS UVSC_PRJ_GET_DEBUG_TARGET(int iConnHandle, DBGTGTOPT *pDbgTgtOpt); 00801 00812 _UVSC_FUNC_ UVSC_STATUS UVSC_PRJ_SET_DEBUG_TARGET(int iConnHandle, DBGTGTOPT *pDbgTgtOpt); 00813 00829 _UVSC_FUNC_ UVSC_STATUS UVSC_PRJ_CMD_PROGRESS(int iConnHandle, PGRESS *pPgress, int pgressLen); 00830 00831 00843 _UVSC_FUNC_ UVSC_STATUS UVSC_DBG_ENTER(int iConnHandle); 00844 00856 _UVSC_FUNC_ UVSC_STATUS UVSC_DBG_EXIT(int iConnHandle); 00857 00869 _UVSC_FUNC_ UVSC_STATUS UVSC_DBG_START_EXECUTION(int iConnHandle); 00870 00882 _UVSC_FUNC_ UVSC_STATUS UVSC_DBG_STOP_EXECUTION(int iConnHandle); 00883 00896 _UVSC_FUNC_ UVSC_STATUS UVSC_DBG_STATUS(int iConnHandle, int *pStatus); 00897 00909 _UVSC_FUNC_ UVSC_STATUS UVSC_DBG_STEP_HLL(int iConnHandle); 00910 00922 _UVSC_FUNC_ UVSC_STATUS UVSC_DBG_STEP_INSTRUCTION(int iConnHandle); 00923 00935 _UVSC_FUNC_ UVSC_STATUS UVSC_DBG_STEP_INTO(int iConnHandle); 00936 00948 _UVSC_FUNC_ UVSC_STATUS UVSC_DBG_STEP_OUT(int iConnHandle); 00949 00961 _UVSC_FUNC_ UVSC_STATUS UVSC_DBG_RESET(int iConnHandle); 00962 00977 _UVSC_FUNC_ UVSC_STATUS UVSC_DBG_MEM_READ(int iConnHandle, AMEM *pMem, int memLen); 00978 00991 _UVSC_FUNC_ UVSC_STATUS UVSC_DBG_MEM_WRITE(int iConnHandle, AMEM *pMem, int memLen); 00992 01012 _UVSC_FUNC_ UVSC_STATUS UVSC_DBG_CREATE_BP(int iConnHandle, BKPARM *pBkptSet, int bkptSetLen, BKRSP *pBkptRsp, int *pBkptRspLen); 01013 01031 _UVSC_FUNC_ UVSC_STATUS UVSC_DBG_CHANGE_BP(int iConnHandle, BKCHG *pBkptChg, int bkptChgLen, BKRSP *pBkptRsp, int *pBkptRspLen); 01032 01065 _UVSC_FUNC_ UVSC_STATUS UVSC_DBG_ENUMERATE_BP(int iConnHandle, BKRSP *pBkptRsp, int *pBkptIndexes, int *pBkptCount); 01066 01081 _UVSC_FUNC_ UVSC_STATUS UVSC_DBG_SERIAL_GET(int iConnHandle, SERIO *pSerIO, int serIOLen); 01082 01095 _UVSC_FUNC_ UVSC_STATUS UVSC_DBG_SERIAL_PUT(int iConnHandle, SERIO *pSerIO, int serIOLen); 01096 01121 _UVSC_FUNC_ UVSC_STATUS UVSC_DBG_CALC_EXPRESSION(int iConnHandle, VSET *pVSet, int vSetLen); 01122 01156 _UVSC_FUNC_ UVSC_STATUS UVSC_DBG_ENUM_VTR(int iConnHandle, iVTRENUM *piVtrEnum, AVTR *paVTR, int *pVtrIndexes, int *pVtrCount); 01157 01170 _UVSC_FUNC_ UVSC_STATUS UVSC_DBG_VTR_GET(int iConnHandle, VSET *pVSet, int vSetLen); 01171 01184 _UVSC_FUNC_ UVSC_STATUS UVSC_DBG_VTR_SET(int iConnHandle, VSET *pVSet, int vSetLen); 01185 01205 _UVSC_FUNC_ UVSC_STATUS UVSC_DBG_ENUM_STACK(int iConnHandle, iSTKENUM *piStkEnum, STACKENUM *pStackEnum, int *pStackCount); 01206 01223 _UVSC_FUNC_ UVSC_STATUS UVSC_DBG_ADR_TOFILELINE(int iConnHandle, ADRMTFL *pAdrMtfl, AFLMAP *pAflMap, int *pAflMapLen); 01224 01236 _UVSC_FUNC_ UVSC_STATUS UVSC_DBG_ADR_SHOWCODE(int iConnHandle, iSHOWSYNC *piShowSync); 01237 01262 _UVSC_FUNC_ UVSC_STATUS UVSC_DBG_WAKE(int iConnHandle, iINTERVAL *piInterval); 01263 01278 _UVSC_FUNC_ UVSC_STATUS UVSC_DBG_SLEEP(int iConnHandle); 01279 01280 01281 // Build Output Functions 01282 01293 _UVSC_FUNC_ UVSC_STATUS UVSC_GetBuildOutputSize(int iConnHandle, int *pBuildOutputSize); 01294 01308 _UVSC_FUNC_ UVSC_STATUS UVSC_GetBuildOutput(int iConnHandle, char *pBuildOutput, int buildOutputLen); 01309 01310 01311 // Queue functions 01312 01329 _UVSC_FUNC_ UVSC_STATUS UVSC_ReadBuildQ(int iConnHandle, char *pOutputLine, int timeout); 01330 01349 _UVSC_FUNC_ UVSC_STATUS UVSC_ReadPBarQ(int iConnHandle, UVSC_PBAR *pBar, char *pStr, int timeout); 01350 01370 _UVSC_FUNC_ UVSC_STATUS UVSC_ReadAsyncQ(int iConnHandle, int iQueueNo, UVSOCK_CMD *buf, int timeout); 01371 01382 _UVSC_FUNC_ UVSC_STATUS UVSC_FlushAsyncQ(int iConnHandle, int iQueueNo); 01383 01384 01385 // Advanced functions 01386 01399 _UVSC_FUNC_ UVSC_STATUS UVSC_TxRxRaw(int iConnHandle, UVSOCK_CMD *buf); 01400 01412 _UVSC_FUNC_ UVSOCK_CMD *UVSC_CreateMsg (UVSOCK_CMD *buf, UV_OPERATION eCmd, int nLen, const void *pData); 01413 01414 01415 01416 01417 #ifdef __cplusplus 01418 } 01419 #endif 01420 01421 #endif /* #define __UVSC_C_H__ */ 01422
Copyright (c) KEIL - An ARM Company.
All rights reserved.
Visit our web site at www.keil.com.
Generated with doxygen.