summaryrefslogtreecommitdiffstats
path: root/main/common/tfsprivate.h
diff options
context:
space:
mode:
Diffstat (limited to 'main/common/tfsprivate.h')
-rw-r--r--main/common/tfsprivate.h442
1 files changed, 221 insertions, 221 deletions
diff --git a/main/common/tfsprivate.h b/main/common/tfsprivate.h
index 7cfb840..aade402 100644
--- a/main/common/tfsprivate.h
+++ b/main/common/tfsprivate.h
@@ -1,7 +1,7 @@
/**************************************************************************
*
* Copyright (c) 2013 Alcatel-Lucent
- *
+ *
* Alcatel Lucent licenses this file to You under the Apache License,
* Version 2.0 (the "License"); you may not use this file except in
* compliance with the License. A copy of the License is contained the
@@ -29,104 +29,104 @@
#ifndef _TFSPRIVATE_H_
#define _TFSPRIVATE_H_
-#define SANITY 0xBEEF
-#define ERASED16 0xFFFF
-#define ERASED32 0xFFFFFFFF
-#define TFS_MAXOPEN 10 /* Maximum of 10 open files */
-#define TFS_QRYTMOUT 100000 /* Timeout for QRYBRUN */
-#define TFS_FSIZEMOD 16 /* File size must be a multiple of this value */
-#define MINUSRLEVEL 0 /* Minimum user level supported. */
-#define MAXUSRLEVEL 3 /* Maximum user level supported. */
+#define SANITY 0xBEEF
+#define ERASED16 0xFFFF
+#define ERASED32 0xFFFFFFFF
+#define TFS_MAXOPEN 10 /* Maximum of 10 open files */
+#define TFS_QRYTMOUT 100000 /* Timeout for QRYBRUN */
+#define TFS_FSIZEMOD 16 /* File size must be a multiple of this value */
+#define MINUSRLEVEL 0 /* Minimum user level supported. */
+#define MAXUSRLEVEL 3 /* Maximum user level supported. */
-#define TFSHDRVERSION 1 /* Increment this if TFS header changes. */
+#define TFSHDRVERSION 1 /* Increment this if TFS header changes. */
#if TFS_EBIN_COFF
-#define TFS_EBIN_NAME "coff"
+#define TFS_EBIN_NAME "coff"
#elif TFS_EBIN_AOUT
-#define TFS_EBIN_NAME "aout"
+#define TFS_EBIN_NAME "aout"
#elif TFS_EBIN_ELF
-#define TFS_EBIN_NAME "elf"
+#define TFS_EBIN_NAME "elf"
#elif TFS_EBIN_MSBIN
-#define TFS_EBIN_NAME "msbin"
+#define TFS_EBIN_NAME "msbin"
#elif TFS_EBIN_ELFMSBIN
-#define TFS_EBIN_NAME "elf_msbin"
+#define TFS_EBIN_NAME "elf_msbin"
#else
-#define TFS_EBIN_NAME "NA"
+#define TFS_EBIN_NAME "NA"
#endif
-/* Two different types of Defragmentation tests:
+/* Two different types of Defragmentation tests:
* sector erase and flash write.
*/
-#define DEFRAG_TEST_SERASE 1
-#define DEFRAG_TEST_FWRITE 2
-#define DEFRAG_TEST_EXIT 3
+#define DEFRAG_TEST_SERASE 1
+#define DEFRAG_TEST_FWRITE 2
+#define DEFRAG_TEST_EXIT 3
/* Masks used to allow flags and modes to be part of the same long word. */
-#define TFS_FLAGMASK 0x0000ffff
-#define TFS_MODEMASK 0xffff0000
+#define TFS_FLAGMASK 0x0000ffff
+#define TFS_MODEMASK 0xffff0000
/* Definitions related to tfslog: */
-#define TFSLOG_ADD 0
-#define TFSLOG_DEL 1
-#define TFSLOG_IPM 2
-#define TFSLOG_ON 3
-#define TFSLOG_OFF 4
-#define TIME_UNDEFINED 0xffffffff
+#define TFSLOG_ADD 0
+#define TFSLOG_DEL 1
+#define TFSLOG_IPM 2
+#define TFSLOG_ON 3
+#define TFSLOG_OFF 4
+#define TIME_UNDEFINED 0xffffffff
/* Used by tfsscript.. */
-#define EXIT_SCRIPT (1 << 0)
-#define REMOVE_SCRIPT (1 << 1)
-#define EXECUTE_AFTER_EXIT (1 << 2)
-#define EXIT_ALL_SCRIPTS (1 << 3)
+#define EXIT_SCRIPT (1 << 0)
+#define REMOVE_SCRIPT (1 << 1)
+#define EXECUTE_AFTER_EXIT (1 << 2)
+#define EXIT_ALL_SCRIPTS (1 << 3)
/* Device Table structure and definitions:
- * The Device table is typically only one entry in length. It is defined
- * on a per-target basis in the file tfsdev.h. In the simplest case, the
- * table in tfsdev.h has all of the information in it. This is fine as long
- * as there is no need to support different devices with the same monitor
- * binary. To support the ability to have a device-table that is constructed
- * based on the type of flash on-board, the TFS_DEVINFO_DYNAMIC bit must
- * be set in the devinfo member of tfsdevtbl (in tfsdev.h). This tells TFS
- * to figure out the addresses based on a few assumptions...
- * * Regardless of the device type, the start address will be the same.
- * * The spare sector starts immediately after the end of TFS storage space.
- * In dynamic mode, all that needs to be specified in the tfsdevtbl of
+ * The Device table is typically only one entry in length. It is defined
+ * on a per-target basis in the file tfsdev.h. In the simplest case, the
+ * table in tfsdev.h has all of the information in it. This is fine as long
+ * as there is no need to support different devices with the same monitor
+ * binary. To support the ability to have a device-table that is constructed
+ * based on the type of flash on-board, the TFS_DEVINFO_DYNAMIC bit must
+ * be set in the devinfo member of tfsdevtbl (in tfsdev.h). This tells TFS
+ * to figure out the addresses based on a few assumptions...
+ * * Regardless of the device type, the start address will be the same.
+ * * The spare sector starts immediately after the end of TFS storage space.
+ * In dynamic mode, all that needs to be specified in the tfsdevtbl of
* tfsdev.h is a prefix, start and devinfo fields. The other fields will
* be built based on information taken from the flash interface.
- * One important note: if there is a block of contiguous flash space that
- * spans accross multiple flash banks, then the bank # of the LAST bank in
- * that block is what should be specified in the devinfo BANKMASK field.
+ * One important note: if there is a block of contiguous flash space that
+ * spans accross multiple flash banks, then the bank # of the LAST bank in
+ * that block is what should be specified in the devinfo BANKMASK field.
*/
-#define TFSEOT 0xffffffff
-#define TDEV struct tfsdev
+#define TFSEOT 0xffffffff
+#define TDEV struct tfsdev
-#define TFS_DEVTYPE_RAM 0x00100000
-#define TFS_DEVTYPE_FLASH 0x00200000
-#define TFS_DEVTYPE_NVRAM 0x00300000
-#define TFS_DEVTYPE_MASK 0x00f00000
-#define TFS_DEVINFO_DYNAMIC 0x00080000
-#define TFS_DEVINFO_AUTOINIT 0x00040000
-#define TFS_DEVINFO_BANKMASK 0x00000fff
+#define TFS_DEVTYPE_RAM 0x00100000
+#define TFS_DEVTYPE_FLASH 0x00200000
+#define TFS_DEVTYPE_NVRAM 0x00300000
+#define TFS_DEVTYPE_MASK 0x00f00000
+#define TFS_DEVINFO_DYNAMIC 0x00080000
+#define TFS_DEVINFO_AUTOINIT 0x00040000
+#define TFS_DEVINFO_BANKMASK 0x00000fff
#define TFSDEVTOT ((sizeof(tfsdevtbl))/(sizeof(struct tfsdev)))
-#define TFS_DEVTYPE_ISRAM(tdp) \
- (((tdp->devinfo & TFS_DEVTYPE_MASK) == TFS_DEVTYPE_RAM) || \
- ((tdp->devinfo & TFS_DEVTYPE_MASK) == TFS_DEVTYPE_NVRAM))
+#define TFS_DEVTYPE_ISRAM(tdp) \
+ (((tdp->devinfo & TFS_DEVTYPE_MASK) == TFS_DEVTYPE_RAM) || \
+ ((tdp->devinfo & TFS_DEVTYPE_MASK) == TFS_DEVTYPE_NVRAM))
struct tfsdev {
- char *prefix; /* Device name prefix. */
- unsigned long start; /* First location into which TFS can */
- /* begin to store files. */
- unsigned long end; /* Last address into which TFS can */
- /* place file data. This is usually */
- /* one unit below the start of the */
- /* spare sector. */
- unsigned long spare; /* Start address of device spare */
- /* sector. */
- unsigned long sparesize; /* Size of device spare sector. */
- unsigned long sectorcount; /* Number of sectors in this device. */
- unsigned long devinfo; /* RAM or FLASH, etc... */
+ char *prefix; /* Device name prefix. */
+ unsigned long start; /* First location into which TFS can */
+ /* begin to store files. */
+ unsigned long end; /* Last address into which TFS can */
+ /* place file data. This is usually */
+ /* one unit below the start of the */
+ /* spare sector. */
+ unsigned long spare; /* Start address of device spare */
+ /* sector. */
+ unsigned long sparesize; /* Size of device spare sector. */
+ unsigned long sectorcount; /* Number of sectors in this device. */
+ unsigned long devinfo; /* RAM or FLASH, etc... */
};
/* TFS defragmentation header:
@@ -134,195 +134,195 @@ struct tfsdev {
* files in flash prior to the start of the defragmentation process.
*/
struct defraghdr {
- struct tfshdr *ohdr; /* Original location of header. */
- struct tfshdr *nextfile; /* Location of next file. */
- long filsize; /* Size of file. */
- unsigned long crc; /* 32 bit crc of this header. */
- unsigned long ohdrcrc; /* Copy of file's original hdrcrc. */
- long idx; /* Index into defrag hdr table. */
- int nesn; /* New end sector number. */
- long neso; /* New end sector offset. */
- long oeso; /* Original end sector offset. */
- char *nda; /* New destination address. */
- char fname[TFSNAMESIZE+1]; /* Name of file. */
+ struct tfshdr *ohdr; /* Original location of header. */
+ struct tfshdr *nextfile; /* Location of next file. */
+ long filsize; /* Size of file. */
+ unsigned long crc; /* 32 bit crc of this header. */
+ unsigned long ohdrcrc; /* Copy of file's original hdrcrc. */
+ long idx; /* Index into defrag hdr table. */
+ int nesn; /* New end sector number. */
+ long neso; /* New end sector offset. */
+ long oeso; /* Original end sector offset. */
+ char *nda; /* New destination address. */
+ char fname[TFSNAMESIZE+1]; /* Name of file. */
};
/* sectorcrc:
* This structure is used to store the crc of the sectors before and
* after a defragmentation. A table of these structures is built prior
- * to startup of any file relocation.
+ * to startup of any file relocation.
*/
struct sectorcrc {
- unsigned long precrc;
- unsigned long postcrc;
+ unsigned long precrc;
+ unsigned long postcrc;
};
-#define DEFRAGHDRSIZ sizeof(struct defraghdr)
-#define DEFRAGHDR struct defraghdr
+#define DEFRAGHDRSIZ sizeof(struct defraghdr)
+#define DEFRAGHDR struct defraghdr
/* States used during defragmentation: */
-#define SECTOR_DEFRAG_INACTIVE 1
-#define SCANNING_ACTIVE_SECTOR 2
-#define SCANNING_ACTIVE_SECTOR_1 3
-#define SCANNING_ACTIVE_SECTOR_2 4
-#define SCANNING_ACTIVE_SECTOR_3 5
-#define SCANNING_ACTIVE_SECTOR_4 6
-#define SCANNING_ACTIVE_SECTOR_5 7
-#define SECTOR_DEFRAG_ALMOST_DONE 8
-#define SECTOR_DEFRAG_ABORT_RESTART 9
+#define SECTOR_DEFRAG_INACTIVE 1
+#define SCANNING_ACTIVE_SECTOR 2
+#define SCANNING_ACTIVE_SECTOR_1 3
+#define SCANNING_ACTIVE_SECTOR_2 4
+#define SCANNING_ACTIVE_SECTOR_3 5
+#define SCANNING_ACTIVE_SECTOR_4 6
+#define SCANNING_ACTIVE_SECTOR_5 7
+#define SECTOR_DEFRAG_ALMOST_DONE 8
+#define SECTOR_DEFRAG_ABORT_RESTART 9
/* Different ways in which a file can span across the active sector. */
-#define SPANTYPE_UNDEF 0 /* Span type undefined */
-#define SPANTYPE_BPEP 1 /* Begin-previous/end-previous */
-#define SPANTYPE_BPEC 2 /* Begin-previous/end-current */
-#define SPANTYPE_BPEL 3 /* Begin-previous/end-later */
-#define SPANTYPE_BCEC 4 /* Begin-current/end-current */
-#define SPANTYPE_BCEL 5 /* Begin-current/end-later */
-#define SPANTYPE_BLEL 6 /* Begin-later/end-later */
+#define SPANTYPE_UNDEF 0 /* Span type undefined */
+#define SPANTYPE_BPEP 1 /* Begin-previous/end-previous */
+#define SPANTYPE_BPEC 2 /* Begin-previous/end-current */
+#define SPANTYPE_BPEL 3 /* Begin-previous/end-later */
+#define SPANTYPE_BCEC 4 /* Begin-current/end-current */
+#define SPANTYPE_BCEL 5 /* Begin-current/end-later */
+#define SPANTYPE_BLEL 6 /* Begin-later/end-later */
/* struct tfsdat:
- Used by TFS to keep track of an opened file.
+ Used by TFS to keep track of an opened file.
*/
struct tfsdat {
- long offset; /* Current offset into file. */
- long hwp; /* High water point for modified file. */
- unsigned char *base; /* Base address of file. */
- long flagmode; /* Flags & mode file was opened with. */
- struct tfshdr hdr; /* File structure. */
+ long offset; /* Current offset into file. */
+ long hwp; /* High water point for modified file. */
+ unsigned char *base; /* Base address of file. */
+ long flagmode; /* Flags & mode file was opened with. */
+ struct tfshdr hdr; /* File structure. */
};
/* struct tfsdfg, tfsflg & tfserr:
- Structures provide an easy means of translation between values and
- strings that explain those values.
+ Structures provide an easy means of translation between values and
+ strings that explain those values.
*/
struct tfsflg {
- long flag;
- char sdesc;
- char *ldesc;
- long mask;
+ long flag;
+ char sdesc;
+ char *ldesc;
+ long mask;
};
struct tfserr {
- long err;
- char *msg;
+ long err;
+ char *msg;
};
struct tfsdfg {
- long state;
- char *msg;
+ long state;
+ char *msg;
};
struct tfsinfo {
- int liveftot; /* Number of live files. */
- int livedata; /* Space used by living file data. */
- int liveovrhd; /* Space used by living file overhead. */
- int deadftot; /* Number of dead files. */
- int deaddata; /* Space used by dead file data. */
- int deadovrhd; /* Space used by dead file overhead. */
- int pso; /* Per-sector (not per file) TFS overhead. */
- int sos; /* Size of spare sector(s). */
- int memtot; /* Total tfs memory space in device(s). */
- int memfree; /* Memory space available for new file data. */
- int memused; /* Total memory space used by files & overhead. */
- int memfordata; /* Total memory available for new file data. */
- int sectortot; /* Total number of sectors in this tfs device. */
+ int liveftot; /* Number of live files. */
+ int livedata; /* Space used by living file data. */
+ int liveovrhd; /* Space used by living file overhead. */
+ int deadftot; /* Number of dead files. */
+ int deaddata; /* Space used by dead file data. */
+ int deadovrhd; /* Space used by dead file overhead. */
+ int pso; /* Per-sector (not per file) TFS overhead. */
+ int sos; /* Size of spare sector(s). */
+ int memtot; /* Total tfs memory space in device(s). */
+ int memfree; /* Memory space available for new file data. */
+ int memused; /* Total memory space used by files & overhead. */
+ int memfordata; /* Total memory available for new file data. */
+ int sectortot; /* Total number of sectors in this tfs device. */
};
typedef struct tfsinfo TINFO;
/* Extern data: */
-extern long tfsTrace;
-extern long tfsFmodCount;
-extern TFILE **tfsAlist;
-extern TDEV tfsDeviceTbl[];
+extern long tfsTrace;
+extern long tfsFmodCount;
+extern TFILE **tfsAlist;
+extern TDEV tfsDeviceTbl[];
#ifdef TFS_ALTDEVTBL_BASE
-extern TDEV *alt_tfsdevtbl;
+extern TDEV *alt_tfsdevtbl;
#endif
-extern TDEV alt_tfsdevtbl_base;
-extern struct tfsdat tfsSlots[];
-extern struct tfsflg tfsflgtbl[];
-extern int ScriptExitFlag;
-extern int TfsCleanEnable;
-extern int DefragTestPoint;
-extern int DefragTestType;
-extern int DefragTestSector;
+extern TDEV alt_tfsdevtbl_base;
+extern struct tfsdat tfsSlots[];
+extern struct tfsflg tfsflgtbl[];
+extern int ScriptExitFlag;
+extern int TfsCleanEnable;
+extern int DefragTestPoint;
+extern int DefragTestType;
+extern int DefragTestSector;
/* Extern functions: */
-extern int tfseof(int);
-extern int tfsinit(void);
-extern int _tfsinit(TDEV *);
-extern int tfsreorder(void);
-extern int tfsrunboot(void);
-extern int tfsfixup(int,int);
-extern int tfsunlink(char *);
-extern int tfslink(char *,char *);
-extern int tfsclean_on(void);
-extern int tfsclean_off(void);
-extern int _tfsunlink(char *);
-extern int tfsflasherase(int);
-extern int tfsrun(char **,int);
-extern int tfscheck(TDEV *,int);
-extern int validtfshdr(TFILE *);
-extern int tfstruncate(int,long);
-extern int tfsclose(int, char *);
-extern int tfsscript(TFILE *,int);
-extern int tfsseek(int, int, int);
-extern int tfsread(int,char *,int);
-extern int tfsspace(char *);
-extern int showTfsError(int,char *);
-extern int tfsflasheraseall(TDEV *);
-extern int tfsflasherased(TDEV *,int);
-extern int tfswrite(int, char *, int);
-extern int tfsgetline(int,char *,int);
-extern int tfsLogCmd(int,char **,int);
-extern int tfsopen(char *,long,char *);
-extern int tfsfstat(char *name,TFILE *);
-extern int tfsmemuse(TDEV *,TINFO *,int);
-extern int tfsipmod(char *,char *,int,int);
-extern int tfsclean_nps(TDEV *, char *, unsigned long);
-extern int tfsloadebin(TFILE *,int,long *,char *,int);
-extern int tfsloadebin_l(TFILE *,int,long *,int);
-extern int tfsadd(char *,char *,char *,unsigned char *,int);
-extern int tfsflashwrite(unsigned char *,unsigned char *,long);
-extern int tfsclean(TDEV *,int);
-extern int _tfsclean(TDEV *,int,int);
-extern int tfsautoclean(TDEV *,int);
-extern int (*tfsDocommand)(char *,int);
-extern int dumpDhdr(struct defraghdr *), dumpDhdrTbl(struct defraghdr *,int);
-extern int dumpFhdr(TFILE *);
-extern int tfsRunningMonrc(void);
-extern int tfsramdevice(char *,long,long);
-extern int tfscfg(char *,unsigned long, unsigned long, unsigned long);
-extern int tfscfgrestore(void);
-extern int tfsflagsatob(char *, long *);
-
-
-extern TDEV *gettfsdev_fromprefix(char *,int);
-
-extern TFILE *tfsnext(TFILE *);
-extern TFILE *tfsstat(char *name);
-extern TFILE *_tfsstat(char *name,int uselink);
-extern TFILE *nextfp(TFILE *,TDEV *);
-
-extern long tfstell(int);
-extern long (*tfsGetLtime)(void);
-extern long tfsctrl(int,long,long);
-
-extern unsigned long tfshdrcrc(TFILE *);
-
-extern char *tfsBase(TFILE *);
-extern char *tfserrmsg(int);
-extern char *tfsscriptname(void);
-extern char *tfsflagsbtoa(long,char *);
-extern char *(*tfsGetAtime)(long,char *,int);
-
-extern void tfsclear(TDEV *);
-extern void gototag(char *);
-extern void gosubtag(char *);
-extern void gosubret(char *);
-extern void exitscript(char *);
-extern void tfsstartup(void);
-extern void tfslog(int,char *);
-extern void tfsFacilityUnavailable(char *);
-extern void tfsrunrcfile(void);
+extern int tfseof(int);
+extern int tfsinit(void);
+extern int _tfsinit(TDEV *);
+extern int tfsreorder(void);
+extern int tfsrunboot(void);
+extern int tfsfixup(int,int);
+extern int tfsunlink(char *);
+extern int tfslink(char *,char *);
+extern int tfsclean_on(void);
+extern int tfsclean_off(void);
+extern int _tfsunlink(char *);
+extern int tfsflasherase(int);
+extern int tfsrun(char **,int);
+extern int tfscheck(TDEV *,int);
+extern int validtfshdr(TFILE *);
+extern int tfstruncate(int,long);
+extern int tfsclose(int, char *);
+extern int tfsscript(TFILE *,int);
+extern int tfsseek(int, int, int);
+extern int tfsread(int,char *,int);
+extern int tfsspace(char *);
+extern int showTfsError(int,char *);
+extern int tfsflasheraseall(TDEV *);
+extern int tfsflasherased(TDEV *,int);
+extern int tfswrite(int, char *, int);
+extern int tfsgetline(int,char *,int);
+extern int tfsLogCmd(int,char **,int);
+extern int tfsopen(char *,long,char *);
+extern int tfsfstat(char *name,TFILE *);
+extern int tfsmemuse(TDEV *,TINFO *,int);
+extern int tfsipmod(char *,char *,int,int);
+extern int tfsclean_nps(TDEV *, char *, unsigned long);
+extern int tfsloadebin(TFILE *,int,long *,char *,int);
+extern int tfsloadebin_l(TFILE *,int,long *,int);
+extern int tfsadd(char *,char *,char *,unsigned char *,int);
+extern int tfsflashwrite(unsigned char *,unsigned char *,long);
+extern int tfsclean(TDEV *,int);
+extern int _tfsclean(TDEV *,int,int);
+extern int tfsautoclean(TDEV *,int);
+extern int (*tfsDocommand)(char *,int);
+extern int dumpDhdr(struct defraghdr *), dumpDhdrTbl(struct defraghdr *,int);
+extern int dumpFhdr(TFILE *);
+extern int tfsRunningMonrc(void);
+extern int tfsramdevice(char *,long,long);
+extern int tfscfg(char *,unsigned long, unsigned long, unsigned long);
+extern int tfscfgrestore(void);
+extern int tfsflagsatob(char *, long *);
+
+
+extern TDEV *gettfsdev_fromprefix(char *,int);
+
+extern TFILE *tfsnext(TFILE *);
+extern TFILE *tfsstat(char *name);
+extern TFILE *_tfsstat(char *name,int uselink);
+extern TFILE *nextfp(TFILE *,TDEV *);
+
+extern long tfstell(int);
+extern long (*tfsGetLtime)(void);
+extern long tfsctrl(int,long,long);
+
+extern unsigned long tfshdrcrc(TFILE *);
+
+extern char *tfsBase(TFILE *);
+extern char *tfserrmsg(int);
+extern char *tfsscriptname(void);
+extern char *tfsflagsbtoa(long,char *);
+extern char *(*tfsGetAtime)(long,char *,int);
+
+extern void tfsclear(TDEV *);
+extern void gototag(char *);
+extern void gosubtag(char *);
+extern void gosubret(char *);
+extern void exitscript(char *);
+extern void tfsstartup(void);
+extern void tfslog(int,char *);
+extern void tfsFacilityUnavailable(char *);
+extern void tfsrunrcfile(void);
#endif