[Libsysio-commit] RedStorm_merge: libsysio/drivers/native mountFiles.c start_sysio.c
Brought to you by:
lward
From: Sonja T. <so...@us...> - 2003-10-09 15:12:12
|
Update of /cvsroot/libsysio/libsysio/drivers/native In directory sc8-pr-cvs1:/tmp/cvs-serv9143/drivers/native Added Files: Tag: RedStorm_merge mountFiles.c start_sysio.c Log Message: Merging redstorm changes --- NEW FILE --- #ident "$Id: mountFiles.c,v 1.1.2.1 2003/10/09 15:12:08 sonjat Exp $" #include <errno.h> #include <sys/stat.h> #include <sys/types.h> #include <sys/param.h> #include <sys/mount.h> #include <catamount/lprintf.h> #include "fs_native.h" void mountFiles(void) { if ((mkdir("/home", 0777)) != 0 && errno != EEXIST) { lprintf("mountFiles() mkdir failed\n"); while(1); } if ((mkdir("/tmp", 0777)) != 0 && errno != EEXIST) { lprintf("mountFiles() mkdir failed\n"); while(1); } if ((mkdir("/etc", 0777)) != 0 && errno != EEXIST) { lprintf("mountFiles() mkdir failed\n"); while(1); } if ((mount("native", "/home", 0, "/home")) != 0) { lprintf("mountFiles() mount failed\n"); while(1); } if ((mount("native", "/tmp", 0, "/tmp")) != 0) { lprintf("mountFiles() mount failed\n"); while(1); } if ((mount("native", "/etc", 0, "/etc" )) != 0) { lprintf("mountFiles() mount failed\n"); while(1); } } --- NEW FILE --- #ident "$Id: start_sysio.c,v 1.1.2.1 2003/10/09 15:12:08 sonjat Exp $" #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <unistd.h> #include <dev.h> #include <stdfd.h> #include <sysio.h> //#include <mount.h> #include <errno.h> #include <catamount/lprintf.h> #include "fs_native.h" void start_sysio(void) { static int sysio_init_done = 0; int i, fd[3]; struct stdio { char *path; mode_t mode; int flags; int dev; } std[3] = { { "/dev/stdin", (S_IFCHR | 0444), O_RDONLY, SYSIO_MKDEV(SYSIO_C_STDFD_MAJOR, 0) }, { "/dev/stdout", (S_IFCHR | 0222), O_WRONLY, SYSIO_MKDEV(SYSIO_C_STDFD_MAJOR, 1) }, { "/dev/stderr", (S_IFCHR | 0222), O_WRONLY, SYSIO_MKDEV(SYSIO_C_STDFD_MAJOR, 2) } }; if (sysio_init_done) return; sysio_init_done = 1; if (_sysio_init() != 0) { lprintf("_sysio_init failed\n"); return; } if (_sysio_incore_init() != 0) { lprintf("_sysio_incore_init() failed\n"); return; } if ((_sysio_mount_root("0777+0+0", "incore", 0, NULL)) != 0) { lprintf("_sysio_mount_root() failed\n"); return; } if ((mkdir("/dev", 0777)) != 0 && errno != EEXIST) { lprintf("mkdir(\"/dev\") failed\n"); return; } for (i = 0; i < 3; i++) { if (mknod(std[i].path, std[i].mode, std[i].dev) == 0) { if ( ( fd[i] = open(std[i].path, std[i].flags )) < 0 ) { lprintf("start_sysio() open failed errno %i \n",errno); return; } } else { lprintf("start_sysio() mknod failed errno %i %s\n",errno, std[i].path ); } } } |