/* ----> 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 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 /* ifndef REDCOREAPI_H */