From 2c25dc56edf95d1d60c48070431e68a31f9865f1 Mon Sep 17 00:00:00 2001 From: Dhananjay Balan Date: Thu, 15 Aug 2013 20:26:30 +0530 Subject: Add message_queue subcommand. --- tools/gdb/python/rtems.py | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/tools/gdb/python/rtems.py b/tools/gdb/python/rtems.py index dbfd7c7..9ae2105 100644 --- a/tools/gdb/python/rtems.py +++ b/tools/gdb/python/rtems.py @@ -172,6 +172,38 @@ class rtems_task(gdb.Command): instance.show(from_tty) objects.information.invalidate() +class rtems_message_queue(gdb.Command): + '''Message Queue subcommand''' + + api = 'classic' + _class = 'message_queues' + + def __init__(self): + self.__doc__ = 'Display the RTEMS message_queue by index(s)' + super(rtems_message_queue,self).__init__('rtems mqueue', gdb.COMMAND_STATUS) + + def invoke(self, arg, from_tty): + for val in arg.split(): + try: + index = int(val) + except ValueError: + print "error: %s is not an index" % (val) + return + + try: + obj = objects.information.object_return(self.api, + self._class, + index).dereference() + except IndexError: + print "error: index %s is invalid" % (index) + return + + print "Ahi" + instance = classic.message_queue(obj) + instance.show(from_tty) + objects.information.invalidate() + + # # Main # @@ -182,4 +214,5 @@ gdb.pretty_printers.append (lookup_function) rtems() rtems_object() rtems_semaphore() -rtems_task() \ No newline at end of file +rtems_task() +rtems_message_queue() \ No newline at end of file -- cgit v1.2.3