Example #1
0
int main(int argc, char **argv)
{
	char *outtyp;
	char *outcomp;
	int forcehead;
	int stdret;
	dsk_format_t format;

	if (argc < 2) return help(argc, argv);
        if (find_arg("--help",    argc, argv) > 0) return help(argc, argv);
	stdret = standard_args(argc, argv); if (!stdret) return 0;
        ignore_arg("-itype", 2, &argc, argv);
        ignore_arg("-iside", 2, &argc, argv);
        ignore_arg("-icomp", 2, &argc, argv);
        ignore_arg("-otype", 2, &argc, argv);
        ignore_arg("-oside", 2, &argc, argv);
        ignore_arg("-ocomp", 2, &argc, argv);
        outtyp    = check_type("-type", &argc, argv); if (!outtyp) outtyp = "dsk";
        outcomp   = check_type("-comp", &argc, argv); 
        forcehead = check_forcehead("-side", &argc, argv);
	format    = check_format("-format", &argc, argv);
        retries   = check_retry("-retry", &argc, argv);
	if (format == -1) format = FMT_180K;
	args_complete(&argc, argv);

	return do_format(argv[1], outtyp, outcomp, forcehead, format);
}
Example #2
0
int main(int argc, char **argv)
{
	char *outtyp;
	char *outcomp;
	int forcehead;
	int n, err;
        int stdret = standard_args(argc, argv); if (!stdret) return 0;

	if (argc < 2) return help(argc, argv);

        ignore_arg("-itype", 2, &argc, argv);
        ignore_arg("-iside", 2, &argc, argv);
        ignore_arg("-icomp", 2, &argc, argv);
        ignore_arg("-otype", 2, &argc, argv);
        ignore_arg("-oside", 2, &argc, argv);
        ignore_arg("-ocomp", 2, &argc, argv);

	outtyp    = check_type("-type", &argc, argv);
	outcomp   = check_type("-comp", &argc, argv);
	forcehead = check_forcehead("-side", &argc, argv);	
	retries   = check_retry("-retry", &argc, argv);

        if (find_arg("--help",    argc, argv) > 0) return help(argc, argv);
	args_complete(&argc, argv);

	err = 0;
	for (n = 1; n < argc; n++)
	{
		if (do_login(argc, argv[n], outtyp, outcomp, forcehead))
			++err;
	}
	return err;
}
Example #3
0
/** Return list of process environment variables, ending in `\0\0'
 *
 * This wraps getevars(3) but allocates the string automatically using
 * psi_malloc() and guarantees the complete environment is returned.
 *
 * Returns -1 in case of an error and -2 if the process is gone.  On success
 * the number of environment variables in the argument list is returned.
 */
static int
mygetevars(struct procentry64 *procent, char **envp)
{
/* XXX `n' should be `usigned int' and args_sz & i `ssize_t' but getargs()
 * uses `int' for `args_sz' bizzarly enough.  --flub */
    char *ptr;
    int size = 250;             /* size of `envp' */
    int n;                      /* number of environment variables */
    int r;

    *envp = (char*)psi_malloc(size);
    if (*envp == NULL)
        return -1;
    r = getevars(procent, sizeof(struct procentry64), *envp, size);
    if (r < 0) {
        psi_free(*envp);
        if (errno == ESRCH)     /* proc gone walkies */
            return -2;
        else {
            PyErr_SetFromErrnoWithFilename(PyExc_OSError, "getevars()");
            return -1;
        }
    }
    n = args_complete(*envp, size);
    while (n < 0) {
        size += 250;
        ptr = (char*)psi_realloc(*envp, size);
        if (ptr == NULL) {
            psi_free(*envp);
            return -1;
        }
        *envp = ptr;
        r = getevars(procent, sizeof(struct procentry64), *envp, size);
        if (r < 0) {
            psi_free(*envp);
            if (errno == ESRCH) /* proc gone walkies */
                return -2;
            else {
                PyErr_SetFromErrnoWithFilename(PyExc_OSError, "getevars()");
                return -1;
            }
        }
        n = args_complete(*envp, size);
    }
    return n;
}
Example #4
0
/** Return list of process arguments, ending in `\0\0'
 *
 * This wraps getargs(3) but allocates the string automatically using
 * psi_malloc() and guarantees the complete argument list is returned.
 *
 * Returns -1 in case of an error and -2 if the process is gone.  On success
 * the number of arguments in the argument list is returned.
 */
static int
mygetargs(struct procentry64 *procbuff, char **args)
{
/* XXX nargs should be `usigned int' and args_sz & i `ssize_t' but getargs()
 * uses int for args_sz bizzarly enough.  --flub */
    char *ptr;
    int size = 250;             /* size of `args' */
    int nargs;
    int r;

    *args = (char*)psi_malloc(size);
    if (*args == NULL)
        return -1;
    r = getargs(procbuff, sizeof(struct procentry64), *args, size);
    if (r < 0) {
        psi_free(*args);
        if (errno == ESRCH)     /* proc gone walkies */
            return -2;
        else {
            PyErr_SetFromErrnoWithFilename(PyExc_OSError, "getargs()");
            return -1;
        }
    }
    nargs = args_complete(*args, size);
    while (nargs < 0) {
        size += 250;
        ptr = (char*)psi_realloc(*args, size);
        if (ptr == NULL) {
            psi_free(*args);
            return -1;
        }
        *args = ptr;
        r = getargs(procbuff, sizeof(struct procentry64), *args, size);
        if (r < 0) {
            psi_free(*args);
            if (errno == ESRCH) /* proc gone walkies */
                return -2;
            else {
                PyErr_SetFromErrnoWithFilename(PyExc_OSError, "getargs()");
                return -1;
            }
        }
        nargs = args_complete(*args, size);
    }
    return nargs;
}
Example #5
0
int main(int argc, char **argv)
{
	char *outtyp;
	char *outcomp;
	int forcehead;
	int n, err;

	if (argc < 2) return help(argc, argv);

        ignore_arg("-itype", 2, &argc, argv);
        ignore_arg("-iside", 2, &argc, argv);
        ignore_arg("-icomp", 2, &argc, argv);
        ignore_arg("-otype", 2, &argc, argv);
        ignore_arg("-oside", 2, &argc, argv);
        ignore_arg("-ocomp", 2, &argc, argv);

	outtyp    = check_type("-type", &argc, argv);
	outcomp   = check_type("-comp", &argc, argv);
	forcehead = check_forcehead("-side", &argc, argv);	
	retries   = check_retry("-retry", &argc, argv);
	format    = check_format("-format", &argc, argv);

        if (find_arg("--help",    argc, argv) > 0) return help(argc, argv);
        if (find_arg("--version", argc, argv) > 0) return version();
        if ((n = find_arg("--pcdos",   argc, argv) > 0)) 
	{
		md = FORCE_PCDOS;
		excise_arg(n, &argc, argv);
	}
        if ((n = find_arg("-pcdos",    argc, argv) > 0))
	{
		md = FORCE_PCDOS;
		excise_arg(n, &argc, argv);
	}
        if ((n = find_arg("--apricot", argc, argv) > 0))
	{
		md = FORCE_APRICOT;
		excise_arg(n, &argc, argv);
	}
        if ((n = find_arg("-apricot",  argc, argv) > 0))
	{
		md = FORCE_APRICOT;
		excise_arg(n, &argc, argv);
	}
	args_complete(&argc, argv);

	err = 0;
	for (n = 1; n < argc; n++)
	{
		if (do_swapboot(argc, argv[n], outtyp, outcomp, forcehead))
			++err;
	}
	return err;
}
Example #6
0
int main(int argc, char **argv)
{
	char *outtyp;
	char *outcomp;
	int forcehead;
	int np;
        int stdret;

        stdret = standard_args(argc, argv); if (!stdret) return 0;
	if (find_arg("-libdskrc", argc, argv) > 0 ||
	    find_arg("--libdskrc", argc, argv) > 0)
	{
		return dump_libdskrc();
	}

	if (argc < 2) return help(argc, argv);

        ignore_arg("-itype", 2, &argc, argv);
        ignore_arg("-iside", 2, &argc, argv);
        ignore_arg("-icomp", 2, &argc, argv);
        ignore_arg("-otype", 2, &argc, argv);
        ignore_arg("-oside", 2, &argc, argv);
        ignore_arg("-ocomp", 2, &argc, argv);

	outtyp    = check_type("-type", &argc, argv);
	outcomp   = check_type("-comp", &argc, argv);
	forcehead = check_forcehead("-side", &argc, argv);	
	retries   = check_retry("-retry", &argc, argv);

        if (find_arg("--help",    argc, argv) > 0) return help(argc, argv);
	np = find_arg("-80", argc, argv);
	if (np > 0) 
	{
		t80 = 1;
		excise_arg(np, &argc, argv);
	}
	args_complete(&argc, argv);

	if (!outtyp) outtyp = "dsk";
	return do_test(argv[1], outtyp, outcomp, forcehead);
}