diff options
author | Giovanni Di Sirio <gdisirio@gmail.com> | 2016-02-23 09:31:25 +0000 |
---|---|---|
committer | Giovanni Di Sirio <gdisirio@gmail.com> | 2016-02-23 09:31:25 +0000 |
commit | 430facf5652c09fee1d77ebad2fb1cca641de544 (patch) | |
tree | 1491d02fb14ef5bbd21ea1d464658a0332802d32 /os/common/ext/nasa-osal/include/osapi-os-filesys.h | |
parent | 2240934707a4e434c76329ad3051a6ba5c09e299 (diff) | |
download | ChibiOS-430facf5652c09fee1d77ebad2fb1cca641de544.tar.gz ChibiOS-430facf5652c09fee1d77ebad2fb1cca641de544.tar.bz2 ChibiOS-430facf5652c09fee1d77ebad2fb1cca641de544.zip |
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@8931 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os/common/ext/nasa-osal/include/osapi-os-filesys.h')
-rw-r--r-- | os/common/ext/nasa-osal/include/osapi-os-filesys.h | 419 |
1 files changed, 0 insertions, 419 deletions
diff --git a/os/common/ext/nasa-osal/include/osapi-os-filesys.h b/os/common/ext/nasa-osal/include/osapi-os-filesys.h deleted file mode 100644 index c46800341..000000000 --- a/os/common/ext/nasa-osal/include/osapi-os-filesys.h +++ /dev/null @@ -1,419 +0,0 @@ -/* -** File: osapi-os-filesys.h -** -** Copyright (c) 2004-2006, United States government as represented by the -** administrator of the National Aeronautics Space Administration. -** All rights reserved. This software was created at NASAs Goddard -** Space Flight Center pursuant to government contracts. -** -** This is governed by the NASA Open Source Agreement and may be used, -** distributed and modified only pursuant to the terms of that agreement. -** -** Author: Alan Cudmore Code 582 -** -** Purpose: Contains functions prototype definitions and variables declarations -** for the OS Abstraction Layer, File System module -** -** $Revision: 1.11 $ -** -** $Date: 2013/12/16 12:57:41GMT-05:00 $ -** -** $Log: osapi-os-filesys.h $ -** Revision 1.11 2013/12/16 12:57:41GMT-05:00 acudmore -** Added macros for Volume name length and physical device name length -** Revision 1.10 2013/07/29 12:05:48GMT-05:00 acudmore -** Added define for device and volume name length -** Revision 1.9 2013/07/25 14:31:21GMT-05:00 acudmore -** Added prototype and datatype for OS_GetFsInfo -** Revision 1.8 2011/12/05 12:04:21GMT-05:00 acudmore -** Added OS_rewinddir API -** Revision 1.7 2011/04/05 16:01:12EDT acudmore -** Added OS_CloseFileByName and OS_CloseAllFiles -** Revision 1.6 2010/11/15 11:04:38EST acudmore -** Added OS_FileOpenCheck function. -** Revision 1.5 2010/11/12 12:00:18EST acudmore -** replaced copyright character with (c) and added open source notice where needed. -** Revision 1.4 2010/02/01 12:28:57EST acudmore -** Added OS_fsBytesFree API -** Revision 1.3 2010/01/25 14:44:26EST acudmore -** renamed "new" variable to avoid C++ reserved name conflict. -** Revision 1.2 2009/07/14 15:16:05EDT acudmore -** Added OS_TranslatePath to the API -** Revision 1.1 2008/04/20 22:36:01EDT ruperera -** Initial revision -** Member added to project c:/MKSDATA/MKS-REPOSITORY/MKS-OSAL-REPOSITORY/src/os/inc/project.pj -** Revision 1.1 2007/10/16 16:14:52EDT apcudmore -** Initial revision -** Member added to project d:/mksdata/MKS-OSAL-REPOSITORY/src/os/inc/project.pj -** Revision 1.1 2007/08/24 13:43:24EDT apcudmore -** Initial revision -** Member added to project d:/mksdata/MKS-CFE-PROJECT/fsw/cfe-core/os/inc/project.pj -** Revision 1.17 2007/06/07 09:59:14EDT njyanchik -** I replaced the second OS_cp definition with OS_mv -** Revision 1.16 2007/06/05 16:25:33EDT apcudmore -** Increased Number of volume table entries from 10 to 14. -** Added 2 extra EEPROM disk mappings to RAD750 Volume table + 2 spares -** Added 4 spares to every other volume table. -** Revision 1.15 2007/05/25 09:17:56EDT njyanchik -** I added the rmfs call to the OSAL and updated the unit test stubs to match -** Revision 1.14 2007/03/21 10:15:29EST njyanchik -** I mistakenly put the wrong length in for the path in the OS_FDTableEntry structure, and I added -** some code that will set and out of range file descriptors .IsValid flag to false in OS_FDGetInfo -** Revision 1.13 2007/03/06 11:52:46EST njyanchik -** This change goes with the previous CP, I forgot to include it -** Revision 1.12 2007/02/28 14:57:45EST njyanchik -** The updates for supporting copying and moving files are now supported -** Revision 1.11 2007/02/27 15:22:11EST njyanchik -** This CP has the initial import of the new file descripor table mechanism -** Revision 1.10 2006/12/20 10:27:09EST njyanchik -** This change package incorporates all the changes necessary for the addition -** of a new API to get the real physical drive undernieth a mount point -** Revision 1.9 2006/11/14 14:44:28GMT-05:00 njyanchik -** Checks were added to the OS fs calls that look at the return of a function that -** changes the name of paths from abstracted to local path names. -** Revision 1.8 2006/10/30 16:12:19GMT-05:00 apcudmore -** Updated Compact flash and RAM device names for vxWorks 6.2 changes. -** Revision 1.7 2006/10/25 11:31:18EDT njyanchik -** This CP incorporates changes to every bsp_voltab.c file. I increased the number -** entries in the volume table to 10. I also changed the #define in the os_filesys.h -** file for the number of entries to match. -** -** This update also includes adding the prototype for OS_initfs in os_filesys.h -** Revision 1.6 2006/09/26 09:03:46GMT-05:00 njyanchik -** Contains the initial import of the ES Shell commands interface -** Revision 1.5 2006/07/25 15:37:52EDT njyanchik -** It turns out the both the FS app and the OSAL were incorrect where file descriptors are -** concerned. the file descriptors should be int32 across the board. -** Revision 1.4 2006/01/20 11:56:18EST njyanchik -** Fixed header file information to match api document -** Revision 1.26 2005/07/12 17:13:56 nyanchik -** Moved the Volume table to a bsp table in the arch directories. -** -** Revision 1.2 2005/07/11 16:26:57EDT apcudmore -** OSAPI 2.0 integration -** Revision 1.25 2005/07/06 16:11:17 nyanchik -** *** empty log message *** -** -** Revision 1.24 2005/07/05 18:34:55 nyanchik -** fixed issues found in code walkthrogh. Also removed the OS_Info* functions that are going in the BSP -** -** Revision 1.23 2005/06/17 19:46:34 nyanchik -** added new file system style to linux and rtems. -** -** Revision 1.22 2005/06/15 16:43:48 nyanchik -** added extra parenthesis for the .h file # defines -** -** Revision 1.21 2005/06/06 14:17:42 nyanchik -** added headers to osapi-os-core.h and osapi-os-filesys.h -** -** Revision 1.20 2005/06/02 18:04:24 nyanchik -** *** empty log message *** -** -** Revision 1.1 2005/03/15 18:26:32 nyanchik -** *** empty log message *** -** -** -** Date Written: -** -** -*/ - -#ifndef _osapi_filesys_ -#define _osapi_filesys_ -#include <stdio.h> -#include <stdlib.h> -#include <dirent.h> -#include <sys/stat.h> - -#define OS_READ_ONLY 0 -#define OS_WRITE_ONLY 1 -#define OS_READ_WRITE 2 - -#define OS_SEEK_SET 0 -#define OS_SEEK_CUR 1 -#define OS_SEEK_END 2 - -#define OS_CHK_ONLY 0 -#define OS_REPAIR 1 - -#define FS_BASED 0 -#define RAM_DISK 1 -#define EEPROM_DISK 2 -#define ATA_DISK 3 - - -/* -** Number of entries in the internal volume table -*/ -#define NUM_TABLE_ENTRIES 14 - -/* -** Length of a Device and Volume name -*/ -#define OS_FS_DEV_NAME_LEN 32 -#define OS_FS_PHYS_NAME_LEN 64 -#define OS_FS_VOL_NAME_LEN 32 - - -/* -** Defines for File System Calls -*/ -#define OS_FS_SUCCESS 0 -#define OS_FS_ERROR (-1) -#define OS_FS_ERR_INVALID_POINTER (-2) -#define OS_FS_ERR_PATH_TOO_LONG (-3) -#define OS_FS_ERR_NAME_TOO_LONG (-4) -#define OS_FS_UNIMPLEMENTED (-5) -#define OS_FS_ERR_DRIVE_NOT_CREATED (-6) -#define OS_FS_ERR_DEVICE_NOT_FREE (-7) -#define OS_FS_ERR_PATH_INVALID (-8) -#define OS_FS_ERR_NO_FREE_FDS (-9) -#define OS_FS_ERR_INVALID_FD (-10) - -/* This typedef is for the OS_FS_GetErrorName function, to ensure - * everyone is making an array of the same length */ - -typedef char os_fs_err_name_t[35]; - - -/* -** Internal structure of the OS volume table for -** mounted file systems and path translation -*/ -typedef struct -{ - char DeviceName [OS_FS_DEV_NAME_LEN]; - char PhysDevName [OS_FS_PHYS_NAME_LEN]; - uint32 VolumeType; - uint8 VolatileFlag; - uint8 FreeFlag; - uint8 IsMounted; - char VolumeName [OS_FS_VOL_NAME_LEN]; - char MountPoint [OS_MAX_PATH_LEN]; - uint32 BlockSize; - -}OS_VolumeInfo_t; - -typedef struct -{ - int32 OSfd; /* The underlying OS's file descriptor */ - char Path[OS_MAX_PATH_LEN]; /* The path of the file opened */ - uint32 User; /* The task id of the task who opened the file*/ - uint8 IsValid; /* Whether or not this entry is valid */ -}OS_FDTableEntry; - -typedef struct -{ - uint32 MaxFds; /* Total number of file descriptors */ - uint32 FreeFds; /* Total number that are free */ - uint32 MaxVolumes; /* Maximum number of volumes */ - uint32 FreeVolumes; /* Total number of volumes free */ -} os_fsinfo_t; - -/* modified to posix calls, since all of the - * applicable OSes use the posix calls */ - -typedef struct stat os_fstat_t; -typedef DIR* os_dirp_t; -typedef struct dirent os_dirent_t; -/* still don't know what this should be*/ -typedef unsigned long int os_fshealth_t; - -/* - * Exported Functions -*/ - - -/****************************************************************************** -** Standard File system API -******************************************************************************/ -/* - * Initializes the File System functions -*/ - -int32 OS_FS_Init(void); - -/* - * Creates a file specified by path -*/ -int32 OS_creat (const char *path, int32 access); - -/* - * Opend a file for reading/writing. Returns file descriptor -*/ -int32 OS_open (const char *path, int32 access, uint32 mode); - -/* - * Closes an open file. -*/ -int32 OS_close (int32 filedes); - -/* - * Reads nbytes bytes from file into buffer -*/ -int32 OS_read (int32 filedes, void *buffer, uint32 nbytes); - -/* - * Write nybytes bytes of buffer into the file -*/ -int32 OS_write (int32 filedes, void *buffer, uint32 nbytes); - -/* - * Changes the permissions of a file -*/ -int32 OS_chmod (const char *path, uint32 access); - -/* - * Returns file status information in filestats -*/ -int32 OS_stat (const char *path, os_fstat_t *filestats); - -/* - * Seeks to the specified position of an open file -*/ -int32 OS_lseek (int32 filedes, int32 offset, uint32 whence); - -/* - * Removes a file from the file system -*/ -int32 OS_remove (const char *path); - -/* - * Renames a file in the file system -*/ -int32 OS_rename (const char *old_filename, const char *new_filename); - -/* - * copies a single file from src to dest -*/ -int32 OS_cp (const char *src, const char *dest); - -/* - * moves a single file from src to dest -*/ -int32 OS_mv (const char *src, const char *dest); - -/* - * Copies the info of an open file to the structure -*/ -int32 OS_FDGetInfo (int32 filedes, OS_FDTableEntry *fd_prop); - -/* -** Check to see if a file is open -*/ -int32 OS_FileOpenCheck(char *Filename); - -/* -** Close all open files -*/ -int32 OS_CloseAllFiles(void); - -/* -** Close a file by filename -*/ -int32 OS_CloseFileByName(char *Filename); - - -/****************************************************************************** -** Directory API -******************************************************************************/ - -/* - * Makes a new directory -*/ -int32 OS_mkdir (const char *path, uint32 access); - -/* - * Opens a directory for searching -*/ -os_dirp_t OS_opendir (const char *path); - -/* - * Closes an open directory -*/ -int32 OS_closedir(os_dirp_t directory); - -/* - * Rewinds an open directory -*/ -void OS_rewinddir(os_dirp_t directory); - -/* - * Reads the next object in the directory -*/ -os_dirent_t * OS_readdir (os_dirp_t directory); - -/* - * Removes an empty directory from the file system. -*/ -int32 OS_rmdir (const char *path); - -/****************************************************************************** -** System Level API -******************************************************************************/ -/* - * Makes a file system -*/ -int32 OS_mkfs (char *address,char *devname, char *volname, - uint32 blocksize, uint32 numblocks); -/* - * Mounts a file system -*/ -int32 OS_mount (const char *devname, char *mountpoint); - -/* - * Initializes an existing file system -*/ -int32 OS_initfs (char *address,char *devname, char *volname, - uint32 blocksize, uint32 numblocks); - -/* - * removes a file system -*/ -int32 OS_rmfs (char *devname); - -/* - * Unmounts a mounted file system -*/ -int32 OS_unmount (const char *mountpoint); - -/* - * Returns the number of free blocks in a file system -*/ -int32 OS_fsBlocksFree (const char *name); - -/* -** Returns the number of free bytes in a file system -** Note the 64 bit data type to support filesystems that -** are greater than 4 Gigabytes -*/ -int32 OS_fsBytesFree (const char *name, uint64 *bytes_free); - -/* - * Checks the health of a file system and repairs it if neccesary -*/ -os_fshealth_t OS_chkfs (const char *name, boolean repair); - -/* - * Returns in the parameter the physical drive underneith the mount point -*/ -int32 OS_FS_GetPhysDriveName (char * PhysDriveName, char * MountPoint); - -/* -** Translates a OSAL Virtual file system path to a host Local path -*/ -int32 OS_TranslatePath ( const char *VirtualPath, char *LocalPath); - -/* -** Returns information about the file system in an os_fsinfo_t -*/ -int32 OS_GetFsInfo(os_fsinfo_t *filesys_info); - -/****************************************************************************** -** Shell API -******************************************************************************/ - -/* executes the shell command passed into is and writes the output of that - * command to the file specified by the given OSAPI file descriptor */ -int32 OS_ShellOutputToFile(char* Cmd, int32 OS_fd); -#endif |