void main(){ char str[80], buffer[512]; syscall_printString("Enter a line: "); syscall_readString(str); syscall_printString("\r\n"); syscall_printString(str); syscall_printString("\r\n"); syscall_printString("Reading sector 30 from floppy\r\n"); syscall_readSector(buffer, 30); syscall_printString(buffer); }
void main(){ char str[80]; char buffer[13312]; char * aux; char f1[6]; char f2[6]; int isTyping=1; int address=0; int t=0; struct process processList[8]; while(1){ syscall_printString("shell >> "); syscall_readString(str); syscall_printString("\r\n"); if(str[0]=='c' && str[1]=='l' && str[2]=='e' && str[3]=='a' && str[4]=='r'){ syscall_clearScreen(); } else if (str[0]=='t' && str[1]=='y' && str[2]=='p' && str[3]=='e' && str[4]==' '){ getFileName(str+4,f1); if(f1[0]==0x00){ syscall_printString("please enter a valid file name!"); }else{ syscall_readFile(f1, buffer); if(buffer[0]==0x00) syscall_printString("404 - File not found!"); else syscall_printString(buffer); } } else if (str[0]=='e' && str[1]=='x' && str[2]=='e' && str[3]=='c' && str[4]=='u' && str[5]=='t' && str[6]=='e' && str[7]==' '){ getFileName(str+7,f1); syscall_executeProgram(f1); } else if (str[0]=='d' && str[1]=='e' && str[2]=='l' && str[3]=='e' && str[4]=='t' && str[5]=='e' && str[6]==' '){ getFileName(str+7,f1); syscall_deleteFile(f1); } else if (str[0]=='c' && str[1]=='r' && str[2]=='e' && str[3]=='a' && str[4]=='t' && str[5]=='e' && str[6]==' '){ getFileName(str+7,f1); aux=&buffer; syscall_clearScreen(); address=0; while(isTyping){ syscall_readString(str); if(str[0]==0x0A && str[1]==0x00){ isTyping=0; }else{ for(t=0;t<80;t++){ *aux=str[t]; str[t]=0x00; aux++; address++; } } } isTyping=1; syscall_printString(f1); syscall_printString(buffer); syscall_writeFile(f1,buffer,address); } else if(str[0]=='c' && str[1]=='o' && str[2]=='p' && str[3]=='y' && str[4]==' '){ aux = getFileName(str+4,f1); getFileName(aux,f2); if(f1[0]==0x00 || f2[0]==0x00){ syscall_printString("plese use copy [filename1] [filename2]\r\n"); syscall_printString("file name must be between 1 - 6 character long\r\n"); }else{ syscall_readFile(f1,buffer); t=strlen(buffer); syscall_writeFile(f2,buffer,t); syscall_printString("Copied!"); } }else if(str[0]=='l' && str[1]=='s'){ syscall_listDirectory(); } else if(str[0]=='k' && str[1]=='i' && str[2]=='l' && str[3]=='l' && str[4]==' '){ if(str[5]>='0' && str[5]<='7') syscall_killProcess(str[5]-48); else syscall_printString("Enter a valid PID\r\n"); } else if (str[0]=='e' && str[1]=='x' && str[2]=='e' && str[3]=='c' && str[4]=='u' && str[5]=='t' && str[6]=='e' && str[7]=='w' && str[8]==' '){ getFileName(str+8,f1); syscall_waitForMe(f1); } else if(str[0]=='p' && str[1]=='s'){ syscall_printString("psCommand\r\n"); syscall_ps(processList); syscall_printString("\r\n"); syscall_printString("id\tsegment\tstatus\r\n"); for(t=0;t<8;t++){ if(processList[t].status==4){ continue; } syscall_printString("id => "); syscall_itoa(t,str,10); syscall_printString(str); syscall_printString("\tsegment => "); syscall_itoa((int)processList[t].segment,str,10); syscall_printString(str); syscall_printString("\tstatus => "); syscall_itoa((int)processList[t].status,str,10); syscall_printString(str); syscall_printString(processList[t].status==1?"(Ready)":processList[t].status==2?"(Waiting)":"(Running)"); } } else{ syscall_printString("comando desconocido :D\r\n"); } if(!(str[0]=='c' && str[1]=='l' && str[2]=='e' && str[3]=='a' && str[4]=='r')){ syscall_printString("\r\n"); } } }