- Replace '\s*$' with ''. git-svn-id: svn://svn.berlios.de/openocd/trunk@2380 b42882b7-edfa-0310-969c-e2dbd0fdcd60tags/v0.2.0
@@ -41,7 +41,7 @@ static inline void buf_set_u32(uint8_t* buffer, unsigned int first, unsigned int | |||
} else | |||
{ | |||
unsigned int i; | |||
for (i = first; i < first + num; i++) | |||
{ | |||
if (((value >> (i-first))&1) == 1) | |||
@@ -60,13 +60,13 @@ static inline uint32_t buf_get_u32(const uint8_t* buffer, unsigned int first, un | |||
{ | |||
uint32_t result = 0; | |||
unsigned int i; | |||
for (i = first; i < first + num; i++) | |||
{ | |||
if (((buffer[i/8]>>(i%8))&1) == 1) | |||
result |= 1 << (i-first); | |||
} | |||
return result; | |||
} | |||
} | |||
@@ -896,7 +896,7 @@ DEFINE_PARSE_NUM_TYPE(_llong, long long, strtoll, LLONG_MIN, LLONG_MAX) | |||
return ERROR_COMMAND_ARGUMENT_UNDERFLOW; \ | |||
*ul = n; \ | |||
return ERROR_OK; \ | |||
} | |||
} | |||
#define DEFINE_PARSE_ULONG(name, type, min, max) \ | |||
DEFINE_PARSE_WRAPPER(name, type, min, max, unsigned long, _ulong) | |||
@@ -34,7 +34,7 @@ | |||
static inline int fileio_open_local(fileio_t *fileio) | |||
{ | |||
char access[4]; | |||
switch (fileio->access) | |||
{ | |||
case FILEIO_READ: | |||
@@ -47,16 +47,16 @@ static inline int fileio_open_local(fileio_t *fileio) | |||
strcpy(access, "w+"); | |||
break; | |||
case FILEIO_APPEND: | |||
strcpy(access, "a"); | |||
strcpy(access, "a"); | |||
break; | |||
case FILEIO_APPENDREAD: | |||
strcpy(access, "a+"); | |||
strcpy(access, "a+"); | |||
break; | |||
default: | |||
LOG_ERROR("BUG: access neither read, write nor readwrite"); | |||
return ERROR_INVALID_ARGUMENTS; | |||
} | |||
/* win32 always opens in binary mode */ | |||
#ifndef _WIN32 | |||
if (fileio->type == FILEIO_BINARY) | |||
@@ -64,26 +64,26 @@ static inline int fileio_open_local(fileio_t *fileio) | |||
{ | |||
strcat(access, "b"); | |||
} | |||
if (!(fileio->file = open_file_from_path (fileio->url, access))) | |||
{ | |||
LOG_ERROR("couldn't open %s", fileio->url); | |||
return ERROR_FILEIO_OPERATION_FAILED; | |||
} | |||
if ((fileio->access != FILEIO_WRITE) || (fileio->access == FILEIO_READWRITE)) | |||
{ | |||
/* NB! Here we use fseek() instead of stat(), since stat is a | |||
* more advanced operation that might not apply to e.g. a disk path | |||
* that refers to e.g. a tftp client */ | |||
int result, result2; | |||
result = fseek(fileio->file, 0, SEEK_END); | |||
fileio->size = ftell(fileio->file); | |||
result2 = fseek(fileio->file, 0, SEEK_SET); | |||
result2 = fseek(fileio->file, 0, SEEK_SET); | |||
if ((fileio->size < 0)||(result < 0)||(result2 < 0)) | |||
{ | |||
fileio_close(fileio); | |||
@@ -94,7 +94,7 @@ static inline int fileio_open_local(fileio_t *fileio) | |||
{ | |||
fileio->size = 0x0; | |||
} | |||
return ERROR_OK; | |||
} | |||
@@ -105,7 +105,7 @@ int fileio_open(fileio_t *fileio, const char *url, enum fileio_access access, en | |||
fileio->type = type; | |||
fileio->access = access; | |||
fileio->url = strdup(url); | |||
retval = fileio_open_local(fileio); | |||
return retval; | |||
@@ -127,19 +127,19 @@ static inline int fileio_close_local(fileio_t *fileio) | |||
return ERROR_FILEIO_OPERATION_FAILED; | |||
} | |||
return ERROR_OK; | |||
} | |||
int fileio_close(fileio_t *fileio) | |||
{ | |||
int retval; | |||
retval = fileio_close_local(fileio); | |||
free(fileio->url); | |||
fileio->url = NULL; | |||
return retval; | |||
} | |||
@@ -151,14 +151,14 @@ int fileio_seek(fileio_t *fileio, uint32_t position) | |||
LOG_ERROR("couldn't seek file %s: %s", fileio->url, strerror(errno)); | |||
return ERROR_FILEIO_OPERATION_FAILED; | |||
} | |||
return ERROR_OK; | |||
} | |||
static inline int fileio_local_read(fileio_t *fileio, uint32_t size, uint8_t *buffer, uint32_t *size_read) | |||
{ | |||
*size_read = fread(buffer, 1, size, fileio->file); | |||
return ERROR_OK; | |||
} | |||
@@ -172,11 +172,11 @@ int fileio_read_u32(fileio_t *fileio, uint32_t *data) | |||
uint8_t buf[4]; | |||
uint32_t size_read; | |||
int retval; | |||
if ((retval = fileio_local_read(fileio, 4, buf, &size_read)) != ERROR_OK) | |||
return retval; | |||
*data = be_to_h_u32(buf); | |||
return ERROR_OK; | |||
} | |||
@@ -184,7 +184,7 @@ static inline int fileio_local_fgets(fileio_t *fileio, uint32_t size, char *buff | |||
{ | |||
if (fgets(buffer, size, fileio->file) == NULL) | |||
return ERROR_FILEIO_OPERATION_FAILED; | |||
return ERROR_OK; | |||
} | |||
@@ -196,19 +196,19 @@ int fileio_fgets(fileio_t *fileio, uint32_t size, char *buffer) | |||
static inline int fileio_local_write(fileio_t *fileio, uint32_t size, const uint8_t *buffer, uint32_t *size_written) | |||
{ | |||
*size_written = fwrite(buffer, 1, size, fileio->file); | |||
return ERROR_OK; | |||
} | |||
int fileio_write(fileio_t *fileio, uint32_t size, const uint8_t *buffer, uint32_t *size_written) | |||
{ | |||
int retval; | |||
retval = fileio_local_write(fileio, size, buffer, size_written); | |||
if (retval == ERROR_OK) | |||
fileio->size += *size_written; | |||
return retval;; | |||
} | |||
@@ -217,11 +217,11 @@ int fileio_write_u32(fileio_t *fileio, uint32_t data) | |||
uint8_t buf[4]; | |||
uint32_t size_written; | |||
int retval; | |||
h_u32_to_be(buf, data); | |||
if ((retval = fileio_local_write(fileio, 4, buf, &size_written)) != ERROR_OK) | |||
return retval; | |||
return ERROR_OK; | |||
} |
@@ -2,25 +2,25 @@ | |||
* | |||
* Copyright 2005 Salvatore Sanfilippo <antirez@invece.org> | |||
* Copyright 2005 Clemens Hintze <c.hintze@gmx.net> | |||
* Copyright 2005 patthoyts - Pat Thoyts <patthoyts@users.sf.net> | |||
* Copyright 2005 patthoyts - Pat Thoyts <patthoyts@users.sf.net> | |||
* Copyright 2008 oharboe - รyvind Harboe - oyvind.harboe@zylin.com | |||
* Copyright 2008 Andrew Lunn <andrew@lunn.ch> | |||
* Copyright 2008 Duane Ellis <openocd@duaneellis.com> | |||
* Copyright 2008 Uwe Klein <uklein@klein-messgeraete.de> | |||
* | |||
* | |||
* The FreeBSD license | |||
* | |||
* | |||
* Redistribution and use in source and binary forms, with or without | |||
* modification, are permitted provided that the following conditions | |||
* are met: | |||
* | |||
* | |||
* 1. Redistributions of source code must retain the above copyright | |||
* notice, this list of conditions and the following disclaimer. | |||
* 2. Redistributions in binary form must reproduce the above | |||
* copyright notice, this list of conditions and the following | |||
* disclaimer in the documentation and/or other materials | |||
* provided with the distribution. | |||
* | |||
* | |||
* THIS SOFTWARE IS PROVIDED BY THE JIM TCL PROJECT ``AS IS'' AND ANY | |||
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, | |||
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A | |||
@@ -33,7 +33,7 @@ | |||
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | |||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF | |||
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||
* | |||
* | |||
* The views and conclusions contained in the software and documentation | |||
* are those of the authors and should not be interpreted as representing | |||
* official policies, either expressed or implied, of the Jim Tcl Project. | |||
@@ -133,12 +133,12 @@ void Jim_DeleteFileHandler(Jim_Interp *interp, void *handle) | |||
} | |||
// The same for signals. | |||
void Jim_CreateSignalHandler(Jim_Interp *interp, int signum, | |||
void Jim_CreateSignalHandler(Jim_Interp *interp, int signum, | |||
Jim_FileProc *proc, void *clientData, | |||
Jim_EventFinalizerProc *finalizerProc) | |||
{ | |||
} | |||
void Jim_DeleteSignalHandler(Jim_Interp *interp, int signum) | |||
void Jim_DeleteSignalHandler(Jim_Interp *interp, int signum) | |||
{ | |||
} | |||
@@ -192,7 +192,7 @@ jim_wide Jim_DeleteTimeHandler(Jim_Interp *interp, jim_wide id) | |||
JimGetTime(&cur_sec, &cur_ms); | |||
te = eventLoop->timeEventHead; | |||
if (id >= eventLoop->timeEventNextId) | |||
if (id >= eventLoop->timeEventNextId) | |||
return -2; /* wrong event ID */ | |||
while (te) { | |||
if (te->id == id) { | |||
@@ -271,7 +271,7 @@ int Jim_ProcessEvents(Jim_Interp *interp, int flags) | |||
while (fe != NULL) { | |||
int fd = fileno((FILE*)fe->handle); | |||
if (fe->mask & JIM_EVENT_READABLE) | |||
if (fe->mask & JIM_EVENT_READABLE) | |||
FD_SET(fd, &rfds); | |||
if (fe->mask & JIM_EVENT_WRITABLE) FD_SET(fd, &wfds); | |||
if (fe->mask & JIM_EVENT_EXCEPTION) FD_SET(fd, &efds); | |||
@@ -419,7 +419,7 @@ void JimELAssocDataDeleProc(Jim_Interp *interp, void *data) | |||
Jim_Free(data); | |||
} | |||
static int JimELVwaitCommand(Jim_Interp *interp, int argc, | |||
static int JimELVwaitCommand(Jim_Interp *interp, int argc, | |||
Jim_Obj *const *argv) | |||
{ | |||
Jim_Obj *oldValue; | |||
@@ -461,7 +461,7 @@ void JimAfterTimeEventFinalizer(Jim_Interp *interp, void *clientData) | |||
Jim_DecrRefCount(interp, objPtr); | |||
} | |||
static int JimELAfterCommand(Jim_Interp *interp, int argc, | |||
static int JimELAfterCommand(Jim_Interp *interp, int argc, | |||
Jim_Obj *const *argv) | |||
{ | |||
jim_wide ms, id; | |||
@@ -510,7 +510,7 @@ static int JimELAfterCommand(Jim_Interp *interp, int argc, | |||
} | |||
default: | |||
fprintf(stderr,"unserviced option to after %d\n",option); | |||
} | |||
} | |||
return JIM_OK; | |||
} | |||
@@ -2,25 +2,25 @@ | |||
* | |||
* Copyright 2005 Salvatore Sanfilippo <antirez@invece.org> | |||
* Copyright 2005 Clemens Hintze <c.hintze@gmx.net> | |||
* Copyright 2005 patthoyts - Pat Thoyts <patthoyts@users.sf.net> | |||
* Copyright 2005 patthoyts - Pat Thoyts <patthoyts@users.sf.net> | |||
* Copyright 2008 oharboe - รyvind Harboe - oyvind.harboe@zylin.com | |||
* Copyright 2008 Andrew Lunn <andrew@lunn.ch> | |||
* Copyright 2008 Duane Ellis <openocd@duaneellis.com> | |||
* Copyright 2008 Uwe Klein <uklein@klein-messgeraete.de> | |||
* | |||
* | |||
* The FreeBSD license | |||
* | |||
* | |||
* Redistribution and use in source and binary forms, with or without | |||
* modification, are permitted provided that the following conditions | |||
* are met: | |||
* | |||
* | |||
* 1. Redistributions of source code must retain the above copyright | |||
* notice, this list of conditions and the following disclaimer. | |||
* 2. Redistributions in binary form must reproduce the above | |||
* copyright notice, this list of conditions and the following | |||
* disclaimer in the documentation and/or other materials | |||
* provided with the distribution. | |||
* | |||
* | |||
* THIS SOFTWARE IS PROVIDED BY THE JIM TCL PROJECT ``AS IS'' AND ANY | |||
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, | |||
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A | |||
@@ -33,7 +33,7 @@ | |||
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | |||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF | |||
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||
* | |||
* | |||
* The views and conclusions contained in the software and documentation | |||
* are those of the authors and should not be interpreted as representing | |||
* official policies, either expressed or implied, of the Jim Tcl Project. | |||
@@ -64,7 +64,7 @@ typedef void Jim_EventFinalizerProc(Jim_Interp *interp, void *clientData); | |||
#define JIM_EVENT_FEOF 8 | |||
#define JIM_API(x) x | |||
#define JIM_STATIC | |||
#define JIM_STATIC | |||
JIM_STATIC int Jim_EventLoopOnLoad(Jim_Interp *interp); | |||
@@ -2,25 +2,25 @@ | |||
* | |||
* Copyright 2005 Salvatore Sanfilippo <antirez@invece.org> | |||
* Copyright 2005 Clemens Hintze <c.hintze@gmx.net> | |||
* Copyright 2005 patthoyts - Pat Thoyts <patthoyts@users.sf.net> | |||
* Copyright 2005 patthoyts - Pat Thoyts <patthoyts@users.sf.net> | |||
* Copyright 2008 oharboe - รyvind Harboe - oyvind.harboe@zylin.com | |||
* Copyright 2008 Andrew Lunn <andrew@lunn.ch> | |||
* Copyright 2008 Duane Ellis <openocd@duaneellis.com> | |||
* Copyright 2008 Uwe Klein <uklein@klein-messgeraete.de> | |||
* | |||
* | |||
* The FreeBSD license | |||
* | |||
* | |||
* Redistribution and use in source and binary forms, with or without | |||
* modification, are permitted provided that the following conditions | |||
* are met: | |||
* | |||
* | |||
* 1. Redistributions of source code must retain the above copyright | |||
* notice, this list of conditions and the following disclaimer. | |||
* 2. Redistributions in binary form must reproduce the above | |||
* copyright notice, this list of conditions and the following | |||
* disclaimer in the documentation and/or other materials | |||
* provided with the distribution. | |||
* | |||
* | |||
* THIS SOFTWARE IS PROVIDED BY THE JIM TCL PROJECT ``AS IS'' AND ANY | |||
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, | |||
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A | |||
@@ -33,12 +33,12 @@ | |||
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | |||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF | |||
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||
* | |||
* | |||
* The views and conclusions contained in the software and documentation | |||
* are those of the authors and should not be interpreted as representing | |||
* official policies, either expressed or implied, of the Jim Tcl Project. | |||
* | |||
*--- Inline Header File Documentation --- | |||
*--- Inline Header File Documentation --- | |||
* [By Duane Ellis, openocd@duaneellis.com, 8/18/8] | |||
* | |||
* Belief is "Jim" would greatly benifit if Jim Internals where | |||
@@ -403,7 +403,7 @@ typedef void (Jim_FreeInternalRepProc)(struct Jim_Interp *interp, | |||
typedef void (Jim_DupInternalRepProc)(struct Jim_Interp *interp, | |||
struct Jim_Obj *srcPtr, Jim_Obj *dupPtr); | |||
typedef void (Jim_UpdateStringProc)(struct Jim_Obj *objPtr); | |||
typedef struct Jim_ObjType { | |||
const char *name; /* The name of the type. */ | |||
Jim_FreeInternalRepProc *freeIntRepProc; | |||
@@ -449,7 +449,7 @@ typedef struct Jim_Var { | |||
Jim_Obj *objPtr; | |||
struct Jim_CallFrame *linkFramePtr; | |||
} Jim_Var; | |||
/* The cmd structure. */ | |||
typedef int (*Jim_CmdProc)(struct Jim_Interp *interp, int argc, | |||
Jim_Obj *const *argv); | |||
@@ -591,7 +591,7 @@ typedef struct Jim_Reference { | |||
* }; | |||
* | |||
* Jim_Nvp *result | |||
* e = Jim_Nvp_name2value(interp, yn, "y", &result); | |||
* e = Jim_Nvp_name2value(interp, yn, "y", &result); | |||
* returns &yn[0]; | |||
* e = Jim_Nvp_name2value(interp, yn, "n", &result); | |||
* returns &yn[1]; | |||
@@ -605,7 +605,7 @@ typedef struct { | |||
const char *name; | |||
int value; | |||
} Jim_Nvp; | |||
/* ----------------------------------------------------------------------------- | |||
* Exported API prototypes. | |||
@@ -628,7 +628,7 @@ typedef struct { | |||
#define Jim_FreeHashTableIterator(iter) Jim_Free(iter) | |||
#ifdef DOXYGEN | |||
#define JIM_STATIC | |||
#define JIM_STATIC | |||
#define JIM_API(X) X | |||
#else | |||
#ifndef __JIM_CORE__ | |||
@@ -758,15 +758,15 @@ JIM_STATIC void * JIM_API(Jim_SetStderr) (Jim_Interp *interp, void *fp); | |||
/* commands */ | |||
JIM_STATIC void JIM_API(Jim_RegisterCoreCommands) (Jim_Interp *interp); | |||
JIM_STATIC int JIM_API(Jim_CreateCommand) (Jim_Interp *interp, | |||
JIM_STATIC int JIM_API(Jim_CreateCommand) (Jim_Interp *interp, | |||
const char *cmdName, Jim_CmdProc cmdProc, void *privData, | |||
Jim_DelCmdProc delProc); | |||
JIM_STATIC int JIM_API(Jim_CreateProcedure) (Jim_Interp *interp, | |||
JIM_STATIC int JIM_API(Jim_CreateProcedure) (Jim_Interp *interp, | |||
const char *cmdName, Jim_Obj *argListObjPtr, Jim_Obj *staticsListObjPtr, | |||
Jim_Obj *bodyObjPtr, int arityMin, int arityMax); | |||
JIM_STATIC int JIM_API(Jim_DeleteCommand) (Jim_Interp *interp, | |||
const char *cmdName); | |||
JIM_STATIC int JIM_API(Jim_RenameCommand) (Jim_Interp *interp, | |||
JIM_STATIC int JIM_API(Jim_RenameCommand) (Jim_Interp *interp, | |||
const char *oldName, const char *newName); | |||
JIM_STATIC Jim_Cmd * JIM_API(Jim_GetCommand) (Jim_Interp *interp, | |||
Jim_Obj *objPtr, int flags); | |||
@@ -865,7 +865,7 @@ JIM_STATIC void JIM_API(Jim_SetDouble)(Jim_Interp *interp, Jim_Obj *objPtr, | |||
JIM_STATIC Jim_Obj * JIM_API(Jim_NewDoubleObj)(Jim_Interp *interp, double doubleValue); | |||
/* shared strings */ | |||
JIM_STATIC const char * JIM_API(Jim_GetSharedString) (Jim_Interp *interp, | |||
JIM_STATIC const char * JIM_API(Jim_GetSharedString) (Jim_Interp *interp, | |||
const char *str); | |||
JIM_STATIC void JIM_API(Jim_ReleaseSharedString) (Jim_Interp *interp, | |||
const char *str); | |||
@@ -875,9 +875,9 @@ JIM_STATIC void JIM_API(Jim_WrongNumArgs) (Jim_Interp *interp, int argc, | |||
Jim_Obj *const *argv, const char *msg); | |||
JIM_STATIC int JIM_API(Jim_GetEnum) (Jim_Interp *interp, Jim_Obj *objPtr, | |||
const char * const *tablePtr, int *indexPtr, const char *name, int flags); | |||
JIM_STATIC int JIM_API(Jim_GetNvp) (Jim_Interp *interp, | |||
JIM_STATIC int JIM_API(Jim_GetNvp) (Jim_Interp *interp, | |||
Jim_Obj *objPtr, | |||
const Jim_Nvp *nvp_table, | |||
const Jim_Nvp *nvp_table, | |||
const Jim_Nvp **result); | |||
JIM_STATIC int JIM_API(Jim_ScriptIsComplete) (const char *s, int len, | |||
char *stateCharPtr); | |||
@@ -892,7 +892,7 @@ JIM_STATIC int JIM_API(Jim_DeleteAssocData)(Jim_Interp *interp, const char *key) | |||
/* API import/export functions */ | |||
JIM_STATIC int JIM_API(Jim_GetApi) (Jim_Interp *interp, const char *funcname, | |||
void *targetPtrPtr); | |||
JIM_STATIC int JIM_API(Jim_RegisterApi) (Jim_Interp *interp, | |||
JIM_STATIC int JIM_API(Jim_RegisterApi) (Jim_Interp *interp, | |||
const char *funcname, void *funcptr); | |||
/* Packages C API */ | |||
@@ -932,20 +932,20 @@ JIM_STATIC int JIM_API(Jim_Nvp_name2value_obj_nocase)(Jim_Interp *interp, const | |||
JIM_STATIC int JIM_API(Jim_Nvp_value2name_obj)(Jim_Interp *interp, const Jim_Nvp *nvp_table, Jim_Obj *value_obj, Jim_Nvp **result); | |||
/** prints a nice 'unknown' parameter error message to the 'result' */ | |||
JIM_STATIC void JIM_API(Jim_SetResult_NvpUnknown)(Jim_Interp *interp, | |||
JIM_STATIC void JIM_API(Jim_SetResult_NvpUnknown)(Jim_Interp *interp, | |||
Jim_Obj *param_name, | |||
Jim_Obj *param_value, | |||
const Jim_Nvp *nvp_table); | |||
/** Debug: convert argc/argv into a printable string for printf() debug | |||
* | |||
* | |||
* \param interp - the interpeter | |||
* \param argc - arg count | |||
* \param argv - the objects | |||
* | |||
* \returns string pointer holding the text. | |||
* | |||
* | |||
* Note, next call to this function will free the old (last) string. | |||
* | |||
* For example might want do this: | |||
@@ -958,11 +958,11 @@ JIM_STATIC void JIM_API(Jim_SetResult_NvpUnknown)(Jim_Interp *interp, | |||
JIM_STATIC const char *JIM_API(Jim_Debug_ArgvString)(Jim_Interp *interp, int argc, Jim_Obj *const *argv); | |||
/** A TCL -ish GetOpt like code. | |||
/** A TCL -ish GetOpt like code. | |||
* | |||
* Some TCL objects have various "configuration" values. | |||
* For example - in Tcl/Tk the "buttons" have many options. | |||
* | |||
* | |||
* Usefull when dealing with command options. | |||
* that may come in any order... | |||
* | |||
@@ -972,7 +972,7 @@ JIM_STATIC const char *JIM_API(Jim_Debug_ArgvString)(Jim_Interp *interp, int arg | |||
typedef struct jim_getopt { | |||
Jim_Interp *interp; | |||
int argc; | |||
int argc; | |||
Jim_Obj * const * argv; | |||
int isconfigure; /* non-zero if configure */ | |||
} Jim_GetOptInfo; | |||
@@ -981,7 +981,7 @@ typedef struct jim_getopt { | |||
* | |||
* Example (short and incomplete): | |||
* \code | |||
* Jim_GetOptInfo goi; | |||
* Jim_GetOptInfo goi; | |||
* | |||
* Jim_GetOpt_Setup(&goi, interp, argc, argv); | |||
* | |||
@@ -1016,10 +1016,10 @@ typedef struct jim_getopt { | |||
* } | |||
* | |||
* \endcode | |||
* | |||
* | |||
*/ | |||
/** Setup GETOPT | |||
/** Setup GETOPT | |||
* | |||
* \param goi - get opt info to be initialized | |||
* \param interp - jim interp | |||
@@ -1028,14 +1028,14 @@ typedef struct jim_getopt { | |||
* | |||
* \code | |||
* Jim_GetOptInfo goi; | |||
* | |||
* | |||
* Jim_GetOptSetup(&goi, interp, argc, argv); | |||
* \endcode | |||
*/ | |||
JIM_STATIC int JIM_API(Jim_GetOpt_Setup)(Jim_GetOptInfo *goi, | |||
Jim_Interp *interp, | |||
int argc, | |||
JIM_STATIC int JIM_API(Jim_GetOpt_Setup)(Jim_GetOptInfo *goi, | |||
Jim_Interp *interp, | |||
int argc, | |||
Jim_Obj * const * argv); | |||
@@ -1050,7 +1050,7 @@ JIM_STATIC void JIM_API(Jim_GetOpt_Debug)(Jim_GetOptInfo *goi); | |||
* | |||
* \param goi - get opt info | |||
* \param puthere - where param is put | |||
* | |||
* | |||
*/ | |||
JIM_STATIC int JIM_API(Jim_GetOpt_Obj)(Jim_GetOptInfo *goi, Jim_Obj **puthere); | |||
@@ -1103,7 +1103,7 @@ JIM_STATIC int JIM_API(Jim_GetOpt_Nvp)(Jim_GetOptInfo *goi, const Jim_Nvp *looku | |||
* \code | |||
* | |||
* while (goi.argc) { | |||
* // Get the next option | |||
* // Get the next option | |||
* e = Jim_GetOpt_Nvp(&goi, cmd_options, &n); | |||
* if (e != JIM_OK) { | |||
* // option was not recognized | |||
@@ -1281,7 +1281,7 @@ static void Jim_InitExtension(Jim_Interp *interp) | |||
JIM_GET_API(Nvp_name2value); | |||
JIM_GET_API(Nvp_name2value_nocase); | |||
JIM_GET_API(Nvp_name2value_simple); | |||
JIM_GET_API(Nvp_value2name); | |||
JIM_GET_API(Nvp_value2name_simple); | |||
@@ -28,12 +28,12 @@ | |||
#include "command.h" | |||
/* logging priorities | |||
* LOG_LVL_SILENT - turn off all output. In lieu of try + catch this can be used as a | |||
/* logging priorities | |||
* LOG_LVL_SILENT - turn off all output. In lieu of try + catch this can be used as a | |||
* feeble ersatz. | |||
* LOG_LVL_USER - user messages. Could be anything from information | |||
* LOG_LVL_USER - user messages. Could be anything from information | |||
* to progress messags. These messages do not represent | |||
* incorrect or unexpected behaviour, just normal execution. | |||
* incorrect or unexpected behaviour, just normal execution. | |||
* LOG_LVL_ERROR - fatal errors, that are likely to cause program abort | |||
* LOG_LVL_WARNING - non-fatal errors, that may be resolved later | |||
* LOG_LVL_INFO - state information, etc. | |||
@@ -50,11 +50,11 @@ enum log_levels | |||
LOG_LVL_DEBUG = 3 | |||
}; | |||
extern void log_printf(enum log_levels level, const char *file, int line, | |||
const char *function, const char *format, ...) | |||
extern void log_printf(enum log_levels level, const char *file, int line, | |||
const char *function, const char *format, ...) | |||
__attribute__ ((format (printf, 5, 6))); | |||
extern void log_printf_lf(enum log_levels level, const char *file, int line, | |||
const char *function, const char *format, ...) | |||
const char *function, const char *format, ...) | |||
__attribute__ ((format (printf, 5, 6))); | |||
extern int log_register_commands(struct command_context_s *cmd_ctx); | |||
extern int log_init(struct command_context_s *cmd_ctx); | |||
@@ -118,7 +118,7 @@ extern int debug_level; | |||
#define ERROR_INVALID_ARGUMENTS ERROR_COMMAND_SYNTAX_ERROR | |||
#define ERROR_NO_CONFIG_FILE (-2) | |||
#define ERROR_BUF_TOO_SMALL (-3) | |||
/* see "Error:" log entry for meaningful message to the user. The caller should | |||
/* see "Error:" log entry for meaningful message to the user. The caller should | |||
* make no assumptions about what went wrong and try to handle the problem. | |||
*/ | |||
#define ERROR_FAIL (-4) | |||
@@ -58,7 +58,7 @@ int add_default_dirs(void) | |||
#ifdef _WIN32 | |||
/* Add the parent of the directory where openocd.exe resides to the | |||
* config script search path. | |||
* Directory layout: | |||
* Directory layout: | |||
* bin\openocd.exe | |||
* lib\openocd | |||
* event\at91eb40a_reset.cfg | |||
@@ -68,7 +68,7 @@ int add_default_dirs(void) | |||
char strExePath [MAX_PATH]; | |||
GetModuleFileName (NULL, strExePath, MAX_PATH); | |||
/* Either this code will *always* work or it will SEGFAULT giving | |||
* excellent information on the culprit. | |||
* excellent information on the culprit. | |||
*/ | |||
*strrchr(strExePath, '\\') = 0; | |||
strcat(strExePath, "\\.."); | |||
@@ -115,16 +115,16 @@ int parse_cmdline_args(struct command_context_s *cmd_ctx, int argc, char *argv[] | |||
char command_buffer[128]; | |||
while (1) | |||
{ | |||
{ | |||
/* getopt_long stores the option index here. */ | |||
int option_index = 0; | |||
c = getopt_long(argc, argv, "hvd::l:f:s:c:p", long_options, &option_index); | |||
/* Detect the end of the options. */ | |||
if (c == -1) | |||
break; | |||
switch (c) | |||
{ | |||
case 0: | |||
@@ -156,13 +156,13 @@ int parse_cmdline_args(struct command_context_s *cmd_ctx, int argc, char *argv[] | |||
{ | |||
snprintf(command_buffer, 128, "log_output %s", optarg); | |||
command_run_line(cmd_ctx, command_buffer); | |||
} | |||
} | |||
break; | |||
case 'c': /* --command | -c */ | |||
if (optarg) | |||
{ | |||
add_config_command(optarg); | |||
} | |||
} | |||
break; | |||
case 'p': /* --pipe | -p */ | |||
#if BUILD_ECOSBOARD == 1 | |||
@@ -187,7 +187,7 @@ int parse_cmdline_args(struct command_context_s *cmd_ctx, int argc, char *argv[] | |||
LOG_OUTPUT("--command | -c\trun <command>\n"); | |||
LOG_OUTPUT("--pipe | -p\tuse pipes for gdb communication\n"); | |||
exit(-1); | |||
} | |||
} | |||
if (version_flag) | |||
{ | |||
@@ -195,6 +195,6 @@ int parse_cmdline_args(struct command_context_s *cmd_ctx, int argc, char *argv[] | |||
// It is not an error to request the VERSION number. | |||
exit(0); | |||
} | |||
return ERROR_OK; | |||
} |
@@ -27,7 +27,7 @@ | |||
#include <stdlib.h> | |||
#include <string.h> | |||
/* | |||
/* | |||
* clear_malloc | |||
* | |||
* will alloc memory and clear it | |||
@@ -203,11 +203,11 @@ int win_select(int max_fd, fd_set *rfds, fd_set *wfds, fd_set *efds, struct time | |||
FD_ZERO(&aread); | |||
FD_ZERO(&awrite); | |||
FD_ZERO(&aexcept); | |||
limit = GetTickCount() + ms_total; | |||
do { | |||
retcode = 0; | |||
if (sock_max_fd >= 0) { | |||
/* overwrite the zero'd sets here; the select call | |||
* will clear those that are not active */ | |||
@@ -245,7 +245,7 @@ int win_select(int max_fd, fd_set *rfds, fd_set *wfds, fd_set *efds, struct time | |||
if (SAFE_FD_ISSET(handle_slot_to_fd[i], rfds)) { | |||
DWORD dwBytes; | |||
long handle = _get_osfhandle(handle_slot_to_fd[i]); | |||
if (PeekNamedPipe((HANDLE)handle, NULL, 0, NULL, &dwBytes, NULL)) | |||
{ | |||
/* check to see if gdb pipe has data available */ | |||
@@ -57,15 +57,15 @@ int timeval_subtract(struct timeval *result, struct timeval *x, struct timeval * | |||
int timeval_add(struct timeval *result, struct timeval *x, struct timeval *y) | |||
{ | |||
result->tv_sec = x->tv_sec + y->tv_sec; | |||
result->tv_usec = x->tv_usec + y->tv_usec; | |||
while (result->tv_usec > 1000000) | |||
{ | |||
result->tv_usec -= 1000000; | |||
result->tv_sec++; | |||
} | |||
return 0; | |||
} | |||
@@ -73,13 +73,13 @@ int timeval_add_time(struct timeval *result, int sec, int usec) | |||
{ | |||
result->tv_sec += sec; | |||
result->tv_usec += usec; | |||
while (result->tv_usec > 1000000) | |||
{ | |||
result->tv_usec -= 1000000; | |||
result->tv_sec++; | |||
} | |||
return 0; | |||
} | |||
@@ -91,11 +91,11 @@ void duration_start_measure(duration_t *duration) | |||
int duration_stop_measure(duration_t *duration, char **text) | |||
{ | |||
struct timeval end; | |||
gettimeofday(&end, NULL); | |||
timeval_subtract(&duration->duration, &end, &duration->start); | |||
if (text) | |||
{ | |||
float t; | |||
@@ -104,18 +104,18 @@ int duration_stop_measure(duration_t *duration, char **text) | |||
*text = malloc(100); | |||
snprintf(*text, 100, "%fs", t); | |||
} | |||
return ERROR_OK; | |||
} | |||
long long timeval_ms() | |||
{ | |||
struct timeval now; | |||
struct timeval now; | |||
long long t = 0; | |||
gettimeofday(&now, NULL); | |||
t += now.tv_usec/1000; | |||
t += now.tv_sec*1000; | |||
return t; | |||
} |
@@ -470,13 +470,13 @@ static int armjtagew_get_status(void) | |||
if (result == 0) | |||
{ | |||
unsigned int u_tg = buf_get_u32(usb_in_buffer, 0, 16); | |||
LOG_INFO("U_tg = %d mV, U_aux = %d mV, U_tgpwr = %d mV, I_tgpwr = %d mA, D1 = %d, Target power %s %s\n", | |||
LOG_INFO("U_tg = %d mV, U_aux = %d mV, U_tgpwr = %d mV, I_tgpwr = %d mA, D1 = %d, Target power %s %s\n", | |||
(int)(buf_get_u32(usb_in_buffer + 0, 0, 16)), | |||
(int)(buf_get_u32(usb_in_buffer + 2, 0, 16)), | |||
(int)(buf_get_u32(usb_in_buffer + 4, 0, 16)), | |||
(int)(buf_get_u32(usb_in_buffer + 6, 0, 16)), | |||
usb_in_buffer[9], | |||
usb_in_buffer[11] ? "OVERCURRENT" : "OK", | |||
usb_in_buffer[9], | |||
usb_in_buffer[11] ? "OVERCURRENT" : "OK", | |||
usb_in_buffer[10] ? "enabled" : "disabled"); | |||
if (u_tg < 1500) | |||
@@ -864,10 +864,10 @@ static void jtag_examine_chain_display(enum log_levels level, const char *msg, | |||
log_printf_lf(level, __FILE__, __LINE__, __FUNCTION__, | |||
"JTAG tap: %s %16.16s: 0x%08x " | |||
"(mfg: 0x%3.3x, part: 0x%4.4x, ver: 0x%1.1x)", | |||
name, msg, | |||
name, msg, | |||
(unsigned int)idcode, | |||
(unsigned int)EXTRACT_MFG(idcode), | |||
(unsigned int)EXTRACT_PART(idcode), | |||
(unsigned int)EXTRACT_MFG(idcode), | |||
(unsigned int)EXTRACT_PART(idcode), | |||
(unsigned int)EXTRACT_VER(idcode)); | |||
} | |||
@@ -1111,7 +1111,7 @@ void jtag_tap_free(jtag_tap_t *tap) | |||
{ | |||
jtag_unregister_event_callback(&jtag_reset_callback, tap); | |||
/// @todo is anything missing? no memory leaks please | |||
/// @todo is anything missing? no memory leaks please | |||
free((void *)tap->expected_ids); | |||
free((void *)tap->chip); | |||
free((void *)tap->tapname); | |||
@@ -411,8 +411,8 @@ static int ft2232_read(uint8_t* buf, uint32_t size, uint32_t* bytes_read) | |||
if (*bytes_read < size) | |||
{ | |||
LOG_ERROR("couldn't read the requested number of bytes from FT2232 device (%i < %i)", | |||
(unsigned int)(*bytes_read), | |||
LOG_ERROR("couldn't read the requested number of bytes from FT2232 device (%i < %i)", | |||
(unsigned int)(*bytes_read), | |||
(unsigned int)size); | |||
return ERROR_JTAG_DEVICE_ERROR; | |||
} | |||
@@ -965,7 +965,7 @@ static int ft2232_large_scan(scan_command_t* cmd, enum scan_type type, uint8_t* | |||
LOG_ERROR("couldn't write MPSSE commands to FT2232"); | |||
exit(-1); | |||
} | |||
LOG_DEBUG("ft2232_buffer_size: %i, bytes_written: %i", | |||
LOG_DEBUG("ft2232_buffer_size: %i, bytes_written: %i", | |||
ft2232_buffer_size, (int)bytes_written); | |||
ft2232_buffer_size = 0; | |||
@@ -1019,8 +1019,8 @@ static int ft2232_large_scan(scan_command_t* cmd, enum scan_type type, uint8_t* | |||
LOG_ERROR("couldn't write MPSSE commands to FT2232"); | |||
exit(-1); | |||
} | |||
LOG_DEBUG("ft2232_buffer_size: %i, bytes_written: %i", | |||
ft2232_buffer_size, | |||
LOG_DEBUG("ft2232_buffer_size: %i, bytes_written: %i", | |||
ft2232_buffer_size, | |||
(int)bytes_written); | |||
ft2232_buffer_size = 0; | |||
@@ -1031,8 +1031,8 @@ static int ft2232_large_scan(scan_command_t* cmd, enum scan_type type, uint8_t* | |||
LOG_ERROR("couldn't read from FT2232"); | |||
exit(-1); | |||
} | |||
LOG_DEBUG("thisrun_read: %i, bytes_read: %i", | |||
thisrun_read, | |||
LOG_DEBUG("thisrun_read: %i, bytes_read: %i", | |||
thisrun_read, | |||
(int)bytes_read); | |||
receive_pointer += bytes_read; | |||
} | |||
@@ -1129,8 +1129,8 @@ static int ft2232_large_scan(scan_command_t* cmd, enum scan_type type, uint8_t* | |||
LOG_ERROR("couldn't write MPSSE commands to FT2232"); | |||
exit(-1); | |||
} | |||
LOG_DEBUG("ft2232_buffer_size: %i, bytes_written: %i", | |||
ft2232_buffer_size, | |||
LOG_DEBUG("ft2232_buffer_size: %i, bytes_written: %i", | |||
ft2232_buffer_size, | |||
(int)bytes_written); | |||
ft2232_buffer_size = 0; | |||
@@ -1141,8 +1141,8 @@ static int ft2232_large_scan(scan_command_t* cmd, enum scan_type type, uint8_t* | |||
LOG_ERROR("couldn't read from FT2232"); | |||
exit(-1); | |||
} | |||
LOG_DEBUG("thisrun_read: %i, bytes_read: %i", | |||
thisrun_read, | |||
LOG_DEBUG("thisrun_read: %i, bytes_read: %i", | |||
thisrun_read, | |||
(int)bytes_read); | |||
receive_pointer += bytes_read; | |||
} | |||
@@ -38,7 +38,7 @@ | |||
* - jtag_add_callback | |||
* - jtag_add_callback4 | |||
* - interface_jtag_add_dr_out | |||
* | |||
* | |||
* The following core functions are declared in this file for use by | |||
* the minidriver and do @b not need to be defined by an implementation: | |||
* - default_interface_jtag_execute_queue() | |||
@@ -150,7 +150,7 @@ static int presto_write(uint8_t *buf, uint32_t size) | |||
if (ftbytes != size) | |||
{ | |||
LOG_ERROR("couldn't write the requested number of bytes to PRESTO (%u < %u)", | |||
LOG_ERROR("couldn't write the requested number of bytes to PRESTO (%u < %u)", | |||
(unsigned)ftbytes, (unsigned)size); | |||
return ERROR_JTAG_DEVICE_ERROR; | |||
} | |||
@@ -193,7 +193,7 @@ static int presto_read(uint8_t* buf, uint32_t size) | |||
if (ftbytes != size) | |||
{ | |||
/* this is just a warning, there might have been timeout when detecting PRESTO, which is not fatal */ | |||
LOG_WARNING("couldn't read the requested number of bytes from PRESTO (%u < %u)", | |||
LOG_WARNING("couldn't read the requested number of bytes from PRESTO (%u < %u)", | |||
(unsigned)ftbytes, (unsigned)size); | |||
return ERROR_JTAG_DEVICE_ERROR; | |||
} | |||
@@ -52,7 +52,7 @@ int add_connection(service_t *service, command_context_t *cmd_ctx) | |||
connection_t *c, **p; | |||
int retval; | |||
int flag = 1; | |||
c = malloc(sizeof(connection_t)); | |||
c->fd = -1; | |||
memset(&c->sin, 0, sizeof(c->sin)); | |||
@@ -65,9 +65,9 @@ int add_connection(service_t *service, command_context_t *cmd_ctx) | |||
if (service->type == CONNECTION_TCP) | |||
{ | |||
address_size = sizeof(c->sin); | |||
c->fd = accept(service->fd, (struct sockaddr *)&service->sin, &address_size); | |||
/* This increases performance dramatically for e.g. GDB load which | |||
* does not have a sliding window protocol. */ | |||
retval = setsockopt(c->fd, /* socket affected */ | |||
@@ -75,7 +75,7 @@ int add_connection(service_t *service, command_context_t *cmd_ctx) | |||
TCP_NODELAY, /* name of option */ | |||
(char *)&flag, /* the cast is historical cruft */ | |||
sizeof(int)); /* length of option value */ | |||
LOG_INFO("accepting '%s' connection from %i", service->name, c->sin.sin_port); | |||
if ((retval = service->new_connection(c)) != ERROR_OK) | |||
{ | |||
@@ -88,10 +88,10 @@ int add_connection(service_t *service, command_context_t *cmd_ctx) | |||
else if (service->type == CONNECTION_PIPE) | |||
{ | |||
c->fd = service->fd; | |||
/* do not check for new connections again on stdin */ | |||
service->fd = -1; | |||
LOG_INFO("accepting '%s' connection from pipe", service->name); | |||
if ((retval = service->new_connection(c)) != ERROR_OK) | |||
{ | |||
@@ -100,13 +100,13 @@ int add_connection(service_t *service, command_context_t *cmd_ctx) | |||
return retval; | |||
} | |||
} | |||
/* add to the end of linked list */ | |||
for (p = &service->connections; *p; p = &(*p)->next); | |||
*p = c; | |||
service->max_connections--; | |||
return ERROR_OK; | |||
} | |||
@@ -114,29 +114,29 @@ int remove_connection(service_t *service, connection_t *connection) | |||
{ | |||
connection_t **p = &service->connections; | |||
connection_t *c; | |||
/* find connection */ | |||
while ((c = *p)) | |||
{ | |||
{ | |||
if (c->fd == connection->fd) | |||
{ | |||
{ | |||
service->connection_closed(c); | |||
if (service->type == CONNECTION_TCP) | |||
close_socket(c->fd); | |||
command_done(c->cmd_ctx); | |||
/* delete connection */ | |||
*p = c->next; | |||
free(c); | |||
service->max_connections++; | |||
break; | |||
} | |||
/* redirect p to next list pointer */ | |||
p = &(*p)->next; | |||
p = &(*p)->next; | |||
} | |||
return ERROR_OK; | |||
} | |||
@@ -144,9 +144,9 @@ int add_service(char *name, enum connection_type type, unsigned short port, int | |||
{ | |||
service_t *c, **p; | |||
int so_reuseaddr_option = 1; | |||
c = malloc(sizeof(service_t)); | |||
c->name = strdup(name); | |||
c->type = type; | |||
c->port = port; | |||
@@ -158,7 +158,7 @@ int add_service(char *name, enum connection_type type, unsigned short port, int | |||
c->connection_closed = connection_closed_handler; | |||
c->priv = priv; | |||
c->next = NULL; | |||
if (type == CONNECTION_TCP) | |||
{ | |||
if ((c->fd = socket(AF_INET, SOCK_STREAM, 0)) == -1) | |||
@@ -166,35 +166,35 @@ int add_service(char *name, enum connection_type type, unsigned short port, int | |||
LOG_ERROR("error creating socket: %s", strerror(errno)); | |||
exit(-1); | |||
} | |||
setsockopt(c->fd, SOL_SOCKET, SO_REUSEADDR, (void*)&so_reuseaddr_option, sizeof(int)); | |||
socket_nonblock(c->fd); | |||
memset(&c->sin, 0, sizeof(c->sin)); | |||
c->sin.sin_family = AF_INET; | |||
c->sin.sin_addr.s_addr = INADDR_ANY; | |||
c->sin.sin_port = htons(port); | |||
if (bind(c->fd, (struct sockaddr *)&c->sin, sizeof(c->sin)) == -1) | |||
{ | |||
LOG_ERROR("couldn't bind to socket: %s", strerror(errno)); | |||
exit(-1); | |||
} | |||
#ifndef _WIN32 | |||
int segsize = 65536; | |||
setsockopt(c->fd, IPPROTO_TCP, TCP_MAXSEG, &segsize, sizeof(int)); | |||
#endif | |||
int window_size = 128 * 1024; | |||
int window_size = 128 * 1024; | |||
/* These setsockopt()s must happen before the listen() */ | |||
setsockopt(c->fd, SOL_SOCKET, SO_SNDBUF, | |||
(char *)&window_size, sizeof(window_size)); | |||
setsockopt(c->fd, SOL_SOCKET, SO_RCVBUF, | |||
(char *)&window_size, sizeof(window_size)); | |||
if (listen(c->fd, 1) == -1) | |||
{ | |||
LOG_ERROR("couldn't listen on socket: %s", strerror(errno)); | |||
@@ -205,7 +205,7 @@ int add_service(char *name, enum connection_type type, unsigned short port, int | |||
{ | |||
/* use stdin */ | |||
c->fd = STDIN_FILENO; | |||
#ifdef _WIN32 | |||
/* for win32 set stdin/stdout to binary mode */ | |||
if (_setmode(_fileno(stdout), _O_BINARY) < 0) | |||
@@ -223,11 +223,11 @@ int add_service(char *name, enum connection_type type, unsigned short port, int | |||
LOG_ERROR("unknown connection type: %d", type); | |||
exit(1); | |||
} | |||
/* add to the end of linked list */ | |||
for (p = &services; *p; p = &(*p)->next); | |||
*p = c; | |||
return ERROR_OK; | |||
} | |||
@@ -235,18 +235,18 @@ int remove_service(unsigned short port) | |||
{ | |||
service_t **p = &services; | |||
service_t *c; | |||
/* find service */ | |||
while ((c = *p)) | |||
{ | |||
{ | |||
if (c->port == port) | |||
{ | |||
{ | |||
if (c->name) | |||
free(c->name); | |||
if (c->priv) | |||
free(c->priv); | |||
/* delete service */ | |||
*p = c->next; | |||
free(c); | |||
@@ -255,7 +255,7 @@ int remove_service(unsigned short port) | |||
/* redirect p to next list pointer */ | |||
p = &(*p)->next; | |||
} | |||
return ERROR_OK; | |||
} | |||
@@ -282,7 +282,7 @@ int remove_services(void) | |||
} | |||
services = NULL; | |||
return ERROR_OK; | |||
} | |||
@@ -297,10 +297,10 @@ int server_loop(command_context_t *command_context) | |||
fd_set read_fds; | |||
struct timeval tv; | |||
int fd_max; | |||
/* used in accept() */ | |||
int retval; | |||
#ifndef _WIN32 | |||
if (signal(SIGPIPE, SIG_IGN) == SIG_ERR) | |||
LOG_ERROR("couldn't set SIGPIPE to SIG_IGN"); | |||
@@ -309,7 +309,7 @@ int server_loop(command_context_t *command_context) | |||
/* do regular tasks after at most 10ms */ | |||
tv.tv_sec = 0; | |||
tv.tv_usec = 10000; | |||
while (!shutdown_openocd) | |||
{ | |||
/* monitor sockets for acitvity */ | |||
@@ -327,11 +327,11 @@ int server_loop(command_context_t *command_context) | |||
if (service->fd > fd_max) | |||
fd_max = service->fd; | |||
} | |||
if (service->connections) | |||
{ | |||
connection_t *c; | |||
for (c = service->connections; c; c = c->next) | |||
{ | |||
/* check for activity on the connection */ | |||
@@ -341,7 +341,7 @@ int server_loop(command_context_t *command_context) | |||
} | |||
} | |||
} | |||
#ifndef _WIN32 | |||
#if BUILD_ECOSBOARD == 0 | |||
if (server_use_pipes == 0) | |||
@@ -354,7 +354,7 @@ int server_loop(command_context_t *command_context) | |||
openocd_sleep_prelude(); | |||
kept_alive(); | |||
/* Only while we're sleeping we'll let others run */ | |||
retval = socket_select(fd_max + 1, &read_fds, NULL, NULL, &tv); | |||
openocd_sleep_postlude(); | |||
@@ -385,7 +385,7 @@ int server_loop(command_context_t *command_context) | |||
} | |||
#endif | |||
} | |||
target_call_timer_callbacks(); | |||
process_jim_events (); | |||
@@ -396,12 +396,12 @@ int server_loop(command_context_t *command_context) | |||
tv.tv_usec = 10000; | |||
FD_ZERO(&read_fds); /* eCos leaves read_fds unchanged in this case! */ | |||
} | |||
for (service = services; service; service = service->next) | |||
{ | |||
/* handle new connections on listeners */ | |||
if ((service->fd != -1) | |||
&& (FD_ISSET(service->fd, &read_fds))) | |||
if ((service->fd != -1) | |||
&& (FD_ISSET(service->fd, &read_fds))) | |||
{ | |||
if (service->max_connections > 0) | |||
{ | |||
@@ -420,12 +420,12 @@ int server_loop(command_context_t *command_context) | |||
LOG_INFO("rejected '%s' connection, no more connections allowed", service->name); | |||
} | |||
} | |||
/* handle activity on connections */ | |||
if (service->connections) | |||
{ | |||
connection_t *c; | |||
for (c = service->connections; c;) | |||
{ | |||
if ((FD_ISSET(c->fd, &read_fds)) || c->input_pending) | |||
@@ -448,7 +448,7 @@ int server_loop(command_context_t *command_context) | |||
} | |||
} | |||
} | |||
#ifndef _WIN32 | |||
#if BUILD_ECOSBOARD == 0 | |||
/* check for data on stdin if not using pipes */ | |||
@@ -472,7 +472,7 @@ int server_loop(command_context_t *command_context) | |||
} | |||
#endif | |||
} | |||
return ERROR_OK; | |||
} | |||
@@ -518,7 +518,7 @@ int server_init(void) | |||
signal(SIGBREAK, sig_handler); | |||
signal(SIGABRT, sig_handler); | |||
#endif | |||
return ERROR_OK; | |||
} | |||
@@ -538,7 +538,7 @@ int server_register_commands(command_context_t *context) | |||
{ | |||
register_command(context, NULL, "shutdown", handle_shutdown_command, | |||
COMMAND_ANY, "shut the server down"); | |||
return ERROR_OK; | |||
} | |||
@@ -141,7 +141,7 @@ static int tcl_input(connection_t *connection) | |||
if (memchr(result, '\n', reslen) == NULL) | |||
tcl_output(connection, "\n", 1); | |||
} | |||
tclc->tc_lineoffset = 0; | |||
tclc->tc_linedrop = 0; | |||
} | |||
@@ -98,24 +98,24 @@ typedef struct | |||
tap_state_t paths[8]; | |||
}svf_statemove_t; | |||
svf_statemove_t svf_statemoves[] = | |||
svf_statemove_t svf_statemoves[] = | |||
{ | |||
// from to num_of_moves, paths[8] | |||
// {TAP_RESET, TAP_RESET, 1, {TAP_RESET}}, | |||
{TAP_RESET, TAP_IDLE, 2, {TAP_RESET, TAP_IDLE}}, | |||
{TAP_RESET, TAP_DRPAUSE, 6, {TAP_RESET, TAP_IDLE, TAP_DRSELECT, TAP_DRCAPTURE, TAP_DREXIT1, TAP_DRPAUSE}}, | |||
{TAP_RESET, TAP_IRPAUSE, 7, {TAP_RESET, TAP_IDLE, TAP_DRSELECT, TAP_IRSELECT, TAP_IRCAPTURE, TAP_IREXIT1, TAP_IRPAUSE}}, | |||
// {TAP_IDLE, TAP_RESET, 4, {TAP_IDLE, TAP_DRSELECT, TAP_IRSELECT, TAP_RESET}}, | |||
{TAP_IDLE, TAP_IDLE, 1, {TAP_IDLE}}, | |||
{TAP_IDLE, TAP_DRPAUSE, 5, {TAP_IDLE, TAP_DRSELECT, TAP_DRCAPTURE, TAP_DREXIT1, TAP_DRPAUSE}}, | |||
{TAP_IDLE, TAP_IRPAUSE, 6, {TAP_IDLE, TAP_DRSELECT, TAP_IRSELECT, TAP_IRCAPTURE, TAP_IREXIT1, TAP_IRPAUSE}}, | |||
// {TAP_DRPAUSE, TAP_RESET, 6, {TAP_DRPAUSE, TAP_DREXIT2, TAP_DRUPDATE, TAP_DRSELECT, TAP_IRSELECT, TAP_RESET}}, | |||
{TAP_DRPAUSE, TAP_IDLE, 4, {TAP_DRPAUSE, TAP_DREXIT2, TAP_DRUPDATE, TAP_IDLE}}, | |||
{TAP_DRPAUSE, TAP_DRPAUSE, 7, {TAP_DRPAUSE, TAP_DREXIT2, TAP_DRUPDATE, TAP_DRSELECT, TAP_DRCAPTURE, TAP_DREXIT1, TAP_DRPAUSE}}, | |||
{TAP_DRPAUSE, TAP_IRPAUSE, 8, {TAP_DRPAUSE, TAP_DREXIT2, TAP_DRUPDATE, TAP_DRSELECT, TAP_IRSELECT, TAP_IRCAPTURE, TAP_IREXIT1, TAP_IRPAUSE}}, | |||
// {TAP_IRPAUSE, TAP_RESET, 6, {TAP_IRPAUSE, TAP_IREXIT2, TAP_IRUPDATE, TAP_DRSELECT, TAP_IRSELECT, TAP_RESET}}, | |||
{TAP_IRPAUSE, TAP_IDLE, 4, {TAP_IRPAUSE, TAP_IREXIT2, TAP_IRUPDATE, TAP_IDLE}}, | |||
{TAP_IRPAUSE, TAP_DRPAUSE, 7, {TAP_IRPAUSE, TAP_IREXIT2, TAP_IRUPDATE, TAP_DRSELECT, TAP_DRCAPTURE, TAP_DREXIT1, TAP_DRPAUSE}}, | |||
@@ -304,7 +304,7 @@ static int svf_add_statemove(tap_state_t state_to) | |||
for (index = 0; index < dimof(svf_statemoves); index++) | |||
{ | |||
if ((svf_statemoves[index].from == state_from) | |||
if ((svf_statemoves[index].from == state_from) | |||
&& (svf_statemoves[index].to == state_to)) | |||
{ | |||
if (TAP_RESET == state_from) | |||
@@ -746,7 +746,7 @@ static int svf_check_tdo(void) | |||
{ | |||
index = svf_check_tdo_para[i].buffer_offset; | |||
len = svf_check_tdo_para[i].bit_len; | |||
if ((svf_check_tdo_para[i].enabled) | |||
if ((svf_check_tdo_para[i].enabled) | |||
&& buf_cmp_mask(&svf_tdi_buffer[index], &svf_tdo_buffer[index], &svf_mask_buffer[index], len)) | |||
{ | |||
unsigned bitmask; | |||
@@ -756,11 +756,11 @@ static int svf_check_tdo(void) | |||
memcpy(&received, svf_tdi_buffer + index, sizeof(unsigned)); | |||
memcpy(&expected, svf_tdo_buffer + index, sizeof(unsigned)); | |||
memcpy(&tapmask, svf_mask_buffer + index, sizeof(unsigned)); | |||
LOG_ERROR("tdo check error at line %d", | |||
LOG_ERROR("tdo check error at line %d", | |||
svf_check_tdo_para[i].line_num); | |||
LOG_ERROR("read = 0x%X, want = 0x%X, mask = 0x%X", | |||
received & bitmask, | |||
expected & bitmask, | |||
LOG_ERROR("read = 0x%X, want = 0x%X, mask = 0x%X", | |||
received & bitmask, | |||
expected & bitmask, | |||
tapmask & bitmask); | |||
return ERROR_FAIL; | |||
} | |||
@@ -620,7 +620,7 @@ static int handle_xsvf_command(struct command_context_s *cmd_ctx, char *cmd, cha | |||
field.in_value = NULL; | |||
if (tap == NULL) | |||
jtag_add_plain_ir_scan(1, &field, my_end_state); | |||
@@ -1,30 +1,30 @@ | |||
/**************************************************************************** | |||
* Copyright (c) 2006 by Michael Fischer. All rights reserved. | |||
* | |||
* Redistribution and use in source and binary forms, with or without | |||
* modification, are permitted provided that the following conditions | |||
* Redistribution and use in source and binary forms, with or without | |||
* modification, are permitted provided that the following conditions | |||
* are met: | |||
* | |||
* 1. Redistributions of source code must retain the above copyright | |||
* | |||
* 1. Redistributions of source code must retain the above copyright | |||
* notice, this list of conditions and the following disclaimer. | |||
* 2. Redistributions in binary form must reproduce the above copyright | |||
* notice, this list of conditions and the following disclaimer in the | |||
* notice, this list of conditions and the following disclaimer in the | |||
* documentation and/or other materials provided with the distribution. | |||
* 3. Neither the name of the author nor the names of its contributors may | |||
* be used to endorse or promote products derived from this software | |||
* 3. Neither the name of the author nor the names of its contributors may | |||
* be used to endorse or promote products derived from this software | |||
* without specific prior written permission. | |||
* | |||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | |||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | |||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS | |||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL | |||
* THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, | |||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, | |||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS | |||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED | |||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, | |||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF | |||
* THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | |||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | |||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | |||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS | |||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL | |||
* THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, | |||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, | |||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS | |||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED | |||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, | |||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF | |||
* THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | |||
* SUCH DAMAGE. | |||
* | |||
**************************************************************************** | |||
@@ -1,30 +1,30 @@ | |||
/**************************************************************************** | |||
* Copyright (c) 2006 by Michael Fischer. All rights reserved. | |||
* | |||
* Redistribution and use in source and binary forms, with or without | |||
* modification, are permitted provided that the following conditions | |||
* Redistribution and use in source and binary forms, with or without | |||
* modification, are permitted provided that the following conditions | |||
* are met: | |||
* | |||
* 1. Redistributions of source code must retain the above copyright | |||
* | |||
* 1. Redistributions of source code must retain the above copyright | |||
* notice, this list of conditions and the following disclaimer. | |||
* 2. Redistributions in binary form must reproduce the above copyright | |||
* notice, this list of conditions and the following disclaimer in the | |||
* notice, this list of conditions and the following disclaimer in the | |||
* documentation and/or other materials provided with the distribution. | |||
* 3. Neither the name of the author nor the names of its contributors may | |||
* be used to endorse or promote products derived from this software | |||
* 3. Neither the name of the author nor the names of its contributors may | |||
* be used to endorse or promote products derived from this software | |||
* without specific prior written permission. | |||
* | |||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | |||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | |||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS | |||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL | |||
* THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, | |||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, | |||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS | |||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED | |||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, | |||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF | |||
* THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | |||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | |||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | |||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS | |||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL | |||
* THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, | |||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, | |||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS | |||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED | |||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, | |||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF | |||
* THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | |||
* SUCH DAMAGE. | |||
* | |||
**************************************************************************** | |||
@@ -39,8 +39,8 @@ | |||
* I use the include only, to show | |||
* how to setup a include dir in the makefile | |||
*/ | |||
#include <stdio.h> | |||
#include <stdlib.h> | |||
#include <stdio.h> | |||
#include <stdlib.h> | |||
#include "typedefs.h" | |||
/*=========================================================================*/ | |||
@@ -71,22 +71,22 @@ int main (void) | |||
DWORD a = 1; | |||
DWORD b = 2; | |||
DWORD c = 0; | |||
a = a + d; | |||
while (1) | |||
{ | |||
a++; | |||
b++; | |||
c = a + b; | |||
} | |||
/* | |||
* This return here make no sense. | |||
* But to prevent the compiler warning: | |||
* "return type of 'main' is not 'int' | |||
* we use an int as return :-) | |||
*/ | |||
*/ | |||
return(0); | |||
} | |||
@@ -1,30 +1,30 @@ | |||
/**************************************************************************** | |||
* Copyright (c) 2006 by Michael Fischer. All rights reserved. | |||
* | |||
* Redistribution and use in source and binary forms, with or without | |||
* modification, are permitted provided that the following conditions | |||
* Redistribution and use in source and binary forms, with or without | |||
* modification, are permitted provided that the following conditions | |||
* are met: | |||
* | |||
* 1. Redistributions of source code must retain the above copyright | |||
* | |||
* 1. Redistributions of source code must retain the above copyright | |||
* notice, this list of conditions and the following disclaimer. | |||
* 2. Redistributions in binary form must reproduce the above copyright | |||
* notice, this list of conditions and the following disclaimer in the | |||
* notice, this list of conditions and the following disclaimer in the | |||
* documentation and/or other materials provided with the distribution. | |||
* 3. Neither the name of the author nor the names of its contributors may | |||
* be used to endorse or promote products derived from this software | |||
* 3. Neither the name of the author nor the names of its contributors may | |||
* be used to endorse or promote products derived from this software | |||
* without specific prior written permission. | |||
* | |||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | |||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | |||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS | |||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL | |||
* THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, | |||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, | |||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS | |||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED | |||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, | |||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF | |||
* THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | |||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | |||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | |||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS | |||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL | |||
* THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, | |||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, | |||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS | |||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED | |||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, | |||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF | |||
* THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | |||
* SUCH DAMAGE. | |||
* | |||
**************************************************************************** | |||
@@ -1,30 +1,30 @@ | |||
/**************************************************************************** | |||
* Copyright (c) 2006 by Michael Fischer. All rights reserved. | |||
* | |||
* Redistribution and use in source and binary forms, with or without | |||
* modification, are permitted provided that the following conditions | |||
* Redistribution and use in source and binary forms, with or without | |||
* modification, are permitted provided that the following conditions | |||
* are met: | |||
* | |||
* 1. Redistributions of source code must retain the above copyright | |||
* | |||
* 1. Redistributions of source code must retain the above copyright | |||
* notice, this list of conditions and the following disclaimer. | |||
* 2. Redistributions in binary form must reproduce the above copyright | |||
* notice, this list of conditions and the following disclaimer in the | |||
* notice, this list of conditions and the following disclaimer in the | |||
* documentation and/or other materials provided with the distribution. | |||
* 3. Neither the name of the author nor the names of its contributors may | |||
* be used to endorse or promote products derived from this software | |||
* 3. Neither the name of the author nor the names of its contributors may | |||
* be used to endorse or promote products derived from this software | |||
* without specific prior written permission. | |||
* | |||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | |||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | |||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS | |||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL | |||
* THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, | |||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, | |||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS | |||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED | |||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, | |||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF | |||
* THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | |||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | |||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | |||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS | |||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL | |||
* THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, | |||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, | |||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS | |||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED | |||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, | |||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF | |||
* THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | |||
* SUCH DAMAGE. | |||
* | |||
**************************************************************************** | |||
@@ -39,8 +39,8 @@ | |||
* I use the include only, to show | |||
* how to setup a include dir in the makefile | |||
*/ | |||
#include <stdio.h> | |||
#include <stdlib.h> | |||
#include <stdio.h> | |||
#include <stdlib.h> | |||
#include "typedefs.h" | |||
/*=========================================================================*/ | |||
@@ -71,22 +71,22 @@ int main (void) | |||
DWORD a = 1; | |||
DWORD b = 2; | |||
DWORD c = 0; | |||
a = a + d; | |||
while (1) | |||
{ | |||
a++; | |||
b++; | |||
c = a + b; | |||
} | |||
/* | |||
* This return here make no sense. | |||
* But to prevent the compiler warning: | |||
* "return type of 'main' is not 'int' | |||
* we use an int as return :-) | |||
*/ | |||
*/ | |||
return(0); | |||
} | |||
@@ -1,30 +1,30 @@ | |||
/**************************************************************************** | |||
* Copyright (c) 2006 by Michael Fischer. All rights reserved. | |||
* | |||
* Redistribution and use in source and binary forms, with or without | |||
* modification, are permitted provided that the following conditions | |||
* Redistribution and use in source and binary forms, with or without | |||
* modification, are permitted provided that the following conditions | |||
* are met: | |||
* | |||
* 1. Redistributions of source code must retain the above copyright | |||
* | |||
* 1. Redistributions of source code must retain the above copyright | |||
* notice, this list of conditions and the following disclaimer. | |||
* 2. Redistributions in binary form must reproduce the above copyright | |||
* notice, this list of conditions and the following disclaimer in the | |||
* notice, this list of conditions and the following disclaimer in the | |||
* documentation and/or other materials provided with the distribution. | |||
* 3. Neither the name of the author nor the names of its contributors may | |||
* be used to endorse or promote products derived from this software | |||
* 3. Neither the name of the author nor the names of its contributors may | |||
* be used to endorse or promote products derived from this software | |||
* without specific prior written permission. | |||
* | |||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | |||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | |||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS | |||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL | |||
* THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, | |||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, | |||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS | |||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED | |||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, | |||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF | |||
* THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | |||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | |||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | |||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS | |||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL | |||
* THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, | |||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, | |||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS | |||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED | |||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, | |||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF | |||
* THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | |||
* SUCH DAMAGE. | |||
* | |||
**************************************************************************** | |||
@@ -1,30 +1,30 @@ | |||
/**************************************************************************** | |||
* Copyright (c) 2006 by Michael Fischer. All rights reserved. | |||
* | |||
* Redistribution and use in source and binary forms, with or without | |||
* modification, are permitted provided that the following conditions | |||
* Redistribution and use in source and binary forms, with or without | |||
* modification, are permitted provided that the following conditions | |||
* are met: | |||
* | |||
* 1. Redistributions of source code must retain the above copyright | |||
* | |||
* 1. Redistributions of source code must retain the above copyright | |||
* notice, this list of conditions and the following disclaimer. | |||
* 2. Redistributions in binary form must reproduce the above copyright | |||
* notice, this list of conditions and the following disclaimer in the | |||
* notice, this list of conditions and the following disclaimer in the | |||
* documentation and/or other materials provided with the distribution. | |||
* 3. Neither the name of the author nor the names of its contributors may | |||
* be used to endorse or promote products derived from this software | |||
* 3. Neither the name of the author nor the names of its contributors may | |||
* be used to endorse or promote products derived from this software | |||
* without specific prior written permission. | |||
* | |||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | |||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | |||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS | |||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL | |||
* THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, | |||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, | |||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS | |||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED | |||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, | |||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF | |||
* THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | |||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | |||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | |||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS | |||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL | |||
* THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, | |||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, | |||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS | |||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED | |||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, | |||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF | |||
* THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | |||
* SUCH DAMAGE. | |||
* | |||
**************************************************************************** | |||
@@ -39,8 +39,8 @@ | |||
* I use the include only, to show | |||
* how to setup a include dir in the makefile | |||
*/ | |||
#include <stdio.h> | |||
#include <stdlib.h> | |||
#include <stdio.h> | |||
#include <stdlib.h> | |||
#include "typedefs.h" | |||
/*=========================================================================*/ | |||
@@ -71,22 +71,22 @@ int main (void) | |||
DWORD a = 1; | |||
DWORD b = 2; | |||
DWORD c = 0; | |||
a = a + d; | |||
while (1) | |||
{ | |||
a++; | |||
b++; | |||
c = a + b; | |||
} | |||
/* | |||
* This return here make no sense. | |||
* But to prevent the compiler warning: | |||
* "return type of 'main' is not 'int' | |||
* we use an int as return :-) | |||
*/ | |||
*/ | |||
return(0); | |||
} | |||
@@ -8,7 +8,7 @@ int main(void) | |||
mPORTDSetPinsDigitalOut(BIT_1); | |||
mPORTDClearBits(BIT_2); | |||
mPORTDSetPinsDigitalOut(BIT_2); | |||
while (1) | |||
{ | |||
for (i = 0; i < 500000; i++) | |||
@@ -1,30 +1,30 @@ | |||
/**************************************************************************** | |||
* Copyright (c) 2006 by Michael Fischer. All rights reserved. | |||