summaryrefslogtreecommitdiffstats
path: root/cpukit
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1996-01-17 20:13:45 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1996-01-17 20:13:45 +0000
commit72c440eea7bbd60c9402611053653d377d648e4b (patch)
tree85fa9600ee34cc8d6332f580eef2e317d90acafe /cpukit
parentModified fstat and stat to be consistent with isatty in that all three (diff)
downloadrtems-72c440eea7bbd60c9402611053653d377d648e4b.tar.bz2
Update from Tony Bennett (tbennett@divnc.com)
Diffstat (limited to 'cpukit')
-rw-r--r--cpukit/libmisc/monitor/mon-dname.c4
-rw-r--r--cpukit/libmisc/monitor/mon-itask.c4
-rw-r--r--cpukit/libmisc/monitor/mon-manager.c9
-rw-r--r--cpukit/libmisc/monitor/mon-monitor.c21
-rw-r--r--cpukit/libmisc/monitor/mon-object.c61
-rw-r--r--cpukit/libmisc/monitor/mon-server.c8
-rw-r--r--cpukit/libmisc/monitor/monitor.h44
7 files changed, 75 insertions, 76 deletions
diff --git a/cpukit/libmisc/monitor/mon-dname.c b/cpukit/libmisc/monitor/mon-dname.c
index b9907eb42b..230e88e7bb 100644
--- a/cpukit/libmisc/monitor/mon-dname.c
+++ b/cpukit/libmisc/monitor/mon-dname.c
@@ -1,5 +1,5 @@
/*
- * @(#)dname.c 1.3 - 95/07/31
+ * @(#)dname.c 1.5 - 96/01/03
*
*
* RTEMS monitor driver names support.
@@ -54,7 +54,7 @@ rtems_monitor_dname_next(
)
{
int n = rtems_get_index(*next_id);
- rtems_driver_name_t *table = object_information;
+ rtems_driver_name_t *table = _IO_Driver_name_table;
rtems_driver_name_t *np = 0;
/* XXX should we be using _IO_Number_of_devices */
diff --git a/cpukit/libmisc/monitor/mon-itask.c b/cpukit/libmisc/monitor/mon-itask.c
index 451f642037..9fd9523950 100644
--- a/cpukit/libmisc/monitor/mon-itask.c
+++ b/cpukit/libmisc/monitor/mon-itask.c
@@ -1,8 +1,8 @@
/*
- * @(#)itask.c 1.4 - 95/08/02
+ * @(#)itask.c 1.6 - 96/01/03
*
*
- * RTEMS Monitor init task support
+ * RTEMS Monitor init task support
*
* $Id$
*/
diff --git a/cpukit/libmisc/monitor/mon-manager.c b/cpukit/libmisc/monitor/mon-manager.c
index 955eaa3b56..d36ec926b6 100644
--- a/cpukit/libmisc/monitor/mon-manager.c
+++ b/cpukit/libmisc/monitor/mon-manager.c
@@ -1,9 +1,10 @@
/*
- * @(#)manager.c 1.2 - 95/07/31
+ * @(#)manager.c 1.4 - 96/01/03
*
*
- * RTEMS Monitor "manager" support.
- * Used to traverse object (chain) lists and print them out.
+ * RTEMS Monitor "manager" support.
+ * Used to traverse object (chain) lists and print them out.
+ *
* $Id$
*/
@@ -43,7 +44,7 @@ rtems_monitor_manager_next(
{
copy = (rtems_monitor_generic_t *) canonical;
copy->id = object->id;
- copy->name = table->name_table[rtems_get_index(copy->id)];
+ _Objects_Copy_name_raw(object->name, &copy->name, sizeof(copy->name));
}
done:
diff --git a/cpukit/libmisc/monitor/mon-monitor.c b/cpukit/libmisc/monitor/mon-monitor.c
index 98b4234c00..7cf666f78e 100644
--- a/cpukit/libmisc/monitor/mon-monitor.c
+++ b/cpukit/libmisc/monitor/mon-monitor.c
@@ -1,5 +1,5 @@
/*
- * @(#)monitor.c 1.22 - 95/11/02
+ * @(#)monitor.c 1.23 - 96/01/03
*
*
*
@@ -80,6 +80,7 @@ rtems_monitor_command_entry_t rtems_monitor_commands[] = {
" queue -- show message queue information\n"
" extension -- user extensions\n"
" driver -- show information about named drivers\n"
+ " dname -- show information about named drivers\n"
" object -- generic object information\n"
" node -- specify default node for commands that take id's\n"
#ifdef CPU_INVOKE_DEBUGGER
@@ -95,21 +96,21 @@ rtems_monitor_command_entry_t rtems_monitor_commands[] = {
" Show the system configuration.\n",
0,
rtems_monitor_object_cmd,
- RTEMS_OBJECT_CONFIG,
+ RTEMS_MONITOR_OBJECT_CONFIG,
},
{ "itask",
"itask\n"
" List init tasks for the system\n",
0,
rtems_monitor_object_cmd,
- RTEMS_OBJECT_INIT_TASK,
+ RTEMS_MONITOR_OBJECT_INIT_TASK,
},
{ "mpci",
"mpci\n"
" Show the MPCI system configuration, if configured.\n",
0,
rtems_monitor_object_cmd,
- RTEMS_OBJECT_MPCI,
+ RTEMS_MONITOR_OBJECT_MPCI,
},
{ "pause",
"pause [ticks]\n"
@@ -155,7 +156,7 @@ rtems_monitor_command_entry_t rtems_monitor_commands[] = {
" Default is to display information about all extensions on this node\n",
0,
rtems_monitor_object_cmd,
- RTEMS_OBJECT_EXTENSION,
+ RTEMS_MONITOR_OBJECT_EXTENSION,
},
{ "task",
"task [id [id ...] ]\n"
@@ -163,7 +164,7 @@ rtems_monitor_command_entry_t rtems_monitor_commands[] = {
" Default is to display information about all tasks on this node\n",
0,
rtems_monitor_object_cmd,
- RTEMS_OBJECT_TASK,
+ RTEMS_MONITOR_OBJECT_TASK,
},
{ "queue",
"queue [id [id ... ] ]\n"
@@ -171,7 +172,7 @@ rtems_monitor_command_entry_t rtems_monitor_commands[] = {
" Default is to display information about all queues on this node\n",
0,
rtems_monitor_object_cmd,
- RTEMS_OBJECT_QUEUE,
+ RTEMS_MONITOR_OBJECT_QUEUE,
},
{ "object",
"object [id [id ...] ]\n"
@@ -180,21 +181,21 @@ rtems_monitor_command_entry_t rtems_monitor_commands[] = {
" (which may normally be defaulted)\n",
0,
rtems_monitor_object_cmd,
- RTEMS_OBJECT_INVALID,
+ RTEMS_MONITOR_OBJECT_INVALID,
},
{ "driver",
"driver [ major [ major ... ] ]\n"
" Display the RTEMS device driver table.\n",
0,
rtems_monitor_object_cmd,
- RTEMS_OBJECT_DRIVER,
+ RTEMS_MONITOR_OBJECT_DRIVER,
},
{ "dname",
"dname\n"
" Displays information about named drivers.\n",
0,
rtems_monitor_object_cmd,
- RTEMS_OBJECT_DNAME,
+ RTEMS_MONITOR_OBJECT_DNAME,
},
{ "exit",
"exit [status]\n"
diff --git a/cpukit/libmisc/monitor/mon-object.c b/cpukit/libmisc/monitor/mon-object.c
index 7aef850141..f2cecbda4c 100644
--- a/cpukit/libmisc/monitor/mon-object.c
+++ b/cpukit/libmisc/monitor/mon-object.c
@@ -1,5 +1,5 @@
/*
- * @(#)object.c 1.7 - 95/08/02
+ * @(#)object.c 1.9 - 96/01/03
*
*
* RTEMS Monitor "object" support.
@@ -35,7 +35,7 @@
rtems_monitor_object_info_t rtems_monitor_object_info[] =
{
- { RTEMS_OBJECT_CONFIG,
+ { RTEMS_MONITOR_OBJECT_CONFIG,
(void *) 0,
sizeof(rtems_monitor_config_t),
(rtems_monitor_object_next_fn) rtems_monitor_config_next,
@@ -43,7 +43,7 @@ rtems_monitor_object_info_t rtems_monitor_object_info[] =
(rtems_monitor_object_dump_header_fn) rtems_monitor_config_dump_header,
(rtems_monitor_object_dump_fn) rtems_monitor_config_dump,
},
- { RTEMS_OBJECT_MPCI,
+ { RTEMS_MONITOR_OBJECT_MPCI,
(void *) 0,
sizeof(rtems_monitor_mpci_t),
(rtems_monitor_object_next_fn) rtems_monitor_mpci_next,
@@ -51,7 +51,7 @@ rtems_monitor_object_info_t rtems_monitor_object_info[] =
(rtems_monitor_object_dump_header_fn) rtems_monitor_mpci_dump_header,
(rtems_monitor_object_dump_fn) rtems_monitor_mpci_dump,
},
- { RTEMS_OBJECT_INIT_TASK,
+ { RTEMS_MONITOR_OBJECT_INIT_TASK,
(void *) 0,
sizeof(rtems_monitor_init_task_t),
(rtems_monitor_object_next_fn) rtems_monitor_init_task_next,
@@ -59,7 +59,7 @@ rtems_monitor_object_info_t rtems_monitor_object_info[] =
(rtems_monitor_object_dump_header_fn) rtems_monitor_init_task_dump_header,
(rtems_monitor_object_dump_fn) rtems_monitor_init_task_dump,
},
- { RTEMS_OBJECT_TASK,
+ { RTEMS_MONITOR_OBJECT_TASK,
(void *) &_RTEMS_tasks_Information,
sizeof(rtems_monitor_task_t),
(rtems_monitor_object_next_fn) rtems_monitor_manager_next,
@@ -67,7 +67,7 @@ rtems_monitor_object_info_t rtems_monitor_object_info[] =
(rtems_monitor_object_dump_header_fn) rtems_monitor_task_dump_header,
(rtems_monitor_object_dump_fn) rtems_monitor_task_dump,
},
- { RTEMS_OBJECT_QUEUE,
+ { RTEMS_MONITOR_OBJECT_QUEUE,
(void *) &_Message_queue_Information,
sizeof(rtems_monitor_queue_t),
(rtems_monitor_object_next_fn) rtems_monitor_manager_next,
@@ -75,7 +75,7 @@ rtems_monitor_object_info_t rtems_monitor_object_info[] =
(rtems_monitor_object_dump_header_fn) rtems_monitor_queue_dump_header,
(rtems_monitor_object_dump_fn) rtems_monitor_queue_dump,
},
- { RTEMS_OBJECT_EXTENSION,
+ { RTEMS_MONITOR_OBJECT_EXTENSION,
(void *) &_Extension_Information,
sizeof(rtems_monitor_extension_t),
(rtems_monitor_object_next_fn) rtems_monitor_manager_next,
@@ -83,7 +83,7 @@ rtems_monitor_object_info_t rtems_monitor_object_info[] =
(rtems_monitor_object_dump_header_fn) rtems_monitor_extension_dump_header,
(rtems_monitor_object_dump_fn) rtems_monitor_extension_dump,
},
- { RTEMS_OBJECT_DRIVER,
+ { RTEMS_MONITOR_OBJECT_DRIVER,
(void *) 0,
sizeof(rtems_monitor_driver_t),
(rtems_monitor_object_next_fn) rtems_monitor_driver_next,
@@ -91,7 +91,7 @@ rtems_monitor_object_info_t rtems_monitor_object_info[] =
(rtems_monitor_object_dump_header_fn) rtems_monitor_driver_dump_header,
(rtems_monitor_object_dump_fn) rtems_monitor_driver_dump,
},
- { RTEMS_OBJECT_DNAME,
+ { RTEMS_MONITOR_OBJECT_DNAME,
/* XXX now that the driver name table is allocated from the */
/* XXX Workspace, this does not work */
(void *) 0,
@@ -113,7 +113,7 @@ rtems_id
rtems_monitor_id_fixup(
rtems_id id,
unsigned32 default_node,
- rtems_object_type_t type
+ rtems_monitor_object_type_t type
)
{
unsigned32 node;
@@ -121,19 +121,10 @@ rtems_monitor_id_fixup(
node = rtems_get_node(id);
if (node == 0)
{
-#if 0
- /* XXX Uncomment this when types are added to id's */
if (rtems_get_class(id) != OBJECTS_NO_CLASS)
type = rtems_get_class(id);
id = _Objects_Build_id(type, default_node, rtems_get_index(id));
-#else
-#warning "TONY... FIX ME!!!!!"
-#if defined(hppa1_1)
-#warning "TONY... I SAID TO FIX ME!!!!! <HAHAHAHAHA>"
-#endif
- id = _Objects_Build_id(0, default_node, rtems_get_index(id));
-#endif
}
return id;
}
@@ -141,7 +132,7 @@ rtems_monitor_id_fixup(
rtems_monitor_object_info_t *
rtems_monitor_object_lookup(
- rtems_object_type_t type
+ rtems_monitor_object_type_t type
)
{
rtems_monitor_object_info_t *p;
@@ -157,7 +148,7 @@ rtems_monitor_object_lookup(
rtems_id
rtems_monitor_object_canonical_next_remote(
- rtems_object_type_t type,
+ rtems_monitor_object_type_t type,
rtems_id id,
void *canonical
)
@@ -233,7 +224,7 @@ rtems_monitor_object_canonical_next(
rtems_id
rtems_monitor_object_canonical_get(
- rtems_object_type_t type,
+ rtems_monitor_object_type_t type,
rtems_id id,
void *canonical,
unsigned32 *size_p
@@ -299,7 +290,7 @@ rtems_monitor_object_dump_all(
rtems_id next_id;
rtems_monitor_union_t canonical;
- next_id = RTEMS_OBJECT_ID_INITIAL(rtems_monitor_default_node);
+ next_id = RTEMS_OBJECT_ID_INITIAL(info->type, rtems_monitor_default_node);
while ((next_id = rtems_monitor_object_canonical_next(
info,
@@ -320,14 +311,14 @@ rtems_monitor_object_cmd(
{
int arg;
rtems_monitor_object_info_t *info = 0;
- rtems_object_type_t type = (rtems_object_type_t) command_arg;
+ rtems_monitor_object_type_t type = (rtems_monitor_object_type_t) command_arg;
/* what is the default type? */
- type = (rtems_object_type_t) command_arg;
+ type = (rtems_monitor_object_type_t) command_arg;
if (argc == 1)
{
- if (type == RTEMS_OBJECT_INVALID)
+ if (type == RTEMS_MONITOR_OBJECT_INVALID)
{
printf("A type must be specified to \"dump all\"\n");
goto done;
@@ -344,16 +335,15 @@ rtems_monitor_object_cmd(
else
{
unsigned32 default_node = rtems_monitor_default_node;
- rtems_object_type_t last_type = RTEMS_OBJECT_INVALID;
+ rtems_monitor_object_type_t last_type = RTEMS_MONITOR_OBJECT_INVALID;
rtems_id id;
for (arg=1; argv[arg]; arg++)
{
id = (rtems_id) strtoul(argv[arg], 0, 0);
id = rtems_monitor_id_fixup(id, default_node, type);
-#if 0
- type = rtems_get_type(id);
-#endif
+ type = (rtems_monitor_object_type_t) rtems_get_class(id);
+
/*
* Allow the item type to change in the middle
* of the command. If the type changes, then
@@ -363,15 +353,18 @@ rtems_monitor_object_cmd(
{
info = rtems_monitor_object_lookup(type);
if (info == 0)
- {
-not_found: printf("Invalid or unsupported type %d\n", type);
- goto done;
- }
+ goto not_found;
if (info->dump_header)
info->dump_header(verbose);
}
+ if (info == 0)
+ {
+not_found: printf("Invalid or unsupported type %d\n", type);
+ goto done;
+ }
+
rtems_monitor_object_dump_1(info, id, verbose);
default_node = rtems_get_node(id);
diff --git a/cpukit/libmisc/monitor/mon-server.c b/cpukit/libmisc/monitor/mon-server.c
index 5ff5688c9c..d492c5e9a2 100644
--- a/cpukit/libmisc/monitor/mon-server.c
+++ b/cpukit/libmisc/monitor/mon-server.c
@@ -1,8 +1,8 @@
/*
- * @(#)server.c 1.3 - 95/08/02
+ * @(#)server.c 1.5 - 96/01/03
*
*
- * RTEMS monitor server (handles requests for info from RTEMS monitors
+ * RTEMS monitor server (handles requests for info from RTEMS monitors
* running on other nodes)
*
* $Id$
@@ -144,11 +144,11 @@ rtems_monitor_server_task(
{
case RTEMS_MONITOR_SERVER_CANONICAL:
{
- rtems_object_type_t object_type;
+ rtems_monitor_object_type_t object_type;
rtems_id id;
rtems_id next_id;
- object_type = (rtems_object_type_t) request.argument0;
+ object_type = (rtems_monitor_object_type_t) request.argument0;
id = (rtems_id) request.argument1;
next_id = rtems_monitor_object_canonical_get(object_type,
id,
diff --git a/cpukit/libmisc/monitor/monitor.h b/cpukit/libmisc/monitor/monitor.h
index 2f20bd2937..6379254158 100644
--- a/cpukit/libmisc/monitor/monitor.h
+++ b/cpukit/libmisc/monitor/monitor.h
@@ -1,8 +1,8 @@
/*
- * @(#)monitor.h 1.20 - 95/12/12
+ * @(#)monitor.h 1.21 - 96/01/03
*
*
- * $Id$
+ * monitor.h,v 1.3 1995/09/29 17:19:02 joel Exp
*/
/*
@@ -29,21 +29,25 @@ extern "C" {
*/
typedef enum {
- RTEMS_OBJECT_INVALID = 0,
- RTEMS_OBJECT_TASK = 1,
- RTEMS_OBJECT_EXTENSION = 2,
- RTEMS_OBJECT_QUEUE = 3,
- RTEMS_OBJECT_SEMAPHORE = 4,
- RTEMS_OBJECT_DRIVER = 5,
- RTEMS_OBJECT_DNAME = 6,
- RTEMS_OBJECT_CONFIG = 7,
- RTEMS_OBJECT_INIT_TASK = 8,
- RTEMS_OBJECT_MPCI = 9,
- RTEMS_OBJECT_PARTITION = 10,
- RTEMS_OBJECT_REGION = 11,
- RTEMS_OBJECT_PORT = 12,
- RTEMS_OBJECT_SYMBOL = 13,
-} rtems_object_type_t;
+ RTEMS_MONITOR_OBJECT_INVALID = OBJECTS_NO_CLASS,
+ RTEMS_MONITOR_OBJECT_TASK = OBJECTS_RTEMS_TASKS,
+ RTEMS_MONITOR_OBJECT_EXTENSION = OBJECTS_RTEMS_EXTENSIONS,
+ RTEMS_MONITOR_OBJECT_QUEUE = OBJECTS_RTEMS_MESSAGE_QUEUES,
+ RTEMS_MONITOR_OBJECT_SEMAPHORE = OBJECTS_RTEMS_SEMAPHORES,
+ RTEMS_MONITOR_OBJECT_PARTITION = OBJECTS_RTEMS_PARTITIONS,
+ RTEMS_MONITOR_OBJECT_REGION = OBJECTS_RTEMS_REGIONS,
+ RTEMS_MONITOR_OBJECT_PORT = OBJECTS_RTEMS_PORTS,
+
+ /* following monitor objects are not known to RTEMS, but
+ * we like to have "types" for them anyway */
+
+ RTEMS_MONITOR_OBJECT_DRIVER = OBJECTS_CLASSES_LAST+1,
+ RTEMS_MONITOR_OBJECT_DNAME,
+ RTEMS_MONITOR_OBJECT_CONFIG,
+ RTEMS_MONITOR_OBJECT_INIT_TASK,
+ RTEMS_MONITOR_OBJECT_MPCI,
+ RTEMS_MONITOR_OBJECT_SYMBOL,
+} rtems_monitor_object_type_t;
/*
* rtems_monitor_init() flags
@@ -302,7 +306,7 @@ typedef void (*rtems_monitor_object_dump_header_fn)(boolean);
typedef void (*rtems_monitor_object_dump_fn)(void *, boolean);
typedef struct {
- rtems_object_type_t type;
+ rtems_monitor_object_type_t type;
void *object_information;
int size; /* of canonical object */
rtems_monitor_object_next_fn next;
@@ -354,8 +358,8 @@ unsigned32 rtems_monitor_dump_events(rtems_event_set events);
unsigned32 rtems_monitor_dump_notepad(unsigned32 *notepad);
/* object.c */
-rtems_id rtems_monitor_id_fixup(rtems_id, unsigned32, rtems_object_type_t);
-rtems_id rtems_monitor_object_canonical_get(rtems_object_type_t, rtems_id, void *, unsigned32 *size_p);
+rtems_id rtems_monitor_id_fixup(rtems_id, unsigned32, rtems_monitor_object_type_t);
+rtems_id rtems_monitor_object_canonical_get(rtems_monitor_object_type_t, rtems_id, void *, unsigned32 *size_p);
rtems_id rtems_monitor_object_canonical_next(rtems_monitor_object_info_t *, rtems_id, void *);
void *rtems_monitor_object_next(void *, void *, rtems_id, rtems_id *);
rtems_id rtems_monitor_object_canonical(rtems_id, void *);