⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rmfsapi.h

📁 This is a resource based on j2me embedded,if you dont understand,you can connection with me .
💻 H
字号:
/* * 	 * * Copyright  1990-2007 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER *  * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License version * 2 only, as published by the Free Software Foundation. *  * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License version 2 for more details (a copy is * included at /legal/license.txt). *  * You should have received a copy of the GNU General Public License * version 2 along with this work; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA * 02110-1301 USA *  * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa * Clara, CA 95054 or visit www.sun.com if you need additional * information or have any questions. *//** * @file *//** * Functions and data structures that make up the Raw Memory File System  * interface. The RMFS  external interfaces hides any directory hierarchies by * making the file system look like a flat file system. * * <p>More specifically, for filenames, the storage implementation must * support 255 character long, 8-bit character, file names. Legal characters * are A-Z, a-z, 0-9, _, %, and #.  The filenames will differ in more than * just case, so case-insensitive systems like Win32 are not a problem. * */#ifndef _RMFSAPI_H_#define _RMFSAPI_H_#ifdef __cplusplusextern "C" {#endiftypedef char* DIR;/** * Maximum length of a file name, not including the terminator. */#define MAX_FILENAME_LENGTH 255 /* does not include the zero terminator */#define MAX_OPEN_FILE_NUM     (10)typedef struct rmfsFileDescriptor{    jint  	         handle;    jint                 size;    jint                 offset;    uchar                dataBlockIndex;    uchar                nameID;    jboolean             fileType;    jboolean             flags;    jboolean             createMode;} _rmfsFileDes, *_rmfsFileDesPtr;extern _rmfsFileDes   fileTab[MAX_OPEN_FILE_NUM];/** * FUNCTION:      rmfsInitialize() * TYPE:          public operation * OVERVIEW:      Initialize the RMFS raw memory storage *                 NOTE: This must only be called once * INTERFACE: *   parameters:  size   Size of Raw Memory Storage to use *                start  start address of the Raw memory storage *   returns:     0 on succes; != 0 on failure *                 *//*jint rmfsInitialize(jint start, jint size); */jint rmfsInitialize(jint start, jint size);/* Initialize the Open File Table */void rmfsInitOpenFileTab();/* Refresh the RMFS storage */jint rmfsRefresh (jint start, jint size);/** * The open function creates and returns a new RMFS file identifier for the  * file named by filename. Initially, the file position indicator for the  * file is at the beginning of the file. The argument  creationMode  is used  * only when a file is created */jint rmfsOpen (const char *filename, jint flags, jint creationMode);/** * The function close closes the file with descriptor identifier in RMFS.  */jint rmfsClose (jint identifier);/** * The read function reads up to size bytes from the file with descriptor identifier ,  * storing the results in the buffer. */jint rmfsRead (jint identifier , void *buffer, jint size);/** * The write function writes up to size bytes from buffer to the file with descriptor  * identifier.  * The return value is the number of bytes actually written. This is normally the same  * as size, but might be less (for example, if the persistent storage being written to * fills up). */jint  rmfsWrite (jint identifier, void *buffer, jint size);/** * The lseek function is used to change the file position of the file with descriptor  * identifier  */jint  rmfsLseek (jint identifier, jint offset,jint whence);/** * The  truncate function is used to truncate the size of an open file in storage. */jint rmfsTruncate(jint identifier , jint size);/** * RMFS only need to support MIDLets to quiry the size of the file. */jint rmfsFileSize (jint identifier);/** * Check if the file exists in RMFS storage. */void rmfsFileExist (const char* filename, jint *status);/** * Check if the dir exists in RMFS storage. */void rmfsDirExist (char* filename, jint *status);/** * The unlink function deletes the file named filename from the persistent storage. */jint rmfsUnlink (const char *filename);/** * The rename function updates the filename. */jint rmfsRename (const char *oldFilename, const char* newFilename);/** * The opendir function opens and returns a directory stream for reading the directory  * whose file name is dirname. The stream has type DIR *. */DIR* rmfsOpendir (const char *dirname);/** * This function closes the directory stream dirname  */jint rmfsClosedir (char * dirname );/* Check if the file reaches the end */jint  rmfsFileEof(jint handle);/* Write the Romized file jinto RMFS */jint initFileSystem ();/* Check if there is one file, whose name starts with one special stream */char* rmfsFileStartWith(const char* filename);/* Get the free space size in RMFS */jint rmfsGetFreeSpace();/* Get the used space size in RMFS */jint rmfsGetUsedSpace();/** * FUNCTION:      rmfsMkdir() * TYPE:          public operation * OVERVIEW:      create a Dir in the rmfs File System * INTERFACE: *   None    * *   returns:    >=0 Success, -1 failure *                 */jint rmfsMkdir();/** * FUNCTION:      rmfsRmdir() * TYPE:          public operation * OVERVIEW:      delete a Dir in the rmfs File System * INTERFACE: *   None    * *   returns:    >=0 Success, -1 failure *                 */jint rmfsRmdir();#ifdef __cplusplus}#endif#endif /* _RMFSAPI_H_ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -