mirror of
https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
synced 2025-01-10 18:43:26 +08:00
a29f4d30f2
Checkin of e2fsprogs 1.10
134 lines
2.8 KiB
C
134 lines
2.8 KiB
C
/*
|
|
*------------------------------------------------------------------
|
|
*
|
|
* $Source$
|
|
* $Revision$
|
|
* $Date$
|
|
* $State$
|
|
* $Author$
|
|
* $Locker$
|
|
*
|
|
* $Log$
|
|
* Revision 1.13 1997/04/29 21:26:37 tytso
|
|
* Checkin of e2fsprogs 1.10
|
|
*
|
|
* Revision 1.1 1993/06/03 12:31:25 tytso
|
|
* Initial revision
|
|
*
|
|
* Revision 1.1 1991/12/21 16:41:47 eichin
|
|
* Initial revision
|
|
*
|
|
* Revision 1.1 1991/12/21 11:13:39 eichin
|
|
* Initial revision
|
|
*
|
|
* Revision 1.2 89/01/25 07:52:27 raeburn
|
|
* *** empty log message ***
|
|
*
|
|
* Revision 1.1 88/01/23 15:50:26 raeburn
|
|
* Initial revision
|
|
*
|
|
*
|
|
*------------------------------------------------------------------
|
|
*/
|
|
|
|
#ifndef lint
|
|
static char const rcsid_test_c[] =
|
|
"$Header$";
|
|
#endif /* lint */
|
|
|
|
#include <stdio.h>
|
|
#include "ss.h"
|
|
|
|
extern ss_request_table test_cmds;
|
|
|
|
#define TRUE 1
|
|
#define FALSE 0
|
|
|
|
static char def_subsystem_name[5] = "test";
|
|
static char version [4] = "1.0";
|
|
extern void ss_listen();
|
|
|
|
int main(argc, argv)
|
|
int argc;
|
|
char **argv;
|
|
{
|
|
int code;
|
|
char *argv0 = argv[0];
|
|
char *initial_request = (char *)NULL;
|
|
int quit = FALSE; /* quit after processing request */
|
|
int sci_idx;
|
|
char *subsystem_name;
|
|
|
|
subsystem_name = def_subsystem_name;
|
|
|
|
for (; *argv; ++argv, --argc) {
|
|
printf("checking arg: %s\n", *argv);
|
|
if (!strcmp(*argv, "-prompt")) {
|
|
if (argc == 1) {
|
|
fprintf(stderr,
|
|
"No argument supplied with -prompt\n");
|
|
exit(1);
|
|
}
|
|
argc--; argv++;
|
|
subsystem_name = *argv;
|
|
}
|
|
else if (!strcmp(*argv, "-request") || !strcmp(*argv, "-rq")) {
|
|
if (argc == 1) {
|
|
fprintf(stderr,
|
|
"No string supplied with -request.\n");
|
|
exit(1);
|
|
}
|
|
argc--; argv++;
|
|
initial_request = *argv;
|
|
}
|
|
else if (!strcmp(*argv, "-quit"))
|
|
quit = TRUE;
|
|
else if (!strcmp(*argv, "-no_quit"))
|
|
quit = FALSE;
|
|
else if (**argv == '-') {
|
|
fprintf(stderr, "Unknown control argument %s\n",
|
|
*argv);
|
|
fprintf(stderr,
|
|
"Usage: %s [gateway] [ -prompt name ] [ -request name ] [ -quit ]\n",
|
|
argv0);
|
|
exit(1);
|
|
}
|
|
}
|
|
|
|
sci_idx = ss_create_invocation(subsystem_name, version,
|
|
(char *)NULL, &test_cmds, &code);
|
|
if (code) {
|
|
ss_perror(sci_idx, code, "creating invocation");
|
|
exit(1);
|
|
}
|
|
|
|
(void) ss_add_request_table (sci_idx, &ss_std_requests, 1, &code);
|
|
if (code) {
|
|
ss_perror (sci_idx, code, "adding standard requests");
|
|
exit (1);
|
|
}
|
|
|
|
if (!quit)
|
|
printf("test version %s. Type '?' for a list of commands.\n\n",
|
|
version);
|
|
|
|
if (initial_request != (char *)NULL) {
|
|
code = ss_execute_line(sci_idx, initial_request);
|
|
if (code != 0)
|
|
ss_perror(sci_idx, code, initial_request);
|
|
}
|
|
if (!quit || code)
|
|
(void) ss_listen (sci_idx, &code);
|
|
exit(0);
|
|
}
|
|
|
|
|
|
void test_cmd (argc, argv)
|
|
int argc;
|
|
char **argv;
|
|
{
|
|
while (++argv, --argc)
|
|
fputs(*argv, stdout);
|
|
putchar ('\n');
|
|
}
|