From 818aa27a9d44e62f19cfdf757ac03ec9da2f730b Mon Sep 17 00:00:00 2001 From: zwelch Date: Sun, 31 May 2009 11:32:28 +0000 Subject: [PATCH] First step in hiding target_type_s from public interface: - Add DEFINE_TARGET_TYPE_S symbol in files that need it defined. - Forward declare 'struct target_type_s' only, unless that symbol is defined. git-svn-id: svn://svn.berlios.de/openocd/trunk@1969 b42882b7-edfa-0310-969c-e2dbd0fdcd60 --- src/target/arm11.c | 1 + src/target/arm720t.c | 1 + src/target/arm7tdmi.c | 1 + src/target/arm920t.c | 1 + src/target/arm926ejs.c | 1 + src/target/arm966e.c | 1 + src/target/arm9tdmi.c | 1 + src/target/avrt.c | 1 + src/target/cortex_a8.c | 1 + src/target/cortex_m3.c | 1 + src/target/feroceon.c | 1 + src/target/mips_m4k.c | 1 + src/target/target.c | 2 ++ src/target/target.h | 9 +++++++-- src/target/target_request.c | 1 + src/target/xscale.c | 1 + 16 files changed, 23 insertions(+), 2 deletions(-) diff --git a/src/target/arm11.c b/src/target/arm11.c index 155573270..e9ba1f678 100644 --- a/src/target/arm11.c +++ b/src/target/arm11.c @@ -26,6 +26,7 @@ #include "config.h" #endif +#define DEFINE_TARGET_TYPE_S #include "arm11.h" diff --git a/src/target/arm720t.c b/src/target/arm720t.c index 37663302a..668f2f5e4 100644 --- a/src/target/arm720t.c +++ b/src/target/arm720t.c @@ -21,6 +21,7 @@ #include "config.h" #endif +#define DEFINE_TARGET_TYPE_S #include "arm720t.h" #include "time_support.h" diff --git a/src/target/arm7tdmi.c b/src/target/arm7tdmi.c index 93d053cf8..4c86f4a78 100644 --- a/src/target/arm7tdmi.c +++ b/src/target/arm7tdmi.c @@ -27,6 +27,7 @@ #include "config.h" #endif +#define DEFINE_TARGET_TYPE_S #include "arm7tdmi.h" diff --git a/src/target/arm920t.c b/src/target/arm920t.c index d34f734dc..21fc46af7 100644 --- a/src/target/arm920t.c +++ b/src/target/arm920t.c @@ -21,6 +21,7 @@ #include "config.h" #endif +#define DEFINE_TARGET_TYPE_S #include "arm920t.h" #include "time_support.h" diff --git a/src/target/arm926ejs.c b/src/target/arm926ejs.c index cef7061ed..b643a213d 100644 --- a/src/target/arm926ejs.c +++ b/src/target/arm926ejs.c @@ -21,6 +21,7 @@ #include "config.h" #endif +#define DEFINE_TARGET_TYPE_S #include "arm926ejs.h" #include "time_support.h" diff --git a/src/target/arm966e.c b/src/target/arm966e.c index b5240760e..7f39d3a76 100644 --- a/src/target/arm966e.c +++ b/src/target/arm966e.c @@ -24,6 +24,7 @@ #include "config.h" #endif +#define DEFINE_TARGET_TYPE_S #include "arm966e.h" diff --git a/src/target/arm9tdmi.c b/src/target/arm9tdmi.c index 93b2d66c2..2edeea546 100644 --- a/src/target/arm9tdmi.c +++ b/src/target/arm9tdmi.c @@ -27,6 +27,7 @@ #include "config.h" #endif +#define DEFINE_TARGET_TYPE_S #include "arm9tdmi.h" diff --git a/src/target/avrt.c b/src/target/avrt.c index d0c866b66..db6c101d6 100644 --- a/src/target/avrt.c +++ b/src/target/avrt.c @@ -21,6 +21,7 @@ #include "config.h" #endif +#define DEFINE_TARGET_TYPE_S #include "avrt.h" #include "target.h" diff --git a/src/target/cortex_a8.c b/src/target/cortex_a8.c index e02545fb2..9d62b0152 100644 --- a/src/target/cortex_a8.c +++ b/src/target/cortex_a8.c @@ -33,6 +33,7 @@ #include "config.h" #endif +#define DEFINE_TARGET_TYPE_S #include "cortex_a8.h" #include "target_request.h" diff --git a/src/target/cortex_m3.c b/src/target/cortex_m3.c index 8a5983be0..fe14cd9e5 100644 --- a/src/target/cortex_m3.c +++ b/src/target/cortex_m3.c @@ -31,6 +31,7 @@ #include "config.h" #endif +#define DEFINE_TARGET_TYPE_S #include "cortex_m3.h" #include "target_request.h" diff --git a/src/target/feroceon.c b/src/target/feroceon.c index 8637b515b..38cd0b064 100644 --- a/src/target/feroceon.c +++ b/src/target/feroceon.c @@ -49,6 +49,7 @@ #include "config.h" #endif +#define DEFINE_TARGET_TYPE_S #include "arm926ejs.h" diff --git a/src/target/mips_m4k.c b/src/target/mips_m4k.c index 539cc56bd..fb4729665 100644 --- a/src/target/mips_m4k.c +++ b/src/target/mips_m4k.c @@ -23,6 +23,7 @@ #include "config.h" #endif +#define DEFINE_TARGET_TYPE_S #include "mips32.h" #include "mips_m4k.h" #include "mips32_dmaacc.h" diff --git a/src/target/target.c b/src/target/target.c index 04d162b5c..d06c317e8 100644 --- a/src/target/target.c +++ b/src/target/target.c @@ -33,6 +33,8 @@ #include "config.h" #endif +#define DEFINE_TARGET_TYPE_S + #include "target.h" #include "target_request.h" #include "time_support.h" diff --git a/src/target/target.h b/src/target/target.h index 1eb1ba1b9..dc871bf20 100644 --- a/src/target/target.h +++ b/src/target/target.h @@ -105,7 +105,8 @@ typedef struct working_area_s struct working_area_s *next; } working_area_t; -typedef struct target_type_s +#ifdef DEFINE_TARGET_TYPE_S +struct target_type_s { /** * Name of the target. Do @b not access this field directly, use @@ -258,7 +259,11 @@ typedef struct target_type_s int (*virt2phys)(struct target_s *target, u32 address, u32 *physical); int (*mmu)(struct target_s *target, int *enabled); -} target_type_t; +}; +#else +struct target_type_s; +#endif // DEFINE_TARGET_TYPE_S +typedef struct target_type_s target_type_t; /* forward decloration */ typedef struct target_event_action_s target_event_action_t; diff --git a/src/target/target_request.c b/src/target/target_request.c index 5618405d5..30c0c7610 100644 --- a/src/target/target_request.c +++ b/src/target/target_request.c @@ -27,6 +27,7 @@ #include "config.h" #endif +#define DEFINE_TARGET_TYPE_S #include "target_request.h" #include "binarybuffer.h" #include "trace.h" diff --git a/src/target/xscale.c b/src/target/xscale.c index 50c816c1d..a375608d1 100644 --- a/src/target/xscale.c +++ b/src/target/xscale.c @@ -24,6 +24,7 @@ #include "config.h" #endif +#define DEFINE_TARGET_TYPE_S #include "xscale.h" #include "arm7_9_common.h" #include "arm_simulator.h"