]>
Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | /* |
2 | * Copyright (C) 2000, 2001 Jeff Dike (jdike@karaya.com) | |
3 | * Licensed under the GPL | |
4 | */ | |
5 | ||
6 | #include <unistd.h> | |
7 | #include <sys/types.h> | |
8 | #include <sys/stat.h> | |
9 | #include <errno.h> | |
10 | ||
11 | #include "user_util.h" | |
12 | #include "kern_util.h" | |
13 | #include "user.h" | |
14 | #include "initrd.h" | |
15 | #include "os.h" | |
16 | ||
17 | int load_initrd(char *filename, void *buf, int size) | |
18 | { | |
19 | int fd, n; | |
20 | ||
21 | fd = os_open_file(filename, of_read(OPENFLAGS()), 0); | |
22 | if(fd < 0){ | |
23 | printk("Opening '%s' failed - err = %d\n", filename, -fd); | |
24 | return(-1); | |
25 | } | |
26 | n = os_read_file(fd, buf, size); | |
27 | if(n != size){ | |
28 | printk("Read of %d bytes from '%s' failed, err = %d\n", size, | |
29 | filename, -n); | |
30 | return(-1); | |
31 | } | |
32 | ||
33 | os_close_file(fd); | |
34 | return(0); | |
35 | } | |
36 | ||
37 | /* | |
38 | * Overrides for Emacs so that we follow Linus's tabbing style. | |
39 | * Emacs will notice this stuff at the end of the file and automatically | |
40 | * adjust the settings for this buffer only. This must remain at the end | |
41 | * of the file. | |
42 | * --------------------------------------------------------------------------- | |
43 | * Local variables: | |
44 | * c-file-style: "linux" | |
45 | * End: | |
46 | */ |