jtag newtap change & huge manual update
[openocd.git] / src / helper / replacements.h
index 296afdb64fa9d087204c487c7e5e5ff1051c2aca..069519d1a8906f6e027532d05a3f4a9c15598995 100644 (file)
@@ -2,6 +2,12 @@
  *   Copyright (C) 2006 by Dominic Rath                                    *
  *   Dominic.Rath@gmx.de                                                   *
  *                                                                         *
+ *   Copyright (C) 2007,2008 Ã˜yvind Harboe                                 *
+ *   oyvind.harboe@zylin.com                                               *
+ *                                                                         *
+ *   Copyright (C) 2008 by Spencer Oliver                                  *
+ *   spen@spen-soft.co.uk                                                  *
+ *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
  *   it under the terms of the GNU General Public License as published by  *
  *   the Free Software Foundation; either version 2 of the License, or     *
 
 #include "types.h"
 
+#if BUILD_ECOSBOARD
+#include <pkgconf/system.h>
+#include <stdlib.h>
+#include <sys/select.h>
+#endif
+
 /* include necessary headers for socket functionality */
 #ifdef _WIN32
 #include <winsock2.h>
 #ifndef MAX
 #define MAX(a,b) (((a)>(b))?(a):(b))
 #endif
-                                                                                                                                
-/* gettimeofday() */
-#ifndef HAVE_GETTIMEOFDAY
+
+/* for systems that do not support ENOTSUP
+ * win32 being one of them */
+#ifndef ENOTSUP
+#define ENOTSUP 134            /* Not supported */
+#endif
+
+#ifndef HAVE_SYS_TIME_H
 
 #ifndef _TIMEVAL_DEFINED
 #define _TIMEVAL_DEFINED
@@ -59,12 +76,22 @@ struct timeval {
        long tv_sec;
        long tv_usec;
 };
+
 #endif /* _TIMEVAL_DEFINED */
 
+#endif
+
+/* gettimeofday() */
+#ifndef HAVE_GETTIMEOFDAY
+
+
+#ifdef _WIN32
 struct timezone {
     int tz_minuteswest;
        int tz_dsttime;
 };
+#endif
+struct timezone;
 
 extern int gettimeofday(struct timeval *tv, struct timezone *tz);
 #endif
@@ -88,19 +115,19 @@ void *fill_malloc(size_t size);
  *
  * We have figured out that there could exist some malloc problems
  * where variables are using without to be initialise. To find this
- * places, use the fill_malloc function. With this function we want 
- * to initialize memory to some known bad state. This is quite easily 
- * spotted in the debugger and will trap to an invalid address. 
+ * places, use the fill_malloc function. With this function we want
+ * to initialize memory to some known bad state. This is quite easily
+ * spotted in the debugger and will trap to an invalid address.
  *
- * clear_malloc can be used if you want to set not initialise 
+ * clear_malloc can be used if you want to set not initialise
  * variable to 0.
  *
  * If you do not want to change the malloc function, to not use one of
  * the following macros. Which is the default way.
  */
-//#define malloc(_a) clear_malloc(_a)
-//#define malloc(_a) fill_malloc(_a)
+
+/* #define malloc(_a) clear_malloc(_a) */
+/* #define malloc(_a) fill_malloc(_a) */
 
 /* GNU extensions to the C library that may be missing on some systems */
 #ifndef HAVE_STRNDUP
@@ -112,15 +139,19 @@ extern size_t strnlen(const char *s, size_t maxlen);
 #endif /* HAVE_STRNLEN */
 
 #ifndef HAVE_USLEEP
+#ifdef _WIN32
 static __inline unsigned usleep(unsigned int usecs)
 {
-#ifdef _WIN32
        Sleep((usecs/1000));
        return 0;
+}
+#else
+#if BUILD_ECOSBOARD
+void usleep(int us);
 #else
 #error no usleep defined for your platform
 #endif
-}
+#endif
 #endif /* HAVE_USLEEP */
 
 /* Windows specific */
@@ -130,8 +161,6 @@ static __inline unsigned usleep(unsigned int usecs)
 #include <windows.h>
 #include <time.h>
 
-#undef ERROR
-
 #if IS_MINGW == 1
 static __inline unsigned char inb(unsigned short int port)
 {
@@ -179,7 +208,7 @@ static __inline int close_socket(int sock)
 static __inline void socket_nonblock(int fd)
 {
 #ifdef _WIN32
-       long nonblock = 1;
+       unsigned long nonblock = 1;
        ioctlsocket(fd, FIONBIO, &nonblock );
 #else
        int oldopts = fcntl(fd, F_GETFL, 0);

Linking to existing account procedure

If you already have an account and want to add another login method you MUST first sign in with your existing account and then change URL to read https://review.openocd.org/login/?link to get to this page again but this time it'll work for linking. Thank you.

SSH host keys fingerprints

1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=..              |
|+o..   .         |
|*.o   . .        |
|+B . . .         |
|Bo. = o S        |
|Oo.+ + =         |
|oB=.* = . o      |
| =+=.+   + E     |
|. .=o   . o      |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)