98 lines
3.6 KiB
C
98 lines
3.6 KiB
C
/* ----> DO NOT REMOVE THE FOLLOWING NOTICE <----
|
|
|
|
Copyright (c) 2014-2015 Datalight, Inc.
|
|
All Rights Reserved Worldwide.
|
|
|
|
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; use version 2 of the License.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but "AS-IS," WITHOUT ANY WARRANTY; without even the implied warranty
|
|
of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License along
|
|
with this program; if not, write to the Free Software Foundation, Inc.,
|
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
*/
|
|
/* Businesses and individuals that for commercial or other reasons cannot
|
|
comply with the terms of the GPLv2 license may obtain a commercial license
|
|
before incorporating Reliance Edge into proprietary software for
|
|
distribution in any form. Visit http://www.datalight.com/reliance-edge for
|
|
more information.
|
|
*/
|
|
/** @file
|
|
*/
|
|
#ifndef REDCOREAPI_H
|
|
#define REDCOREAPI_H
|
|
|
|
|
|
#include <redstat.h>
|
|
|
|
|
|
REDSTATUS RedCoreInit(void);
|
|
REDSTATUS RedCoreUninit(void);
|
|
|
|
REDSTATUS RedCoreVolSetCurrent(uint8_t bVolNum);
|
|
|
|
#if FORMAT_SUPPORTED
|
|
REDSTATUS RedCoreVolFormat(void);
|
|
#endif
|
|
#if REDCONF_CHECKER == 1
|
|
REDSTATUS RedCoreVolCheck(void);
|
|
#endif
|
|
REDSTATUS RedCoreVolMount(void);
|
|
REDSTATUS RedCoreVolUnmount(void);
|
|
#if REDCONF_READ_ONLY == 0
|
|
REDSTATUS RedCoreVolTransact(void);
|
|
#endif
|
|
#if REDCONF_API_POSIX == 1
|
|
REDSTATUS RedCoreVolStat(REDSTATFS *pStatFS);
|
|
#endif
|
|
|
|
#if (REDCONF_READ_ONLY == 0) && ((REDCONF_API_POSIX == 1) || (REDCONF_API_FSE_TRANSMASKSET == 1))
|
|
REDSTATUS RedCoreTransMaskSet(uint32_t ulEventMask);
|
|
#endif
|
|
#if (REDCONF_API_POSIX == 1) || (REDCONF_API_FSE_TRANSMASKGET == 1)
|
|
REDSTATUS RedCoreTransMaskGet(uint32_t *pulEventMask);
|
|
#endif
|
|
|
|
#if (REDCONF_READ_ONLY == 0) && (REDCONF_API_POSIX == 1)
|
|
REDSTATUS RedCoreCreate(uint32_t ulPInode, const char *pszName, bool fDir, uint32_t *pulInode);
|
|
#endif
|
|
#if (REDCONF_READ_ONLY == 0) && (REDCONF_API_POSIX == 1) && (REDCONF_API_POSIX_LINK == 1)
|
|
REDSTATUS RedCoreLink(uint32_t ulPInode, const char *pszName, uint32_t ulInode);
|
|
#endif
|
|
#if (REDCONF_READ_ONLY == 0) && (REDCONF_API_POSIX == 1) && ((REDCONF_API_POSIX_UNLINK == 1) || (REDCONF_API_POSIX_RMDIR == 1))
|
|
REDSTATUS RedCoreUnlink(uint32_t ulPInode, const char *pszName);
|
|
#endif
|
|
#if REDCONF_API_POSIX == 1
|
|
REDSTATUS RedCoreLookup(uint32_t ulPInode, const char *pszName, uint32_t *pulInode);
|
|
#endif
|
|
#if (REDCONF_READ_ONLY == 0) && (REDCONF_API_POSIX == 1) && (REDCONF_API_POSIX_RENAME == 1)
|
|
REDSTATUS RedCoreRename(uint32_t ulSrcPInode, const char *pszSrcName, uint32_t ulDstPInode, const char *pszDstName);
|
|
#endif
|
|
#if REDCONF_API_POSIX == 1
|
|
REDSTATUS RedCoreStat(uint32_t ulInode, REDSTAT *pStat);
|
|
#endif
|
|
#if REDCONF_API_FSE == 1
|
|
REDSTATUS RedCoreFileSizeGet(uint32_t ulInode, uint64_t *pullSize);
|
|
#endif
|
|
|
|
REDSTATUS RedCoreFileRead(uint32_t ulInode, uint64_t ullStart, uint32_t *pulLen, void *pBuffer);
|
|
#if REDCONF_READ_ONLY == 0
|
|
REDSTATUS RedCoreFileWrite(uint32_t ulInode, uint64_t ullStart, uint32_t *pulLen, const void *pBuffer);
|
|
#endif
|
|
#if TRUNCATE_SUPPORTED
|
|
REDSTATUS RedCoreFileTruncate(uint32_t ulInode, uint64_t ullSize);
|
|
#endif
|
|
|
|
#if (REDCONF_API_POSIX == 1) && (REDCONF_API_POSIX_READDIR == 1)
|
|
REDSTATUS RedCoreDirRead(uint32_t ulInode, uint32_t *pulPos, char *pszName, uint32_t *pulInode);
|
|
#endif
|
|
|
|
|
|
#endif
|
|
|