Mercurial > hvf > hvf
annotate cp/shell/cmd_query.c @ 650:6fca4100a886
include: change uint64_t LP64 definition to be unsigned long
This matches what is normally used in the Unix world.
Signed-off-by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
author | Josef 'Jeff' Sipek <jeffpc@josefsipek.net> |
---|---|
date | Tue, 30 Jul 2019 14:56:02 -0400 |
parents | dad0b2bc37c0 |
children |
rev | line source |
---|---|
422
c9107a12fd7d
Happy New Year! - Add copyright notices
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
421
diff
changeset
|
1 /* |
650
6fca4100a886
include: change uint64_t LP64 definition to be unsigned long
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
618
diff
changeset
|
2 * (C) Copyright 2007-2019 Josef 'Jeff' Sipek <jeffpc@josefsipek.net> |
422
c9107a12fd7d
Happy New Year! - Add copyright notices
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
421
diff
changeset
|
3 * |
c9107a12fd7d
Happy New Year! - Add copyright notices
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
421
diff
changeset
|
4 * This file is released under the GPLv2. See the COPYING file for more |
c9107a12fd7d
Happy New Year! - Add copyright notices
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
421
diff
changeset
|
5 * details. |
c9107a12fd7d
Happy New Year! - Add copyright notices
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
421
diff
changeset
|
6 */ |
c9107a12fd7d
Happy New Year! - Add copyright notices
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
421
diff
changeset
|
7 |
215
430f8e46243f
cp: clean up guest_state and directory handling
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
198
diff
changeset
|
8 static char *__guest_state_to_str(enum virt_cpustate st) |
178
bbbb45f1b096
cp: QUERY VIRTUAL should display information about the cpu state
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
164
diff
changeset
|
9 { |
bbbb45f1b096
cp: QUERY VIRTUAL should display information about the cpu state
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
164
diff
changeset
|
10 switch (st) { |
bbbb45f1b096
cp: QUERY VIRTUAL should display information about the cpu state
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
164
diff
changeset
|
11 case GUEST_STOPPED: return "STOPPED"; |
198
0e65c357417c
cp: define all 4 possible CPU states
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
178
diff
changeset
|
12 case GUEST_OPERATING: return "RUNNING"; |
0e65c357417c
cp: define all 4 possible CPU states
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
178
diff
changeset
|
13 case GUEST_LOAD: return "LOADING"; |
0e65c357417c
cp: define all 4 possible CPU states
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
178
diff
changeset
|
14 case GUEST_CHECKSTOP: return "CHECK-STOP"; |
178
bbbb45f1b096
cp: QUERY VIRTUAL should display information about the cpu state
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
164
diff
changeset
|
15 } |
bbbb45f1b096
cp: QUERY VIRTUAL should display information about the cpu state
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
164
diff
changeset
|
16 |
bbbb45f1b096
cp: QUERY VIRTUAL should display information about the cpu state
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
164
diff
changeset
|
17 return "???"; |
bbbb45f1b096
cp: QUERY VIRTUAL should display information about the cpu state
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
164
diff
changeset
|
18 } |
bbbb45f1b096
cp: QUERY VIRTUAL should display information about the cpu state
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
164
diff
changeset
|
19 |
559
a46925302e15
cp: sched.h accumulated tons of structs that belong into vcpu.h
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
528
diff
changeset
|
20 static void display_rdev(struct device *dev, void *priv) |
219
edecad50db8f
cp: QUERY REAL command
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
218
diff
changeset
|
21 { |
592
732345b0925c
cp: guest layer revamp, part 1
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
591
diff
changeset
|
22 struct virt_cons *con = priv; |
273
f8b8c66ef132
drivers: added snprintf device type callback
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
264
diff
changeset
|
23 char buf[40]; |
f8b8c66ef132
drivers: added snprintf device type callback
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
264
diff
changeset
|
24 |
295
74653d30aedf
cp: Be safer when invoking the snprintf device callback
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
273
diff
changeset
|
25 buf[0] = '\0'; |
74653d30aedf
cp: Be safer when invoking the snprintf device callback
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
273
diff
changeset
|
26 |
592
732345b0925c
cp: guest layer revamp, part 1
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
591
diff
changeset
|
27 mutex_lock(&dev->lock); |
732345b0925c
cp: guest layer revamp, part 1
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
591
diff
changeset
|
28 |
273
f8b8c66ef132
drivers: added snprintf device type callback
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
264
diff
changeset
|
29 if (dev->dev && dev->dev->snprintf) |
f8b8c66ef132
drivers: added snprintf device type callback
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
264
diff
changeset
|
30 dev->dev->snprintf(dev, buf, 40); |
f8b8c66ef132
drivers: added snprintf device type callback
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
264
diff
changeset
|
31 |
392
a18269e971e0
cp: Q R displays 'FREE' for all unused devices
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
388
diff
changeset
|
32 con_printf(con, "%-4s %04X %04X %s%sSCH = %05X\n", |
273
f8b8c66ef132
drivers: added snprintf device type callback
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
264
diff
changeset
|
33 type2name(dev->type), dev->ccuu, dev->type, buf, |
592
732345b0925c
cp: guest layer revamp, part 1
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
591
diff
changeset
|
34 dev->in_use ? "" : "FREE ", |
219
edecad50db8f
cp: QUERY REAL command
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
218
diff
changeset
|
35 dev->sch); |
592
732345b0925c
cp: guest layer revamp, part 1
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
591
diff
changeset
|
36 |
732345b0925c
cp: guest layer revamp, part 1
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
591
diff
changeset
|
37 mutex_unlock(&dev->lock); |
219
edecad50db8f
cp: QUERY REAL command
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
218
diff
changeset
|
38 } |
edecad50db8f
cp: QUERY REAL command
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
218
diff
changeset
|
39 |
592
732345b0925c
cp: guest layer revamp, part 1
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
591
diff
changeset
|
40 static void display_vdev(struct virt_cons *con, struct virt_device *vdev) |
218
3f9416513c01
cp: move bulk of QUERY VIRTUAL into a separate function
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
215
diff
changeset
|
41 { |
592
732345b0925c
cp: guest layer revamp, part 1
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
591
diff
changeset
|
42 struct virt_sys *sys = container_of(con, struct virt_sys, console); |
732345b0925c
cp: guest layer revamp, part 1
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
591
diff
changeset
|
43 |
528
3dc5f9562458
cp: add a lock to the virt device struct
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
510
diff
changeset
|
44 mutex_lock(&vdev->lock); |
3dc5f9562458
cp: add a lock to the virt device struct
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
510
diff
changeset
|
45 |
251
a7f5790ff977
cp: a proper virtual device
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
238
diff
changeset
|
46 switch (vdev->vtype) { |
218
3f9416513c01
cp: move bulk of QUERY VIRTUAL into a separate function
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
215
diff
changeset
|
47 case VDEV_CONS: |
334
90ff6a273dac
cp: QUERY VIRTUAL should output the TS/NOTS var
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
325
diff
changeset
|
48 con_printf(con, "CONS %04X 3215 ON %s %04X %s SCH = %05X\n", |
251
a7f5790ff977
cp: a proper virtual device
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
238
diff
changeset
|
49 vdev->pmcw.dev_num, |
618
dad0b2bc37c0
cp: define a FIXME macro that leaves a sclp message
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
599
diff
changeset
|
50 type2name(con->dev->type), |
334
90ff6a273dac
cp: QUERY VIRTUAL should output the TS/NOTS var
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
325
diff
changeset
|
51 con->dev->ccuu, |
592
732345b0925c
cp: guest layer revamp, part 1
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
591
diff
changeset
|
52 sys->print_ts ? "TS" : "NOTS", |
334
90ff6a273dac
cp: QUERY VIRTUAL should output the TS/NOTS var
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
325
diff
changeset
|
53 vdev->sch); |
218
3f9416513c01
cp: move bulk of QUERY VIRTUAL into a separate function
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
215
diff
changeset
|
54 break; |
3f9416513c01
cp: move bulk of QUERY VIRTUAL into a separate function
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
215
diff
changeset
|
55 case VDEV_DED: |
388
3c9319e6ffc2
cp: Q V should list device type for dedicated devices
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
385
diff
changeset
|
56 con_printf(con, "%-4s %04X %04X ON DEV %04X SCH = %05X\n", |
385
1e1a1f6f4209
cp: Q V - display info about dedicated devices
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
346
diff
changeset
|
57 type2name(vdev->type), |
1e1a1f6f4209
cp: Q V - display info about dedicated devices
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
346
diff
changeset
|
58 vdev->pmcw.dev_num, |
388
3c9319e6ffc2
cp: Q V should list device type for dedicated devices
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
385
diff
changeset
|
59 vdev->type, |
385
1e1a1f6f4209
cp: Q V - display info about dedicated devices
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
346
diff
changeset
|
60 vdev->u.dedicate.rdev->ccuu, |
1e1a1f6f4209
cp: Q V - display info about dedicated devices
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
346
diff
changeset
|
61 vdev->sch); |
218
3f9416513c01
cp: move bulk of QUERY VIRTUAL into a separate function
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
215
diff
changeset
|
62 break; |
3f9416513c01
cp: move bulk of QUERY VIRTUAL into a separate function
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
215
diff
changeset
|
63 case VDEV_SPOOL: |
3f9416513c01
cp: move bulk of QUERY VIRTUAL into a separate function
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
215
diff
changeset
|
64 con_printf(con, "%-4s %04X %04X SCH = %05X\n", |
251
a7f5790ff977
cp: a proper virtual device
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
238
diff
changeset
|
65 type2name(vdev->type), |
a7f5790ff977
cp: a proper virtual device
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
238
diff
changeset
|
66 vdev->pmcw.dev_num, vdev->type, |
a7f5790ff977
cp: a proper virtual device
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
238
diff
changeset
|
67 vdev->sch); |
218
3f9416513c01
cp: move bulk of QUERY VIRTUAL into a separate function
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
215
diff
changeset
|
68 break; |
3f9416513c01
cp: move bulk of QUERY VIRTUAL into a separate function
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
215
diff
changeset
|
69 case VDEV_MDISK: |
618
dad0b2bc37c0
cp: define a FIXME macro that leaves a sclp message
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
599
diff
changeset
|
70 FIXME("cyl count & rdev"); |
218
3f9416513c01
cp: move bulk of QUERY VIRTUAL into a separate function
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
215
diff
changeset
|
71 con_printf(con, "DASD %04X 3390 %6d CYL ON DASD %04X SCH = %05X\n", |
251
a7f5790ff977
cp: a proper virtual device
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
238
diff
changeset
|
72 vdev->pmcw.dev_num, |
a7f5790ff977
cp: a proper virtual device
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
238
diff
changeset
|
73 0, /* FIXME: cyl count */ |
a7f5790ff977
cp: a proper virtual device
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
238
diff
changeset
|
74 0, /* FIXME: rdev */ |
a7f5790ff977
cp: a proper virtual device
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
238
diff
changeset
|
75 vdev->sch); |
218
3f9416513c01
cp: move bulk of QUERY VIRTUAL into a separate function
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
215
diff
changeset
|
76 break; |
3f9416513c01
cp: move bulk of QUERY VIRTUAL into a separate function
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
215
diff
changeset
|
77 case VDEV_LINK: |
618
dad0b2bc37c0
cp: define a FIXME macro that leaves a sclp message
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
599
diff
changeset
|
78 FIXME("userid & vdev #"); |
218
3f9416513c01
cp: move bulk of QUERY VIRTUAL into a separate function
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
215
diff
changeset
|
79 con_printf(con, "LINK %04X TO %s %04X SCH = %05X\n", |
251
a7f5790ff977
cp: a proper virtual device
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
238
diff
changeset
|
80 vdev->pmcw.dev_num, |
a7f5790ff977
cp: a proper virtual device
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
238
diff
changeset
|
81 "????", /* FIXME: userid */ |
a7f5790ff977
cp: a proper virtual device
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
238
diff
changeset
|
82 0xffff, /* FIXME: user's vdev # */ |
a7f5790ff977
cp: a proper virtual device
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
238
diff
changeset
|
83 vdev->sch); |
218
3f9416513c01
cp: move bulk of QUERY VIRTUAL into a separate function
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
215
diff
changeset
|
84 break; |
3f9416513c01
cp: move bulk of QUERY VIRTUAL into a separate function
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
215
diff
changeset
|
85 default: |
3f9416513c01
cp: move bulk of QUERY VIRTUAL into a separate function
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
215
diff
changeset
|
86 con_printf(con, "???? unknown device type (%04X, %05X)\n", |
251
a7f5790ff977
cp: a proper virtual device
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
238
diff
changeset
|
87 vdev->pmcw.dev_num, vdev->sch); |
218
3f9416513c01
cp: move bulk of QUERY VIRTUAL into a separate function
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
215
diff
changeset
|
88 break; |
3f9416513c01
cp: move bulk of QUERY VIRTUAL into a separate function
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
215
diff
changeset
|
89 } |
528
3dc5f9562458
cp: add a lock to the virt device struct
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
510
diff
changeset
|
90 |
3dc5f9562458
cp: add a lock to the virt device struct
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
510
diff
changeset
|
91 mutex_unlock(&vdev->lock); |
218
3f9416513c01
cp: move bulk of QUERY VIRTUAL into a separate function
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
215
diff
changeset
|
92 } |
3f9416513c01
cp: move bulk of QUERY VIRTUAL into a separate function
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
215
diff
changeset
|
93 |
559
a46925302e15
cp: sched.h accumulated tons of structs that belong into vcpu.h
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
528
diff
changeset
|
94 static void display_task(struct task *task, void *priv) |
238
79d3f8563cd4
cp: QUERY TASK command
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
234
diff
changeset
|
95 { |
592
732345b0925c
cp: guest layer revamp, part 1
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
591
diff
changeset
|
96 struct virt_cons *con = priv; |
299
64807141b352
sched: added all the bits necessary to have a mutex
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
295
diff
changeset
|
97 char state; |
64807141b352
sched: added all the bits necessary to have a mutex
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
295
diff
changeset
|
98 |
64807141b352
sched: added all the bits necessary to have a mutex
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
295
diff
changeset
|
99 switch(task->state) { |
64807141b352
sched: added all the bits necessary to have a mutex
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
295
diff
changeset
|
100 case TASK_RUNNING: state = 'R'; break; |
64807141b352
sched: added all the bits necessary to have a mutex
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
295
diff
changeset
|
101 case TASK_SLEEPING: state = 'S'; break; |
64807141b352
sched: added all the bits necessary to have a mutex
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
295
diff
changeset
|
102 case TASK_LOCKED: state = 'L'; break; |
510
86d2e037205d
cp/shell: added TASK_ZOMBIE state character
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
441
diff
changeset
|
103 case TASK_ZOMBIE: state = 'Z'; break; |
299
64807141b352
sched: added all the bits necessary to have a mutex
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
295
diff
changeset
|
104 default: state = '?'; break; |
64807141b352
sched: added all the bits necessary to have a mutex
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
295
diff
changeset
|
105 } |
64807141b352
sched: added all the bits necessary to have a mutex
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
295
diff
changeset
|
106 |
599
0a0b076339ca
cp: guest layer revamp, part 2
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
592
diff
changeset
|
107 con_printf(con, "%*s %p %c\n", -TASK_NAME_LEN, task->name, |
0a0b076339ca
cp: guest layer revamp, part 2
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
592
diff
changeset
|
108 task, state); |
238
79d3f8563cd4
cp: QUERY TASK command
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
234
diff
changeset
|
109 } |
79d3f8563cd4
cp: QUERY TASK command
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
234
diff
changeset
|
110 |
234
29d6f072fc51
Some documentation for the implemented commands
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
219
diff
changeset
|
111 /* |
29d6f072fc51
Some documentation for the implemented commands
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
219
diff
changeset
|
112 *!!! QUERY TIME |
342
64886ec8f6a8
manual: rework the CP commands comment syntax
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
340
diff
changeset
|
113 *!! SYNTAX |
346
3a8933aeb8d7
manual: fix command names with spaces
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
342
diff
changeset
|
114 *! \tok{\sc Query} \tok{\sc TIME} |
342
64886ec8f6a8
manual: rework the CP commands comment syntax
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
340
diff
changeset
|
115 *!! XATNYS |
234
29d6f072fc51
Some documentation for the implemented commands
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
219
diff
changeset
|
116 *!! AUTH G |
29d6f072fc51
Some documentation for the implemented commands
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
219
diff
changeset
|
117 *!! PURPOSE |
29d6f072fc51
Some documentation for the implemented commands
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
219
diff
changeset
|
118 *! Displays the current time |
264
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
119 */ |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
120 static int cmd_query_cplevel(struct virt_sys *sys, char *cmd, int len) |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
121 { |
591
d953d7d4d89d
cp: revamp directory handling
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
562
diff
changeset
|
122 SHELL_CMD_AUTH(sys, G); |
d953d7d4d89d
cp: revamp directory handling
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
562
diff
changeset
|
123 |
264
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
124 con_printf(sys->con, "HVF version " VERSION "\n"); |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
125 con_printf(sys->con, "IPL at %02d:%02d:%02d UTC %04d-%02d-%02d\n", |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
126 ipltime.th, ipltime.tm, ipltime.ts, ipltime.dy, |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
127 ipltime.dm, ipltime.dd); |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
128 |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
129 return 0; |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
130 } |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
131 |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
132 /* |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
133 *!!! QUERY CPLEVEL |
342
64886ec8f6a8
manual: rework the CP commands comment syntax
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
340
diff
changeset
|
134 *!! SYNTAX |
346
3a8933aeb8d7
manual: fix command names with spaces
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
342
diff
changeset
|
135 *! \tok{\sc Query} \tok{\sc CPLEVEL} |
342
64886ec8f6a8
manual: rework the CP commands comment syntax
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
340
diff
changeset
|
136 *!! XATNYS |
264
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
137 *!! AUTH G |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
138 *!! PURPOSE |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
139 *! Displays the HVF version and time of IPL |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
140 */ |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
141 static int cmd_query_time(struct virt_sys *sys, char *cmd, int len) |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
142 { |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
143 struct datetime dt; |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
144 |
591
d953d7d4d89d
cp: revamp directory handling
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
562
diff
changeset
|
145 SHELL_CMD_AUTH(sys, G); |
d953d7d4d89d
cp: revamp directory handling
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
562
diff
changeset
|
146 |
264
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
147 get_parsed_tod(&dt); |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
148 |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
149 con_printf(sys->con, "TIME IS %02d:%02d:%02d UTC %04d-%02d-%02d\n", |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
150 dt.th, dt.tm, dt.ts, dt.dy, dt.dm, dt.dd); |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
151 |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
152 return 0; |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
153 } |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
154 |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
155 /* |
419
c6d653e59cf7
cp: added QUERY ARCHMODE to display current architecture mode
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
392
diff
changeset
|
156 *!!! QUERY ARCHMODE |
c6d653e59cf7
cp: added QUERY ARCHMODE to display current architecture mode
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
392
diff
changeset
|
157 *!! SYNTAX |
c6d653e59cf7
cp: added QUERY ARCHMODE to display current architecture mode
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
392
diff
changeset
|
158 *! \tok{\sc Query} \tok{\sc ARCHMODE} |
c6d653e59cf7
cp: added QUERY ARCHMODE to display current architecture mode
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
392
diff
changeset
|
159 *!! XATNYS |
c6d653e59cf7
cp: added QUERY ARCHMODE to display current architecture mode
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
392
diff
changeset
|
160 *!! AUTH G |
c6d653e59cf7
cp: added QUERY ARCHMODE to display current architecture mode
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
392
diff
changeset
|
161 *!! PURPOSE |
c6d653e59cf7
cp: added QUERY ARCHMODE to display current architecture mode
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
392
diff
changeset
|
162 *! Displays the virtual machine's current architecture mode. |
c6d653e59cf7
cp: added QUERY ARCHMODE to display current architecture mode
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
392
diff
changeset
|
163 */ |
c6d653e59cf7
cp: added QUERY ARCHMODE to display current architecture mode
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
392
diff
changeset
|
164 static int cmd_query_archmode(struct virt_sys *sys, char *cmd, int len) |
c6d653e59cf7
cp: added QUERY ARCHMODE to display current architecture mode
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
392
diff
changeset
|
165 { |
591
d953d7d4d89d
cp: revamp directory handling
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
562
diff
changeset
|
166 char *mode; |
d953d7d4d89d
cp: revamp directory handling
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
562
diff
changeset
|
167 |
d953d7d4d89d
cp: revamp directory handling
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
562
diff
changeset
|
168 SHELL_CMD_AUTH(sys, G); |
d953d7d4d89d
cp: revamp directory handling
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
562
diff
changeset
|
169 |
599
0a0b076339ca
cp: guest layer revamp, part 2
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
592
diff
changeset
|
170 mode = (VCPU_ZARCH(sys->cpu)) ? "z/Arch" : "ESA390"; |
419
c6d653e59cf7
cp: added QUERY ARCHMODE to display current architecture mode
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
392
diff
changeset
|
171 |
c6d653e59cf7
cp: added QUERY ARCHMODE to display current architecture mode
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
392
diff
changeset
|
172 con_printf(sys->con, "ARCHMODE = %s\n", mode); |
c6d653e59cf7
cp: added QUERY ARCHMODE to display current architecture mode
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
392
diff
changeset
|
173 |
c6d653e59cf7
cp: added QUERY ARCHMODE to display current architecture mode
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
392
diff
changeset
|
174 return 0; |
c6d653e59cf7
cp: added QUERY ARCHMODE to display current architecture mode
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
392
diff
changeset
|
175 } |
c6d653e59cf7
cp: added QUERY ARCHMODE to display current architecture mode
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
392
diff
changeset
|
176 |
c6d653e59cf7
cp: added QUERY ARCHMODE to display current architecture mode
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
392
diff
changeset
|
177 /* |
234
29d6f072fc51
Some documentation for the implemented commands
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
219
diff
changeset
|
178 *!!! QUERY VIRTUAL |
342
64886ec8f6a8
manual: rework the CP commands comment syntax
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
340
diff
changeset
|
179 *!! SYNTAX |
346
3a8933aeb8d7
manual: fix command names with spaces
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
342
diff
changeset
|
180 *! \tok{\sc Query} \tok{\sc Virtual} |
342
64886ec8f6a8
manual: rework the CP commands comment syntax
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
340
diff
changeset
|
181 *!! XATNYS |
234
29d6f072fc51
Some documentation for the implemented commands
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
219
diff
changeset
|
182 *!! AUTH G |
29d6f072fc51
Some documentation for the implemented commands
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
219
diff
changeset
|
183 *!! PURPOSE |
29d6f072fc51
Some documentation for the implemented commands
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
219
diff
changeset
|
184 *! Lists all of the guest's virtual devices |
264
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
185 */ |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
186 static int cmd_query_virtual(struct virt_sys *sys, char *cmd, int len) |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
187 { |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
188 struct virt_device *vdev; |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
189 |
591
d953d7d4d89d
cp: revamp directory handling
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
562
diff
changeset
|
190 SHELL_CMD_AUTH(sys, G); |
d953d7d4d89d
cp: revamp directory handling
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
562
diff
changeset
|
191 |
650
6fca4100a886
include: change uint64_t LP64 definition to be unsigned long
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
618
diff
changeset
|
192 con_printf(sys->con, "CPU 00 ID %016lX %s\n", |
599
0a0b076339ca
cp: guest layer revamp, part 2
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
592
diff
changeset
|
193 sys->cpu->cpuid, |
0a0b076339ca
cp: guest layer revamp, part 2
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
592
diff
changeset
|
194 __guest_state_to_str(sys->cpu->state)); |
650
6fca4100a886
include: change uint64_t LP64 definition to be unsigned long
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
618
diff
changeset
|
195 con_printf(sys->con, "STORAGE = %luM\n", sys->directory->storage_size >> 20); |
264
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
196 |
562
faa272e7a657
cp: added a macro for easy iteration through virtual devices
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
559
diff
changeset
|
197 for_each_vdev(sys, vdev) |
264
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
198 display_vdev(sys->con, vdev); |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
199 |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
200 return 0; |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
201 } |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
202 |
429
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
203 static void __cmd_query_real_cpus(struct virt_sys *sys) |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
204 { |
650
6fca4100a886
include: change uint64_t LP64 definition to be unsigned long
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
618
diff
changeset
|
205 con_printf(sys->con, "CPU %02d ID %016lX RUNNING\n", |
429
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
206 getcpuaddr(), |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
207 getcpuid()); |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
208 } |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
209 |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
210 static void __cmd_query_real_stor(struct virt_sys *sys) |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
211 { |
650
6fca4100a886
include: change uint64_t LP64 definition to be unsigned long
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
618
diff
changeset
|
212 con_printf(sys->con, "STORAGE = %luM\n", memsize >> 20); |
429
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
213 } |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
214 |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
215 enum { |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
216 QUERY_CPUS = 1 << 0, |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
217 QUERY_STOR = 1 << 1, |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
218 QUERY_DEVS = 1 << 2, |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
219 QUERY_DEVNUM = 1 << 3, |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
220 }; |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
221 |
264
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
222 /* |
234
29d6f072fc51
Some documentation for the implemented commands
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
219
diff
changeset
|
223 *!!! QUERY REAL |
342
64886ec8f6a8
manual: rework the CP commands comment syntax
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
340
diff
changeset
|
224 *!! SYNTAX |
346
3a8933aeb8d7
manual: fix command names with spaces
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
342
diff
changeset
|
225 *! \tok{\sc Query} \tok{\sc Real} |
429
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
226 *! \begin{stack} |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
227 *! \\ |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
228 *! \tok{\sc\bf ALL} \\ |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
229 *! \tok{\sc CPUS} \\ |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
230 *! \tok{\sc STORage} \\ |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
231 *! <rdev> |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
232 *! \end{stack} |
342
64886ec8f6a8
manual: rework the CP commands comment syntax
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
340
diff
changeset
|
233 *!! XATNYS |
591
d953d7d4d89d
cp: revamp directory handling
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
562
diff
changeset
|
234 *!! AUTH B |
234
29d6f072fc51
Some documentation for the implemented commands
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
219
diff
changeset
|
235 *!! PURPOSE |
429
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
236 *! \cbstart |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
237 *! Lists the host's real devices, CPUs, and storage |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
238 *! \cbend |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
239 *!! NOTES |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
240 *! \cbstart |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
241 *! \item Specifying real device numbers is not supported at the moment. |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
242 *! Instead, use QUERY REAL ALL to display all devices attached to the |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
243 *! system. |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
244 *! \cbend |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
245 *!! SETON |
264
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
246 */ |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
247 static int cmd_query_real(struct virt_sys *sys, char *cmd, int len) |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
248 { |
429
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
249 int what = 0; |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
250 u64 devnum; |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
251 |
591
d953d7d4d89d
cp: revamp directory handling
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
562
diff
changeset
|
252 SHELL_CMD_AUTH(sys, B); |
340
cb37afdb8040
cp: added auth level checks to all the non G-level commands
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
334
diff
changeset
|
253 |
429
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
254 if (strnlen(cmd, len) == 0) { |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
255 what = QUERY_CPUS | QUERY_STOR | QUERY_DEVS; |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
256 } else if (!strcasecmp(cmd, "ALL")) { |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
257 what = QUERY_CPUS | QUERY_STOR | QUERY_DEVS; |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
258 } else if (!strcasecmp(cmd, "CPUS")) { |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
259 what = QUERY_CPUS; |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
260 } else if (!strcasecmp(cmd, "STOR") || |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
261 !strcasecmp(cmd, "STORA") || |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
262 !strcasecmp(cmd, "STORAG") || |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
263 !strcasecmp(cmd, "STORAGE")) { |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
264 what = QUERY_STOR; |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
265 } else { |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
266 cmd = __extract_hex(cmd, &devnum); |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
267 if (IS_ERR(cmd)) |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
268 return PTR_ERR(cmd); |
264
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
269 |
429
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
270 /* sch number must be: X'0000____' */ |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
271 if (devnum & ~0xffffull) |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
272 return -EINVAL; |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
273 |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
274 what = QUERY_DEVNUM; |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
275 } |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
276 |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
277 if (what & QUERY_CPUS) |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
278 __cmd_query_real_cpus(sys); |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
279 |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
280 if (what & QUERY_STOR) |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
281 __cmd_query_real_stor(sys); |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
282 |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
283 if (what & QUERY_DEVS) |
559
a46925302e15
cp: sched.h accumulated tons of structs that belong into vcpu.h
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
528
diff
changeset
|
284 list_devices(display_rdev, sys->con); |
429
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
285 if (what & QUERY_DEVNUM) |
780010640eee
cp/shell: add options to QUERY REAL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
427
diff
changeset
|
286 con_printf(sys->con, "not implemented\n"); |
264
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
287 |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
288 return 0; |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
289 } |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
290 |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
291 /* |
238
79d3f8563cd4
cp: QUERY TASK command
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
234
diff
changeset
|
292 *!!! QUERY TASK |
342
64886ec8f6a8
manual: rework the CP commands comment syntax
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
340
diff
changeset
|
293 *!! SYNTAX |
346
3a8933aeb8d7
manual: fix command names with spaces
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
342
diff
changeset
|
294 *! \tok{\sc Query} \tok{\sc Task} |
342
64886ec8f6a8
manual: rework the CP commands comment syntax
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
340
diff
changeset
|
295 *!! XATNYS |
591
d953d7d4d89d
cp: revamp directory handling
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
562
diff
changeset
|
296 *!! AUTH E |
238
79d3f8563cd4
cp: QUERY TASK command
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
234
diff
changeset
|
297 *!! PURPOSE |
79d3f8563cd4
cp: QUERY TASK command
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
234
diff
changeset
|
298 *! Lists all of the tasks running on the host. This includes guest virtual |
79d3f8563cd4
cp: QUERY TASK command
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
234
diff
changeset
|
299 *! cpu tasks, as well as system helper tasks. |
234
29d6f072fc51
Some documentation for the implemented commands
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
219
diff
changeset
|
300 */ |
264
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
301 static int cmd_query_task(struct virt_sys *sys, char *cmd, int len) |
140
4115752a3503
cp: revamp of command parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff
changeset
|
302 { |
591
d953d7d4d89d
cp: revamp directory handling
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
562
diff
changeset
|
303 SHELL_CMD_AUTH(sys, E); |
340
cb37afdb8040
cp: added auth level checks to all the non G-level commands
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
334
diff
changeset
|
304 |
559
a46925302e15
cp: sched.h accumulated tons of structs that belong into vcpu.h
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
528
diff
changeset
|
305 list_tasks(display_task, sys->con); |
150
58af4cf69cda
cp: Implement QUERY CPLEVEL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
140
diff
changeset
|
306 |
140
4115752a3503
cp: revamp of command parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff
changeset
|
307 return 0; |
4115752a3503
cp: revamp of command parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff
changeset
|
308 } |
264
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
309 |
592
732345b0925c
cp: guest layer revamp, part 1
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
591
diff
changeset
|
310 static void display_names(struct virt_cons *con, struct virt_sys *sys) |
304
8f0feecc0a0e
cp: QUERY NAMES command
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
299
diff
changeset
|
311 { |
8f0feecc0a0e
cp: QUERY NAMES command
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
299
diff
changeset
|
312 con_printf(con, "%s %04X %-8s\n", type2name(sys->con->dev->type), |
8f0feecc0a0e
cp: QUERY NAMES command
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
299
diff
changeset
|
313 sys->con->dev->ccuu, sys->directory->userid); |
8f0feecc0a0e
cp: QUERY NAMES command
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
299
diff
changeset
|
314 } |
8f0feecc0a0e
cp: QUERY NAMES command
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
299
diff
changeset
|
315 |
8f0feecc0a0e
cp: QUERY NAMES command
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
299
diff
changeset
|
316 /* |
8f0feecc0a0e
cp: QUERY NAMES command
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
299
diff
changeset
|
317 *!!! QUERY NAMES |
342
64886ec8f6a8
manual: rework the CP commands comment syntax
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
340
diff
changeset
|
318 *!! SYNTAX |
346
3a8933aeb8d7
manual: fix command names with spaces
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
342
diff
changeset
|
319 *! \tok{\sc Query} \tok{\sc NAMes} |
342
64886ec8f6a8
manual: rework the CP commands comment syntax
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
340
diff
changeset
|
320 *!! XATNYS |
304
8f0feecc0a0e
cp: QUERY NAMES command
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
299
diff
changeset
|
321 *!! AUTH G |
8f0feecc0a0e
cp: QUERY NAMES command
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
299
diff
changeset
|
322 *!! PURPOSE |
8f0feecc0a0e
cp: QUERY NAMES command
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
299
diff
changeset
|
323 *! Lists all of the logged in users. |
8f0feecc0a0e
cp: QUERY NAMES command
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
299
diff
changeset
|
324 */ |
8f0feecc0a0e
cp: QUERY NAMES command
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
299
diff
changeset
|
325 static int cmd_query_names(struct virt_sys *sys, char *cmd, int len) |
8f0feecc0a0e
cp: QUERY NAMES command
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
299
diff
changeset
|
326 { |
591
d953d7d4d89d
cp: revamp directory handling
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
562
diff
changeset
|
327 SHELL_CMD_AUTH(sys, G); |
d953d7d4d89d
cp: revamp directory handling
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
562
diff
changeset
|
328 |
304
8f0feecc0a0e
cp: QUERY NAMES command
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
299
diff
changeset
|
329 list_users(sys->con, display_names); |
8f0feecc0a0e
cp: QUERY NAMES command
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
299
diff
changeset
|
330 |
8f0feecc0a0e
cp: QUERY NAMES command
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
299
diff
changeset
|
331 return 0; |
8f0feecc0a0e
cp: QUERY NAMES command
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
299
diff
changeset
|
332 } |
8f0feecc0a0e
cp: QUERY NAMES command
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
299
diff
changeset
|
333 |
427
58a3d827a9d9
cp/shell: added Q USERID command
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
422
diff
changeset
|
334 /* |
58a3d827a9d9
cp/shell: added Q USERID command
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
422
diff
changeset
|
335 *!!! QUERY USERID |
58a3d827a9d9
cp/shell: added Q USERID command
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
422
diff
changeset
|
336 *!! SYNTAX |
58a3d827a9d9
cp/shell: added Q USERID command
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
422
diff
changeset
|
337 *! \tok{\sc Query} \tok{\sc USERID} |
58a3d827a9d9
cp/shell: added Q USERID command
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
422
diff
changeset
|
338 *!! XATNYS |
58a3d827a9d9
cp/shell: added Q USERID command
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
422
diff
changeset
|
339 *!! AUTH G |
58a3d827a9d9
cp/shell: added Q USERID command
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
422
diff
changeset
|
340 *!! PURPOSE |
58a3d827a9d9
cp/shell: added Q USERID command
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
422
diff
changeset
|
341 *! Displays the current user id. |
58a3d827a9d9
cp/shell: added Q USERID command
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
422
diff
changeset
|
342 */ |
58a3d827a9d9
cp/shell: added Q USERID command
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
422
diff
changeset
|
343 static int cmd_query_userid(struct virt_sys *sys, char *cmd, int len) |
58a3d827a9d9
cp/shell: added Q USERID command
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
422
diff
changeset
|
344 { |
591
d953d7d4d89d
cp: revamp directory handling
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
562
diff
changeset
|
345 SHELL_CMD_AUTH(sys, G); |
d953d7d4d89d
cp: revamp directory handling
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
562
diff
changeset
|
346 |
427
58a3d827a9d9
cp/shell: added Q USERID command
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
422
diff
changeset
|
347 con_printf(sys->con, "%s\n", sys->directory->userid); |
58a3d827a9d9
cp/shell: added Q USERID command
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
422
diff
changeset
|
348 return 0; |
58a3d827a9d9
cp/shell: added Q USERID command
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
422
diff
changeset
|
349 } |
58a3d827a9d9
cp/shell: added Q USERID command
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
422
diff
changeset
|
350 |
264
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
351 static struct cpcmd cmd_tbl_query[] = { |
419
c6d653e59cf7
cp: added QUERY ARCHMODE to display current architecture mode
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
392
diff
changeset
|
352 {"ARCHMODE", cmd_query_archmode, NULL}, |
c6d653e59cf7
cp: added QUERY ARCHMODE to display current architecture mode
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
392
diff
changeset
|
353 |
264
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
354 {"CPLEVEL", cmd_query_cplevel, NULL}, |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
355 |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
356 {"TIME", cmd_query_time, NULL}, |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
357 |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
358 {"VIRTUAL", cmd_query_virtual, NULL}, |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
359 {"VIRTUA", cmd_query_virtual, NULL}, |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
360 {"VIRTU", cmd_query_virtual, NULL}, |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
361 {"VIRT", cmd_query_virtual, NULL}, |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
362 {"VIR", cmd_query_virtual, NULL}, |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
363 {"VI", cmd_query_virtual, NULL}, |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
364 {"V", cmd_query_virtual, NULL}, |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
365 |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
366 {"REAL", cmd_query_real, NULL}, |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
367 {"REA", cmd_query_real, NULL}, |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
368 {"RE", cmd_query_real, NULL}, |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
369 {"R", cmd_query_real, NULL}, |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
370 |
304
8f0feecc0a0e
cp: QUERY NAMES command
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
299
diff
changeset
|
371 {"NAMES", cmd_query_names, NULL}, |
8f0feecc0a0e
cp: QUERY NAMES command
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
299
diff
changeset
|
372 {"NAME", cmd_query_names, NULL}, |
8f0feecc0a0e
cp: QUERY NAMES command
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
299
diff
changeset
|
373 {"NAM", cmd_query_names, NULL}, |
8f0feecc0a0e
cp: QUERY NAMES command
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
299
diff
changeset
|
374 |
264
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
375 {"TASK", cmd_query_task, NULL}, |
427
58a3d827a9d9
cp/shell: added Q USERID command
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
422
diff
changeset
|
376 |
58a3d827a9d9
cp/shell: added Q USERID command
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
422
diff
changeset
|
377 {"USERID", cmd_query_userid, NULL}, |
264
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
378 {"", NULL, NULL}, |
53102fc45168
cp: use table-driven QUERY subcommand parsing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
259
diff
changeset
|
379 }; |