From e3a8099343aac9d94f411638ad84632d4b620132 Mon Sep 17 00:00:00 2001 From: Miguel Date: Mon, 15 Oct 2018 16:29:50 +0200 Subject: cleanup sys/ etc --- userspace/Makefile | 28 +++++++++++++++++++------ userspace/bigmem.c | 5 +++-- userspace/cat.c | 17 +-------------- userspace/files/.vimrc | 1 + userspace/fsh.c | 5 ++--- userspace/ls.c | 56 +++++++++++++++++++++++++------------------------- userspace/pwd.c | 9 ++++++++ userspace/snake.c | 48 ------------------------------------------- userspace/xterm/vesa.c | 2 +- 9 files changed, 67 insertions(+), 104 deletions(-) create mode 100644 userspace/pwd.c delete mode 100644 userspace/snake.c (limited to 'userspace') diff --git a/userspace/Makefile b/userspace/Makefile index 950a8d6..8e3518f 100644 --- a/userspace/Makefile +++ b/userspace/Makefile @@ -1,4 +1,4 @@ -IMAGESIZE=60000 #ext2.img size in Kb +IMAGESIZE=80000 #ext2.img size in Kb ####################### @@ -45,8 +45,9 @@ ext2.img: $(PROGS) @sudo mount ext2.img mnt @sudo chown miguel mnt @mkdir -p mnt/home/miguel - @cp files/* mnt/home/miguel/ - @cp files/.vimrc mnt/home/miguel/ + @cp files/* mnt/home/miguel/ -r + @cp files/.vimrc mnt/home/miguel/ -r + @cp files/.vim mnt/home/miguel/ -r @mkdir -p mnt/boot @mkdir -p mnt/bin @mkdir -p mnt/doc/fonts @@ -54,8 +55,15 @@ ext2.img: $(PROGS) @mkdir -p mnt/pipes # mountpoint for pipes @cp $(PROGS) mnt/bin @mkdir -p mnt/usr/share/vim - @cp /home/miguel/git/EXT/vim/src/vim mnt/bin - @cp /home/miguel/git/EXT/vim/runtime/syntax mnt/usr/share/vim/syntax -r + @mkdir -p mnt/home/miguel/.vim + @cp /home/miguel/temp/foolos/usr/share/vim/vim81/* mnt/usr/share/vim/ -r + #@cp /home/miguel/temp/foolos/usr/share/vim/vim81/* mnt/home/miguel/vim/ -r + #@cp /home/miguel/git/EXT/vim/runtime/syntax mnt/usr/share/vim/ -r + #@cp /home/miguel/temp/foolos/usr/share/vim/vim81/colors mnt/home/miguel/.vim/ -r + #@cp /home/miguel/git/EXT/vim/runtime/autoload mnt/usr/share/vim/ -r + #@cp /home/miguel/git/EXT/vim/runtime/filetype.vim mnt/usr/share/vim/ + #@cp /home/miguel/git/EXT/vim/runtime/ftplugin.vim mnt/usr/share/vim/ + #@cp /home/miguel/git/EXT/vim/runtime/ftplugin mnt/usr/share/vim/ -r @cp fonts/*.bin mnt/doc/fonts @cp xterm/xterm mnt/bin @cp cpp/testcpp mnt/bin @@ -63,7 +71,15 @@ ext2.img: $(PROGS) # @cp /home/miguel/temp/foolos/usr/bin/* mnt/bin @cp /home/miguel/temp/foolos/usr/bin/worm mnt/bin @cp /home/miguel/temp/foolos/usr/bin/xmas mnt/bin - @cp /home/miguel/temp/foolos/usr/bin/tput mnt/bin + @cp /home/miguel/temp/foolos/usr/bin/tput mnt/bin # why this doesnt work :( + @cp /home/miguel/temp/foolos/usr/bin/view mnt/bin + @cp /home/miguel/temp/foolos/usr/bin/rain mnt/bin + @cp /home/miguel/temp/foolos/usr/bin/gdc mnt/bin + @cp /home/miguel/temp/foolos/usr/bin/tclock mnt/bin + @cp /home/miguel/temp/foolos/usr/bin/xxd mnt/bin + @cp /home/miguel/temp/foolos/usr/bin/vim mnt/bin +# @cp /home/miguel/git/EXT/vim/src/vim mnt/bin + @cp /home/miguel/temp/foolos/usr/bin/hanoi mnt/bin # cp ~/temp/fool-os-stuff/binutils-build-host-foolos/binutils/readelf mnt/bin # cp ../font/binfont.bin mnt/ diff --git a/userspace/bigmem.c b/userspace/bigmem.c index 5d474aa..505d639 100644 --- a/userspace/bigmem.c +++ b/userspace/bigmem.c @@ -1,9 +1,10 @@ #include #include -int main() +int main(int argc,char **argv) { - for(int i=1;i<100;i++) + if(argc==1)printf("usage %s [steps]\n",argv[0]); + for(int i=1;i1){ - char buf[256]; - - // Relative Path - if(argv[1][0]!='/') - { - sprintf(buf,"%s/%s",getenv("PWD"),argv[1]); - in=fopen(buf,"r"); - } - - // Absolute Path - else - { - in=fopen(argv[1],"r"); - } - } + if(argc>1) in=fopen(argv[1],"r"); char buf[256]; diff --git a/userspace/files/.vimrc b/userspace/files/.vimrc index a86c950..a9d6328 100644 --- a/userspace/files/.vimrc +++ b/userspace/files/.vimrc @@ -5,6 +5,7 @@ set noswapfile "no swap files syntax on set number set colorcolumn=73 +set ft=c " following should be set from terminfo automatically set t_me= diff --git a/userspace/fsh.c b/userspace/fsh.c index 85fc5e4..17a3942 100644 --- a/userspace/fsh.c +++ b/userspace/fsh.c @@ -19,7 +19,7 @@ #include #include #include -#include "interface/fs.h" +#include extern char **environ; @@ -320,8 +320,7 @@ bool cd(char *path) } // check if exists - fs_dirent dirs; - if(-1==_readdir(buf,&dirs,0)) + if(NULL==opendir(buf)) { printf("directory not found!\n"); return false; diff --git a/userspace/ls.c b/userspace/ls.c index b3a17ef..b4cd262 100644 --- a/userspace/ls.c +++ b/userspace/ls.c @@ -1,40 +1,40 @@ -#include "interface/fs.h" +/** + * @file + * poor mans 'ls' for fool-os user space + */ + +#include +#include + +#include int main(int argc, char **argv) { - char *dir=getenv("PWD"); + DIR *dir; - if(argc==2) + if(argc==1) // no param passed + { + // get current working directory + dir=opendir(getenv("PWD")); + } + else { - if(argv[1][0]!='/') - { - if(!strcmp(dir,"/"))dir++; - char buf[256]; - sprintf(buf,"%s/%s",dir,argv[1]); - dir=buf; - } - else - { - dir=argv[1]; - } + // use command line argument + dir=opendir(argv[1]); } - printf("listing %s\n",dir); - - fs_dirent dirs; - uint32_t pos=0; - while(1) + if(dir==NULL) { - uint32_t ret=_readdir(dir,&dirs,&pos); - if(ret==-1) - { - printf("directory not found!\n"); - break; + printf("directory not found\n"); + return EXIT_FAILURE; + } - } - if(ret==0)break; - printf("% 12i %s%c\n",dirs.inode, dirs.name, ((dirs.type==FS_FILE_TYPE_DIR)?'/':' ')); + // iterate over entries + struct dirent *d; + while((d=readdir(dir))!=NULL) + { + printf("% 12i %s%c\n",d->d_ino, d->d_name, ((d->type==FS_FILE_TYPE_DIR)?'/':' ')); } - return 0; + return EXIT_SUCCESS; } diff --git a/userspace/pwd.c b/userspace/pwd.c new file mode 100644 index 0000000..3bc3002 --- /dev/null +++ b/userspace/pwd.c @@ -0,0 +1,9 @@ +#include + +int main() +{ + char buf[256]; + printf("current pwd=%s\n",getwd(buf)); + chdir("/usr/share"); + printf("changed pwd=%s\n",getwd(buf)); +} diff --git a/userspace/snake.c b/userspace/snake.c deleted file mode 100644 index d825987..0000000 --- a/userspace/snake.c +++ /dev/null @@ -1,48 +0,0 @@ -#include - -int data4[100]; - -int data1=1; -int data2=2; -int data3=3; - -int main() -{ - printf("Hello I am FoolSnake 0.1\n some data test: %i %i %i", data1,data2,data3 ); - - puts("+++"); - for(int i=0;i<100;i++) - { - if(data4[i]!=0)printf("WOW"); - } - puts("+++"); - - printf("setvbuf returned %i\n",setvbuf(stdin,NULL,_IONBF,0)); - printf("setvbuf returned %i\n",setvbuf(stdout,NULL,_IONBF,0)); - - //fool_tune(1,0,0); // activate gaming mode - - while(1) - { - uint8_t x=0; - - - while(!_poll(0)) - { - x++; - - putc('\b',stdout); - if(x%4==0)putc('/',stdout); - if(x%4==1)putc('-',stdout); - if(x%4==2)putc('\\',stdout); - if(x%4==3)putc('|',stdout); - } - - char c=fgetc(stdin); - printf("[%c]\n",c); - if(c=='q')break; - - } - - //fool_tune(0,0,0); // de-activate gaming mode -} diff --git a/userspace/xterm/vesa.c b/userspace/xterm/vesa.c index 745e7fb..b6cec2f 100644 --- a/userspace/xterm/vesa.c +++ b/userspace/xterm/vesa.c @@ -7,7 +7,7 @@ void PutFont(char c, int x,int y, int color_fg,int color_bg); -#define VMEM_USER_FRAMEBUFFER 0xfc000000 +#define VMEM_USER_FRAMEBUFFER 0xf5100000 // framebuffer info static uint32_t vesaXres; -- cgit v1.2.3