diff options
Diffstat (limited to 'c/src/lib/libbsp/shared/umon/tfs.h')
-rw-r--r-- | c/src/lib/libbsp/shared/umon/tfs.h | 214 |
1 files changed, 0 insertions, 214 deletions
diff --git a/c/src/lib/libbsp/shared/umon/tfs.h b/c/src/lib/libbsp/shared/umon/tfs.h deleted file mode 100644 index 258288bd14..0000000000 --- a/c/src/lib/libbsp/shared/umon/tfs.h +++ /dev/null @@ -1,214 +0,0 @@ -/** - * @file - * - * @ingroup shared_tfs - * - * @brief Header file for TFS transactions, used by both application and - * monnitor. - */ - -/* Based upon code from MicroMonitor 1.17 from http://www.umonfw.com/ - * which includes this notice: - * - ************************************************************************** - * General notice: - * This code is part of a boot-monitor package developed as a generic base - * platform for embedded system designs. As such, it is likely to be - * distributed to various projects beyond the control of the original - * author. Please notify the author of any enhancements made or bugs found - * so that all may benefit from the changes. In addition, notification back - * to the author will allow the new user to pick up changes that may have - * been made by other users after this version of the code was distributed. - * - * Note1: the majority of this code was edited with 4-space tabs. - * Note2: as more and more contributions are accepted, the term "author" - * is becoming a mis-representation of credit. - * - * Original author: Ed Sutter - * Email: esutter@alcatel-lucent.com - * Phone: 908-582-2351 - ************************************************************************** - * - * Ed Sutter has been informed that this code is being used in RTEMS. - * - * This code was reformatted by Joel Sherrill from OAR Corporation and - * Fernando Nicodemos <fgnicodemos@terra.com.br> from NCB - Sistemas - * Embarcados Ltda. (Brazil) to be more compliant with RTEMS coding - * standards and to eliminate C++ style comments. - */ - -#ifndef _tfs_h -#define _tfs_h - -/** - * @defgroup shared_tfs TFS Support - * - * @ingroup shared_umon - * - * @brief TFS Support Package - */ - -#define TFSINFOSIZE 23 /* Max size of info string (mod4-1). */ - -#ifndef TFSNAMESIZE /* This specifies the maximum size of a file */ -#define TFSNAMESIZE 23 /* name that can be used in TFS. */ -#endif /* This MUST be some value mod4 - 1. */ - -#ifndef TFS_CHANGELOG_FILE /* Information used for change-log */ -#define TFS_CHANGELOG_SIZE 0 /* facility within tfs. */ -#define TFS_CHANGELOG_FILE ".tfschlog" -#endif - -#ifndef SYMFILE /* This specifies the default filename */ -#define SYMFILE "symtbl" /* used by the monitor for the symbol */ -#endif /* table. */ - -#define MINUSRLEVEL 0 /* Minimum user level supported. */ -#define MAXUSRLEVEL 3 /* Maximum user level supported. */ - -#ifndef TFS_RESERVED -#define TFS_RESERVED 4 /* Number of "reserved" entries (ulong) */ -#endif /* in the TFS header. */ - - -/* Flags: */ -#define TFS_EXEC 0x00000001 /* 'e': Executable script. */ -#define TFS_BRUN 0x00000002 /* 'b': To be executed at boot. */ -#define TFS_QRYBRUN 0x00000004 /* 'B': To be executed at boot if */ - /* query passes. */ -#define TFS_SYMLINK 0x00000008 /* 'l': Symbolic link file. */ -#define TFS_EBIN 0x00000010 /* 'E': Executable binary (coff/elf/a.out). */ -#define TFS_CPRS 0x00000040 /* 'c': File is compressed. */ -#define TFS_IPMOD 0x00000080 /* 'i': File is in-place modifiable. */ -#define TFS_UNREAD 0x00000100 /* 'u': File is not even readable if the */ - /* user-level requirement is not met; */ - /* else, it is read-only. */ -#define TFS_ULVLMSK 0x00000600 /* User level mask defines 4 access levels: */ -#define TFS_ULVL0 0x00000000 /* '0' level 0 */ -#define TFS_ULVL1 0x00000200 /* '1' level 1 */ -#define TFS_ULVL2 0x00000400 /* '2' level 2 */ -#define TFS_ULVL3 0x00000600 /* '3' level 3 */ -#define TFS_NSTALE 0x00000800 /* File is NOT stale, invisible to user. - * When this bit is clear, the file is - * considered stale (see notes in tfsadd()). - * See notes in tfsclose() for this. - */ -#define TFS_ACTIVE 0x00008000 /* Used to indicate that file is not deleted. */ - -#define TFS_ULVLMAX TFS_ULVL3 -#define TFS_USRLVL(f) ((f->flags & TFS_ULVLMSK) >> 9) - -/* Open modes */ -#define TFS_RDONLY 0x00010000 /* File is opened for reading. */ -#define TFS_CREATE 0x00020000 /* File is to be created. Error if file */ - /* with the same name already exists. */ -#define TFS_APPEND 0x00040000 /* Append to existing file. If OR'ed */ - /* with TFS_CREATE, then create if */ - /* necessary. */ -#define TFS_ALLFFS 0x00080000 /* File is created with all FFs. */ -#define TFS_CREATERM 0x00100000 /* File is to be created. If file with */ - /* same name already exists, then allow */ - /* tfsadd() to remove it if necessary. */ - -/* The function tfsrunrc() will search through the current file set and */ -/* if the file defined by TFS_RCFILE exists, it will be executed. */ -/* If this file exists, it will NOT be run by tfsrunboot(). */ -#define TFS_RCFILE "monrc" - -/* Requests that can be made to tfsctrl(): */ -#define TFS_ERRMSG 1 -#define TFS_MEMUSE 2 -#define TFS_MEMDEAD 3 -#define TFS_DEFRAG 4 -#define TFS_TELL 5 -#define TFS_UNOPEN 7 -#define TFS_FATOB 8 -#define TFS_FBTOA 9 -#define TFS_MEMAVAIL 10 -#define TFS_TIMEFUNCS 11 -#define TFS_DOCOMMAND 12 -#define TFS_INITDEV 13 -#define TFS_CHECKDEV 14 -#define TFS_DEFRAGDEV 15 -#define TFS_DEFRAGOFF 16 -#define TFS_DEFRAGON 17 -#define TFS_HEADROOM 18 -#define TFS_FCOUNT 19 - -/* struct tfshdr: - * It is in FLASH as part of the file system to record the attributes of - * the file at the time of creation. - */ -struct tfshdr { - unsigned short hdrsize; /* Size of this header. */ - unsigned short hdrvrsn; /* Header version #. */ - long filsize; /* Size of the file. */ - long flags; /* Flags describing the file. */ - unsigned long filcrc; /* 32 bit CRC of file. */ - unsigned long hdrcrc; /* 32 bit CRC of the header. */ - unsigned long modtime; /* Time when file was last modified. */ - struct tfshdr *next; /* Pointer to next file in list. */ - char name[TFSNAMESIZE+1]; /* Name of file. */ - char info[TFSINFOSIZE+1]; /* Miscellaneous info field. */ -#if TFS_RESERVED - unsigned long rsvd[TFS_RESERVED]; -#endif -}; - -#define TFSHDRSIZ sizeof(struct tfshdr) - -/* TFS error returns. */ -#define TFS_OKAY 0 -#define TFSERR_NOFILE -1 -#define TFSERR_NOSLOT -2 -#define TFSERR_EOF -3 -#define TFSERR_BADARG -4 -#define TFSERR_NOTEXEC -5 -#define TFSERR_BADCRC -6 -#define TFSERR_FILEEXISTS -7 -#define TFSERR_FLASHFAILURE -8 -#define TFSERR_WRITEMAX -9 -#define TFSERR_RDONLY -10 -#define TFSERR_BADFD -11 -#define TFSERR_BADHDR -12 -#define TFSERR_CORRUPT -13 -#define TFSERR_MEMFAIL -14 -#define TFSERR_NOTIPMOD -16 -#define TFSERR_MUTEXFAILURE -17 -#define TFSERR_FLASHFULL -18 -#define TFSERR_USERDENIED -19 -#define TFSERR_NAMETOOBIG -20 -#define TFSERR_FILEINUSE -21 -#define TFSERR_NOTCPRS -22 -#define TFSERR_NOTAVAILABLE -23 -#define TFSERR_BADFLAG -24 -#define TFSERR_CLEANOFF -25 -#define TFSERR_FLAKEYSOURCE -26 -#define TFSERR_BADEXTENSION -27 -#define TFSERR_MIN -100 - -/* TFS seek options. */ -#define TFS_BEGIN 1 -#define TFS_CURRENT 2 -#define TFS_END 3 - -/* Macros: */ -#define TFS_DELETED(fp) (!((fp)->flags & TFS_ACTIVE)) -#define TFS_FILEEXISTS(fp) ((fp)->flags & TFS_ACTIVE) -#define TFS_ISCPRS(fp) ((fp)->flags & TFS_CPRS) -#define TFS_ISEXEC(fp) ((fp)->flags & TFS_EXEC) -#define TFS_ISBOOT(fp) ((fp)->flags & TFS_BRUN) -#define TFS_ISLINK(fp) ((fp)->flags & TFS_SYMLINK) -#define TFS_STALE(fp) (!((fp)->flags & TFS_NSTALE)) -#define TFS_FLAGS(fp) ((fp)->flags) -#define TFS_NAME(fp) ((fp)->name) -#define TFS_SIZE(fp) ((fp)->filsize) -#define TFS_TIME(fp) ((fp)->modtime) -#define TFS_INFO(fp) ((fp)->info) -#define TFS_NEXT(fp) ((fp)->next) -#define TFS_CRC(fp) ((fp)->filcrc) -#define TFS_ENTRY(fp) ((fp)->entry) -#define TFS_BASE(fp) ((char *)(fp)+(fp)->hdrsize) - -typedef struct tfshdr TFILE; -#endif |