X-Git-Url: https://review.openocd.org/gitweb?a=blobdiff_plain;f=src%2Ftransport%2Ftransport.h;h=e04f78063529996396b3f7a4a81d07b85d6ff762;hb=0dcf95c7171b702d70ec326f8c1a63cbc9255b6f;hp=a7a73d10f5f15aa7acd7cc95d1f5c4b58ca53fa6;hpb=08d4411b59dd8bd0e7d8009003b71d23acbf6eee;p=openocd.git diff --git a/src/transport/transport.h b/src/transport/transport.h index a7a73d10f5..e04f780635 100644 --- a/src/transport/transport.h +++ b/src/transport/transport.h @@ -13,12 +13,15 @@ * GNU General Public License for more details. * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * along with this program. If not, see . */ -#ifndef TRANSPORT_H -#define TRANSPORT_H +#ifndef OPENOCD_TRANSPORT_TRANSPORT_H +#define OPENOCD_TRANSPORT_TRANSPORT_H + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif #include "helper/command.h" @@ -65,6 +68,14 @@ struct transport { */ int (*init)(struct command_context *ctx); + /** + * Optional. If defined, allows transport to override target + * name prior to initialisation. + * + * @returns ERROR_OK on success, or an error code on failure. + */ + int (*override_target)(const char **targetname); + /** * Transports are stored in a singly linked list. */ @@ -79,8 +90,21 @@ int transport_register_commands(struct command_context *ctx); COMMAND_HELPER(transport_list_parse, char ***vector); -int allow_transports(struct command_context *ctx, const char **vector); +int allow_transports(struct command_context *ctx, const char * const *vector); -bool transports_are_declared(void); +bool transport_is_jtag(void); +bool transport_is_swd(void); +bool transport_is_dapdirect_jtag(void); +bool transport_is_dapdirect_swd(void); +bool transport_is_swim(void); +#if BUILD_HLADAPTER +bool transport_is_hla(void); +#else +static inline bool transport_is_hla(void) +{ + return false; +} #endif + +#endif /* OPENOCD_TRANSPORT_TRANSPORT_H */