summaryrefslogtreecommitdiffstats
path: root/c/src/librdbg/src/i386/any/remdeb_svc.c
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2002-02-01 17:00:01 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2002-02-01 17:00:01 +0000
commit40cf43eab4e4121a92ec95bc1366cc5b3bad4e27 (patch)
tree5aef0f81416b68a9f035ac5d14ba9278f0787c1c /c/src/librdbg/src/i386/any/remdeb_svc.c
parent2001-02-01 Mike Siers <mikes@poliac.com> (diff)
downloadrtems-40cf43eab4e4121a92ec95bc1366cc5b3bad4e27.tar.bz2
* So many patches have been posted recently on the mailing list and
because we were unable to find correct solution to compile on various linux distros (due to rpcgen incompatibilities), and because the coding style of rdbg was rather inconsistant among various pieces of code, I decided to: 1) make some cleaning regarding global coding style (using indent + manual edits), 2) incorporate/review the paches send by various people (S. Holford, T. Strauman), 3) Fix the bug due to varying rpcgen code generation in remdeb_svc.c, 4) Remove some dead code, 5) Apply a patches enabling to call enterRdbg imediately after rdbg initialization is done, NB : the paches is huge but it is mainly due to coding styke chnages. Only few lines of codes have been really changed and they do not impact rdbg functionnality (AFAIKT). * include/rdbg/servrpc.h, include/rdbg/i386/rdbg_f.h, include/rdbg/m68k/rdbg_f.h, include/rdbg/powerpc/rdbg_f.h, src/_servtgt.c, src/awk.svc, src/excep.c, src/ptrace.c, src/rdbg.c, src/remdeb.x, src/servbkpt.c, src/servcon.c, src/servrpc.c, src/servtgt.c, src/servtsp.c, src/servutil.c, src/i386/excep_f.c, src/i386/rdbg_f.c, src/i386/any/Makefile.am, src/i386/any/remdeb.h, src/i386/any/remdeb_svc.c, src/i386/any/remdeb_xdr.c, src/m68k/excep_f.c, src/m68k/rdbg_f.c, src/m68k/any/Makefile.am, src/m68k/any/remdeb.h, src/m68k/any/remdeb_svc.c, src/m68k/any/remdeb_xdr.c, src/powerpc/excep_f.c, src/powerpc/rdbg_f.c, src/powerpc/new_exception_processing/Makefile.am, src/powerpc/new_exception_processing/remdeb.h, src/powerpc/new_exception_processing/remdeb_svc.c, src/powerpc/new_exception_processing/remdeb_xdr.c: Modified.
Diffstat (limited to 'c/src/librdbg/src/i386/any/remdeb_svc.c')
-rw-r--r--c/src/librdbg/src/i386/any/remdeb_svc.c179
1 files changed, 95 insertions, 84 deletions
diff --git a/c/src/librdbg/src/i386/any/remdeb_svc.c b/c/src/librdbg/src/i386/any/remdeb_svc.c
index 2e5b3725e4..1827a53e3c 100644
--- a/c/src/librdbg/src/i386/any/remdeb_svc.c
+++ b/c/src/librdbg/src/i386/any/remdeb_svc.c
@@ -22,101 +22,112 @@
* become too small if this value gets incremented.
*/
#ifndef XRY_MAX_CMD_STR
-#endif /* REMDEB_H */
- /* now open_connex() routine which establishes a connection to server */
-#define DEBUGGER_IS_GDB 0x2 /* */
- /* now close_connex() routine which detaches from server */
- /* now send_signal() routine which sends signals to processes like kill(2) */
- /* now wait_info() routine which returns results of polling the wait status
- of a process/actor. It may return 0 if running, else pid or -1 */
- /* now ptrace() routine. This matches the Sun UNIX ptrace as well as
- some additions */
- /* now define the actual calls we support */
-const char* names [] = {
- "NULLPROC", "OPEN_CONNEX", "SEND_SIGNAL", "name3",
- "name4", "name5", "name6", "name7",
- "name8", "name9", "CLOSE_CONNEX", "PTRACE",
- "name12", "WAIT_INFO", "name14", "name15",
- "name16", "GET_SIGNAL_NAMES", "name18"
+#endif /* REMDEB_H */
+ /*
+ * now open_connex() routine which establishes a connection to server
+ */
+#define DEBUGGER_IS_GDB 0x2 /* */
+ /*
+ * now close_connex() routine which detaches from server
+ */
+ /*
+ * now send_signal() routine which sends signals to processes like kill(2)
+ */
+ /*
+ * now wait_info() routine which returns results of polling the wait status
+ * of a process/actor. It may return 0 if running, else pid or -1
+ */
+ /*
+ * now ptrace() routine. This matches the Sun UNIX ptrace as well as
+ * some additions
+ */
+ /*
+ * now define the actual calls we support
+ */
+const char *names[] = {
+ "NULLPROC", "OPEN_CONNEX", "SEND_SIGNAL", "name3",
+ "name4", "name5", "name6", "name7",
+ "name8", "name9", "CLOSE_CONNEX", "PTRACE",
+ "name12", "WAIT_INFO", "name14", "name15",
+ "name16", "GET_SIGNAL_NAMES", "name18"
};
void
-remotedeb_2(struct svc_req *rqstp, register SVCXPRT *transp)
+remotedeb_2 (struct svc_req *rqstp, register SVCXPRT * transp)
{
- union {
- open_in open_connex_2_arg;
- signal_in send_signal_2_arg;
- close_in close_connex_2_arg;
- ptrace_in ptrace_2_arg;
- wait_in wait_info_2_arg;
- } argument;
- char *result;
- xdrproc_t _xdr_argument, _xdr_result;
- char *(*local)(char *, struct svc_req *);
+ union {
+ open_in open_connex_2_arg;
+ signal_in send_signal_2_arg;
+ close_in close_connex_2_arg;
+ ptrace_in ptrace_2_arg;
+ wait_in wait_info_2_arg;
+ } argument;
+ char *result;
+ xdrproc_t _xdr_argument, _xdr_result;
+ char *(*local) (char *, struct svc_req *);
- DPRINTF (("remotedeb_2: %s (%d)\n",
- (unsigned) rqstp->rq_proc <
- (unsigned) (sizeof names / sizeof names[0]) ?
- names [rqstp->rq_proc] : "???",
- (int) rqstp->rq_proc));
+ DPRINTF (("remotedeb_2: %s (%d)\n",
+ (unsigned) rqstp->rq_proc <
+ (unsigned) (sizeof names / sizeof names[0]) ?
+ names[rqstp->rq_proc] : "???", (int) rqstp->rq_proc));
- switch (rqstp->rq_proc) {
- case NULLPROC:
- (void) svc_sendreply (transp, (xdrproc_t) xdr_void, (char *)NULL);
- return;
+ switch (rqstp->rq_proc) {
+ case NULLPROC:
+ (void) svc_sendreply (transp, (xdrproc_t) xdr_void, (char *) NULL);
+ return;
- case OPEN_CONNEX:
- _xdr_argument = (xdrproc_t) xdr_open_in;
- _xdr_result = (xdrproc_t) xdr_open_out;
- local = (char *(*)(char *, struct svc_req *)) open_connex_2_svc;
- break;
+ case OPEN_CONNEX:
+ _xdr_argument = (xdrproc_t) xdr_open_in;
+ _xdr_result = (xdrproc_t) xdr_open_out;
+ local = (char *(*)(char *, struct svc_req *)) open_connex_2_svc;
+ break;
- case SEND_SIGNAL:
- _xdr_argument = (xdrproc_t) xdr_signal_in;
- _xdr_result = (xdrproc_t) xdr_signal_out;
- local = (char *(*)(char *, struct svc_req *)) send_signal_2_svc;
- break;
+ case SEND_SIGNAL:
+ _xdr_argument = (xdrproc_t) xdr_signal_in;
+ _xdr_result = (xdrproc_t) xdr_signal_out;
+ local = (char *(*)(char *, struct svc_req *)) send_signal_2_svc;
+ break;
- case CLOSE_CONNEX:
- _xdr_argument = (xdrproc_t) xdr_close_in;
- _xdr_result = (xdrproc_t) xdr_void;
- local = (char *(*)(char *, struct svc_req *)) close_connex_2_svc;
- break;
+ case CLOSE_CONNEX:
+ _xdr_argument = (xdrproc_t) xdr_close_in;
+ _xdr_result = (xdrproc_t) xdr_void;
+ local = (char *(*)(char *, struct svc_req *)) close_connex_2_svc;
+ break;
- case PTRACE:
- _xdr_argument = (xdrproc_t) xdr_ptrace_in;
- _xdr_result = (xdrproc_t) xdr_ptrace_out;
- local = (char *(*)(char *, struct svc_req *)) ptrace_2_svc;
- break;
+ case PTRACE:
+ _xdr_argument = (xdrproc_t) xdr_ptrace_in;
+ _xdr_result = (xdrproc_t) xdr_ptrace_out;
+ local = (char *(*)(char *, struct svc_req *)) ptrace_2_svc;
+ break;
- case WAIT_INFO:
- _xdr_argument = (xdrproc_t) xdr_wait_in;
- _xdr_result = (xdrproc_t) xdr_wait_out;
- local = (char *(*)(char *, struct svc_req *)) wait_info_2_svc;
- break;
+ case WAIT_INFO:
+ _xdr_argument = (xdrproc_t) xdr_wait_in;
+ _xdr_result = (xdrproc_t) xdr_wait_out;
+ local = (char *(*)(char *, struct svc_req *)) wait_info_2_svc;
+ break;
- case GET_SIGNAL_NAMES:
- _xdr_argument = (xdrproc_t) xdr_void;
- _xdr_result = (xdrproc_t) xdr_get_signal_names_out;
- local = (char *(*)(char *, struct svc_req *)) get_signal_names_2_svc;
- break;
+ case GET_SIGNAL_NAMES:
+ _xdr_argument = (xdrproc_t) xdr_void;
+ _xdr_result = (xdrproc_t) xdr_get_signal_names_out;
+ local = (char *(*)(char *, struct svc_req *)) get_signal_names_2_svc;
+ break;
- default:
- svcerr_noproc (transp);
- return;
- }
- memset ((char *)&argument, 0, sizeof (argument));
- if (!svc_getargs (transp, _xdr_argument, (caddr_t) &argument)) {
- svcerr_decode (transp);
- return;
- }
- result = (*local)((char *)&argument, rqstp);
- if (result != NULL && !svc_sendreply(transp, _xdr_result, result)) {
- svcerr_systemerr (transp);
- }
- if (!svc_freeargs (transp, _xdr_argument, (caddr_t) &argument)) {
- fprintf (stderr, "unable to free arguments");
- exit (1);
- }
- return;
+ default:
+ svcerr_noproc (transp);
+ return;
+ }
+ memset ((char *) &argument, 0, sizeof (argument));
+ if (!svc_getargs (transp, _xdr_argument, (caddr_t) & argument)) {
+ svcerr_decode (transp);
+ return;
+ }
+ result = (*local) ((char *) &argument, rqstp);
+ if (result != NULL && !svc_sendreply (transp, _xdr_result, result)) {
+ svcerr_systemerr (transp);
+ }
+ if (!svc_freeargs (transp, _xdr_argument, (caddr_t) & argument)) {
+ fprintf (stderr, "unable to free arguments");
+ exit (1);
+ }
+ return;
}