summaryrefslogtreecommitdiff
path: root/userspace
diff options
context:
space:
mode:
authorMiguel <m.i@gmx.at>2018-10-15 16:29:50 +0200
committerMiguel <m.i@gmx.at>2018-10-15 16:29:50 +0200
commite3a8099343aac9d94f411638ad84632d4b620132 (patch)
treef0a1f73ab106c17b25fd8a5264a66b6b48e55e48 /userspace
parentf35d2124c36f8d39a953b76620e081b79c2faffd (diff)
cleanup sys/ etc
Diffstat (limited to 'userspace')
-rw-r--r--userspace/Makefile28
-rw-r--r--userspace/bigmem.c5
-rw-r--r--userspace/cat.c17
-rw-r--r--userspace/files/.vimrc1
-rw-r--r--userspace/fsh.c5
-rw-r--r--userspace/ls.c56
-rw-r--r--userspace/pwd.c9
-rw-r--r--userspace/snake.c48
-rw-r--r--userspace/xterm/vesa.c2
9 files changed, 67 insertions, 104 deletions
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 <stdio.h>
#include <stdlib.h>
-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;i<atoi(argv[1]);i++)
{
printf("allocating memory: %d byte\n",i*1024*1024);
char *mem=calloc(i*1024*1024,1);
diff --git a/userspace/cat.c b/userspace/cat.c
index 41768ea..c7414b8 100644
--- a/userspace/cat.c
+++ b/userspace/cat.c
@@ -10,22 +10,7 @@ int main(int argc, char **argv)
FILE *out=stdout;
// In case a Filename was supplied
- if(argc>1){
- 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 <string.h>
#include <errno.h>
#include <string.h>
-#include "interface/fs.h"
+#include <sys/dirent.h>
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 <stdio.h>
+#include <stdlib.h>
+
+#include <sys/dirent.h>
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 <stdio.h>
+
+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 <stdio.h>
-
-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;