forked from len0rd/rockbox
Revert root_redirect :(
This reverts commit 31fc46ded6
.
Change-Id: Ia78618c0e8b25ca65f7c8ae0db1cb9c9b321bad9
This commit is contained in:
parent
bd744059cf
commit
f850bbbbc4
19 changed files with 215 additions and 645 deletions
|
@ -1,79 +0,0 @@
|
|||
/***************************************************************************
|
||||
* __________ __ ___.
|
||||
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
|
||||
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
|
||||
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
|
||||
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
|
||||
* \/ \/ \/ \/ \/
|
||||
* $Id$
|
||||
*
|
||||
* Copyright (C) 2017 by Michael Sevakis
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
* KIND, either express or implied.
|
||||
*
|
||||
****************************************************************************/
|
||||
#ifndef RB_NAMESPACE_H
|
||||
#define RB_NAMESPACE_H
|
||||
|
||||
#include "file_internal.h"
|
||||
|
||||
enum ns_item_flags
|
||||
{
|
||||
NSITEM_MOUNTED = 0x01, /* item is mounted */
|
||||
NSITEM_HIDDEN = 0x02, /* item is not enumerated */
|
||||
NSITEM_CONTENTS = 0x04, /* contents enumerate */
|
||||
};
|
||||
|
||||
struct ns_scan_info
|
||||
{
|
||||
struct dirscan_info scan; /* dirscan info - first! */
|
||||
int item; /* current item in parent */
|
||||
};
|
||||
|
||||
/* root functions */
|
||||
int root_mount_path(const char *path, unsigned int flags);
|
||||
void root_unmount_volume(IF_MV_NONVOID(int volume));
|
||||
int root_readdir_dirent(struct filestr_base *stream,
|
||||
struct ns_scan_info *scanp,
|
||||
struct dirent *entry);
|
||||
|
||||
/* namespace functions */
|
||||
int ns_parse_root(const char *path, const char **pathp, uint16_t *lenp);
|
||||
int ns_open_root(IF_MV(int volume,) unsigned int *callflagsp,
|
||||
struct file_base_info *infop, uint16_t *attrp);
|
||||
int ns_open_stream(const char *path, unsigned int callflags,
|
||||
struct filestr_base *stream, struct ns_scan_info *scanp);
|
||||
|
||||
/* closes the namespace stream */
|
||||
static inline int ns_close_stream(struct filestr_base *stream)
|
||||
{
|
||||
return close_stream_internal(stream);
|
||||
}
|
||||
|
||||
#include "dircache_redirect.h"
|
||||
|
||||
static inline void ns_dirscan_rewind(struct ns_scan_info *scanp)
|
||||
{
|
||||
rewinddir_dirent(&scanp->scan);
|
||||
if (scanp->item != -1)
|
||||
scanp->item = 0;
|
||||
}
|
||||
|
||||
static inline int ns_readdir_dirent(struct filestr_base *stream,
|
||||
struct ns_scan_info *scanp,
|
||||
struct dirent *entry)
|
||||
|
||||
{
|
||||
if (scanp->item == -1)
|
||||
return readdir_dirent(stream, &scanp->scan, entry);
|
||||
else
|
||||
return root_readdir_dirent(stream, scanp, entry);
|
||||
}
|
||||
|
||||
#endif /* RB_NAMESPACE_H */
|
Loading…
Add table
Add a link
Reference in a new issue