cpm commands
This commit is contained in:
parent
c5cbf0fc37
commit
e29685df4e
|
|
@ -0,0 +1,21 @@
|
|||
|
||||
erlaubte Kommandos:
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
copyin name1 name2 - Kopiere Unix-Text-File `name1' ins CP/M-File `name2'
|
||||
copyout name1 name2 - Kopiere CP/M-Text-File `name1' ins Unix-File `name2'
|
||||
ccopyin name1 name2 - Kopiere Unix-Code-File `name1' ins CP/M-File `name2'
|
||||
ccopyout name1 name2- Kopiere CP/M-Code-File `name1' ins Unix-File `name2'
|
||||
dir[ectory] - Anzeige CP/M-Directory
|
||||
ls - " " "
|
||||
del[ete] name - Loesche CP/M-File `name'
|
||||
era[se] name - " " " "
|
||||
exi[t] - quit
|
||||
log[out] - quit
|
||||
typ[e] name - Anzeige CP/M-File `name' am Terminal
|
||||
dum[p] name - Dump des CP/M-File am Terminal in ascii und hexadezimal
|
||||
ren[ame] alt neu - Umbenennen des CP/M-File 'alt' in 'neu'
|
||||
! kommando - Ausfuehren `kommando' im UNIX
|
||||
disk - Anzeigen eingestelltes Diskettenformat
|
||||
|
||||
Wildcardzeichen sind nicht erlaubt
|
||||
|
|
@ -0,0 +1,121 @@
|
|||
/* interact.c 1.8 83/07/27 */
|
||||
#include <stdio.h>
|
||||
#include "command.h"
|
||||
#ifdef p8000
|
||||
#include <setret.h>
|
||||
#else
|
||||
#include <setjmp.h>
|
||||
#endif
|
||||
#include <signal.h>
|
||||
|
||||
#define errinp { printf("??\n"); break; }
|
||||
|
||||
#ifdef p8000
|
||||
ret_buf
|
||||
#else
|
||||
jmp_buf
|
||||
#endif
|
||||
env;
|
||||
|
||||
#ifndef p8000
|
||||
#define setret setjmp
|
||||
#define retjmp longjmp
|
||||
#endif
|
||||
|
||||
int firsttime = 0;
|
||||
|
||||
interact()
|
||||
|
||||
{
|
||||
|
||||
int i, intrpt();
|
||||
char cmd[80], *rest, *index();
|
||||
|
||||
for (;;) {
|
||||
if (firsttime++ == 0) {
|
||||
signal(SIGINT, intrpt, -1);
|
||||
setret(env);
|
||||
}
|
||||
if (cmdinp(cmd) < 0)
|
||||
return (0);
|
||||
rest = index(cmd, ' ');
|
||||
if (rest)
|
||||
*rest++ = '\0';
|
||||
i = chkcmd(cmd);
|
||||
#ifdef DEBUG
|
||||
printf("command: %s, ind: %d\n", cmd, i);
|
||||
#endif
|
||||
|
||||
switch (i) {
|
||||
default:
|
||||
errinp;
|
||||
break;
|
||||
case CMD_DIR:
|
||||
case CMD_LS:
|
||||
dispdir();
|
||||
break;
|
||||
|
||||
case CMD_RENAME:
|
||||
rename(rest);
|
||||
break;
|
||||
|
||||
case CMD_OCOPY:
|
||||
copyc(rest, 0);
|
||||
break;
|
||||
|
||||
case CMD_ICOPY:
|
||||
pip(rest, 0);
|
||||
break;
|
||||
|
||||
case CMD_DELETE:
|
||||
case CMD_ERASE:
|
||||
delete(rest);
|
||||
break;
|
||||
|
||||
case CMD_EXIT:
|
||||
case CMD_LOGOUT:
|
||||
return(0);
|
||||
|
||||
case CMD_TYPE:
|
||||
copy(rest, stdout, 0);
|
||||
break;
|
||||
|
||||
case CMD_HELP:
|
||||
help();
|
||||
break;
|
||||
|
||||
case CMD_OCCOPY:
|
||||
copyc(rest, 1);
|
||||
break;
|
||||
|
||||
case CMD_ICCOPY:
|
||||
pip(rest,1);
|
||||
break;
|
||||
|
||||
case CMD_DUMP:
|
||||
dump(rest);
|
||||
break;
|
||||
|
||||
case CMD_UNIX:
|
||||
system(rest);
|
||||
break;
|
||||
|
||||
case CMD_DISK:
|
||||
disk();
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* handle interrupts (in interactive mode only),
|
||||
* just (long)jump back to command input mode
|
||||
*/
|
||||
|
||||
intrpt()
|
||||
{
|
||||
firsttime = 0;
|
||||
printf("\n");
|
||||
longret(env, 0);
|
||||
}
|
||||
Loading…
Reference in New Issue