diff options
author | Matt Fleming <matt.fleming@intel.com> | 2012-07-27 10:41:30 +0100 |
---|---|---|
committer | Matt Fleming <matt.fleming@intel.com> | 2012-07-30 09:51:36 +0100 |
commit | 0d6f330878173c7ba45b884f3e41ce40b917c73c (patch) | |
tree | 0a887066d35d8b01914330d6ab6818fe015a5a9d /core/include/fs.h | |
parent | 0fcd9a48603497dcc2727570a50a4401bb0fd085 (diff) | |
parent | f0bbf9dd40f37f8c4870a33784996efd56955a75 (diff) | |
download | syslinux-0d6f330878173c7ba45b884f3e41ce40b917c73c.tar.gz |
Merge remote-tracking branch 'mfleming/elflink' into for-hpa/elflink/firmware
Conflicts:
Makefile
com32/elflink/ldlinux/adv.c
com32/elflink/ldlinux/kernel.c
com32/elflink/ldlinux/ldlinux.c
com32/include/bitsize/stddef.h
com32/include/bitsize/stdint.h
com32/include/stdint.h
com32/include/sys/module.h
com32/include/sys/x86_64/bitops.h
com32/include/syslinux/linux.h
com32/lib/Makefile
com32/lib/sys/ansicon_write.c
com32/lib/sys/module/elfutils.h
com32/lib/sys/vesa/efi/fill.h
com32/lib/syslinux/load_linux.c
com32/lib/syslinux/serial.c
com32/lib/syslinux/shuffle.c
core/conio.c
core/elflink/config.c
core/elflink/load_env32.c
core/graphics.c
core/include/graphics.h
core/init.c
core/pxelinux.asm
mk/elf.mk
mk/lib.mk
Diffstat (limited to 'core/include/fs.h')
-rw-r--r-- | core/include/fs.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/core/include/fs.h b/core/include/fs.h index a9bf9a6d..673be38e 100644 --- a/core/include/fs.h +++ b/core/include/fs.h @@ -72,6 +72,8 @@ struct fs_ops { int (*readdir)(struct file *, struct dirent *); int (*next_extent)(struct inode *, uint32_t); + + int (*copy_super)(void *buf); }; /* @@ -96,6 +98,7 @@ struct extent { struct inode { struct fs_info *fs; /* The filesystem this inode is associated with */ struct inode *parent; /* Parent directory, if any */ + const char *name; /* Name, valid for generic path search only */ int refcnt; int mode; /* FILE , DIR or SYMLINK */ uint32_t size; @@ -179,6 +182,7 @@ static inline struct file *handle_to_file(uint16_t handle) return handle ? &files[handle-1] : NULL; } +#define PATH_DEFAULT "/boot/syslinux/:/boot/" extern char *PATH; /* fs.c */ @@ -193,6 +197,7 @@ int open_file(const char *name, struct com32_filedata *filedata); void pm_open_file(com32sys_t *); void close_file(uint16_t handle); void pm_close_file(com32sys_t *); +int open_config(void); /* chdir.c */ void pm_realpath(com32sys_t *regs); @@ -218,8 +223,9 @@ int generic_chdir_start(void); void generic_mangle_name(char *, const char *); /* loadconfig.c */ -int search_config(struct com32_filedata *filedata, - const char *search_directores[], const char *filenames[]); +int search_dirs(struct com32_filedata *filedata, + const char *search_directores[], const char *filenames[], + char *realname); int generic_open_config(struct com32_filedata *filedata); /* close.c */ |