|
Message
From: cvs at opencores.org<cvs@o...>
Date: Fri Jun 23 21:03:47 CEST 2006
Subject: [cvs-checkins] MODIFIED: mb-jpeg ...
Date: 00/06/06 23:21:03 Added: mb-jpeg/microblaze_0/libsrc/xilfatfs_v1_00_a/src/include alloc.h bufcache.h directory.h fat.h fatops.h filespec.h filestatus.h fsinfo.h part.h stats.h sysace.h sysace_stdio.h util.h Log: Updated to EDK8.1 Revision Changes Path 1.1 mb-jpeg/microblaze_0/libsrc/xilfatfs_v1_00_a/src/include/alloc.h http://www.opencores.org/cvsweb.shtml/mb-jpeg/microblaze_0/libsrc/xilfatfs_v1_00_a/src/include/alloc.h?rev=1.1&content-type=text/x-cvsweb-markup Index: alloc.h =================================================================== ///////////////////////////////////////////////////////////////////////// // // Copyright (c) 2004 Xilinx, Inc. All rights reserved. // // Xilinx, Inc. // // XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS" AS A // COURTESY TO YOU. BY PROVIDING THIS DESIGN, CODE, OR INFORMATION AS // ONE POSSIBLE IMPLEMENTATION OF THIS FEATURE, APPLICATION OR // STANDARD, XILINX IS MAKING NO REPRESENTATION THAT THIS IMPLEMENTATION // IS FREE FROM ANY CLAIMS OF INFRINGEMENT, AND YOU ARE RESPONSIBLE // FOR OBTAINING ANY RIGHTS YOU MAY REQUIRE FOR YOUR IMPLEMENTATION. // XILINX EXPRESSLY DISCLAIMS ANY WARRANTY WHATSOEVER WITH RESPECT TO // THE ADEQUACY OF THE IMPLEMENTATION, INCLUDING BUT NOT LIMITED TO // ANY WARRANTIES OR REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE // FROM CLAIMS OF INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY // AND FITNESS FOR A PARTICULAR PURPOSE. // //////////////////////////////////////////////////////////////////////////////// #ifndef __ALLOC_H_ #define __ALLOC_H_ #include "filestatus.h" #include "fat.h" #define MAXWD MAXFILES * 10 FileStatus * malloc_fs(void); void free_fs(FileStatus *fs); WorkingDirectory *malloc_wd(const char *name); void free_wd(WorkingDirectory *wd); #endif 1.1 mb-jpeg/microblaze_0/libsrc/xilfatfs_v1_00_a/src/include/bufcache.h http://www.opencores.org/cvsweb.shtml/mb-jpeg/microblaze_0/libsrc/xilfatfs_v1_00_a/src/include/bufcache.h?rev=1.1&content-type=text/x-cvsweb-markup Index: bufcache.h =================================================================== ///////////////////////////////////////////////////////////////////////// // // Copyright (c) 2004 Xilinx, Inc. All rights reserved. // // Xilinx, Inc. // // XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS" AS A // COURTESY TO YOU. BY PROVIDING THIS DESIGN, CODE, OR INFORMATION AS // ONE POSSIBLE IMPLEMENTATION OF THIS FEATURE, APPLICATION OR // STANDARD, XILINX IS MAKING NO REPRESENTATION THAT THIS IMPLEMENTATION // IS FREE FROM ANY CLAIMS OF INFRINGEMENT, AND YOU ARE RESPONSIBLE // FOR OBTAINING ANY RIGHTS YOU MAY REQUIRE FOR YOUR IMPLEMENTATION. // XILINX EXPRESSLY DISCLAIMS ANY WARRANTY WHATSOEVER WITH RESPECT TO // THE ADEQUACY OF THE IMPLEMENTATION, INCLUDING BUT NOT LIMITED TO // ANY WARRANTIES OR REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE // FROM CLAIMS OF INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY // AND FITNESS FOR A PARTICULAR PURPOSE. // //////////////////////////////////////////////////////////////////////////////// #ifndef __BUFCACHE_H_ #define __BUFCACHE_H_ #include "sysace.h" /* return the index of sector in buffer cache if present, * -1 if sector not in buffer cache */ int is_buffered(unsigned int sector); /* initialize buffer cache. * should be called before any other function to bufcache */ void init_bufcache(int (*ll_write)(UINT32 sector, BYTE *buf)); /* update buffer cache with data for @sector */ int update_bufcache(int sector, unsigned char *sector_buf, int dirty); /* read data for @sector from buffer cache */ int read_bufcache(int sector, unsigned char *sector_buf); /* sync dirty entries to the disk using the low level write function (*ll_write) */
int sync_bufcache();
#endif
1.1 mb-jpeg/microblaze_0/libsrc/xilfatfs_v1_00_a/src/include/directory.h
http://www.opencores.org/cvsweb.shtml/mb-jpeg/microblaze_0/libsrc/xilfatfs_v1_00_a/src/include/directory.h?rev=1.1&content-type=text/x-cvsweb-markup
Index: directory.h
===================================================================
/////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 2002-2004 Xilinx, Inc. All rights reserved.
//
// Xilinx, Inc.
//
// XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS" AS A
// COURTESY TO YOU. BY PROVIDING THIS DESIGN, CODE, OR INFORMATION AS
// ONE POSSIBLE IMPLEMENTATION OF THIS FEATURE, APPLICATION OR
// STANDARD, XILINX IS MAKING NO REPRESENTATION THAT THIS IMPLEMENTATION
// IS FREE FROM ANY CLAIMS OF INFRINGEMENT, AND YOU ARE RESPONSIBLE
// FOR OBTAINING ANY RIGHTS YOU MAY REQUIRE FOR YOUR IMPLEMENTATION.
// XILINX EXPRESSLY DISCLAIMS ANY WARRANTY WHATSOEVER WITH RESPECT TO
// THE ADEQUACY OF THE IMPLEMENTATION, INCLUDING BUT NOT LIMITED TO
// ANY WARRANTIES OR REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE
// FROM CLAIMS OF INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY
// AND FITNESS FOR A PARTICULAR PURPOSE.
/////////////////////////////////////////////////////////////////////////////
#ifndef __DIRECTORY_H_
#define __DIRECTORY_H_
#include "fsinfo.h"
#define DIRENT_SIZE 32 // Directory entry size in bytes
#define LOG2_DIRENT_SIZE 5
/* File attributes */
#define ATTR_ARCHIVE 0x20
#define ATTR_DIRECTORY 0x10
#define ATTR_VOLUME_ID 0x08
#define ATTR_SYSTEM 0x04
#define ATTR_HIDDEN 0x02
#define ATTR_READ_ONLY 0x01
#define ATTR_LONG_NAME (ATTR_READ_ONLY|ATTR_HIDDEN|ATTR_SYSTEM|ATTR_VOLUME_ID)
#define ATTR_LONG_NAME_MASK (ATTR_LONG_NAME|ATTR_DIRECTORY|ATTR_ARCHIVE)
typedef struct _DirectoryEntry {
BYTE Name[8];
BYTE Extension[3];
BYTE Attributes;
BYTE Reserved[8];
BYTE FirstClusterOfFile_hi[2];
BYTE TimeStamp[2];
BYTE Date[2];
BYTE FirstClusterOfFile[2];
BYTE FileSize[4];
} __attribute__((packed)) DirectoryEntry;
/* Pointer to the sector/offset of the directory entry
* corresponding to a file
*/
typedef struct _DirectoryEntryLocation {
UINT32 sector;
UINT32 offset;
} DirectoryEntryLocation;
void update_de_filesize(DirectoryEntry *de, UINT32 filesize);
void update_de_firstcluster(DirectoryEntry *de, UINT32 firstcluster,
PartitionInfo *pi);
#endif
1.1 mb-jpeg/microblaze_0/libsrc/xilfatfs_v1_00_a/src/include/fat.h
http://www.opencores.org/cvsweb.shtml/mb-jpeg/microblaze_0/libsrc/xilfatfs_v1_00_a/src/include/fat.h?rev=1.1&content-type=text/x-cvsweb-markup
Index: fat.h
===================================================================
/////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 2002-2004 Xilinx, Inc. All rights reserved.
//
// Xilinx, Inc.
//
// XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS" AS A
// COURTESY TO YOU. BY PROVIDING THIS DESIGN, CODE, OR INFORMATION AS
// ONE POSSIBLE IMPLEMENTATION OF THIS FEATURE, APPLICATION OR
// STANDARD, XILINX IS MAKING NO REPRESENTATION THAT THIS IMPLEMENTATION
// IS FREE FROM ANY CLAIMS OF INFRINGEMENT, AND YOU ARE RESPONSIBLE
// FOR OBTAINING ANY RIGHTS YOU MAY REQUIRE FOR YOUR IMPLEMENTATION.
// XILINX EXPRESSLY DISCLAIMS ANY WARRANTY WHATSOEVER WITH RESPECT TO
// THE ADEQUACY OF THE IMPLEMENTATION, INCLUDING BUT NOT LIMITED TO
// ANY WARRANTIES OR REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE
// FROM CLAIMS OF INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY
// AND FITNESS FOR A PARTICULAR PURPOSE.
/////////////////////////////////////////////////////////////////////////////
#ifndef __FAT_H_
#define __FAT_H_
#include "sysace.h"
#include "part.h"
#include "directory.h"
#include "fsinfo.h"
#define MAX_BYTES_PER_CLUSTER (32*1024)
#define MAX_FAT12_CLUSTERS 0x0FF5
#define MAX_FAT16_CLUSTERS 0xFFF5
#define MAX_FAT32_CLUSTERS 0x0FFFFFF5
#define FAT12_BAD_CLUSTER 0x0FF7
#define FAT16_BAD_CLUSTER 0xFFF7
#define FAT32_BAD_CLUSTER 0x0FFFFFF7
#define FAT12_EOC 0x0FF8
#define FAT16_EOC 0xFFF8
#define FAT32_EOC 0x0FFFFFF8
/* defined for convenience, not per spec */
#define BAD_CLUSTER 0xFFFFFFFF
/* FAT file system info present in a FAT partition */
typedef struct _BiosParameterBlock {
BYTE BytesPerSector[2];
BYTE SectorsPerCluster;
BYTE ReservedSector[2];
BYTE NumberOfFats;
BYTE RootDirCount[2];
BYTE TotalSectors16[2];
BYTE MediaType;
BYTE SectorsPerFat[2];
BYTE SectorsPerTrack[2];
BYTE NumberOfHeads[2];
BYTE NumberOfHiddenSect[4];
BYTE TotalSectors32[4];
/* following fields are present only in FAT32 */
BYTE SectorsPerFat_32[4];
BYTE ExtFlags[2];
BYTE FSVer[2];
BYTE RootCluster[4];
BYTE FSInfo[2];
BYTE BkBootSector[2];
BYTE Reserved[12];
} __attribute__((packed)) BiosParameterBlock;
/* organization of the first sector of a FAT partition */
typedef struct _PartitionBootRecord {
BYTE JMPCode[3];
BYTE OEMNameVersion[8];
BiosParameterBlock BPB;
BYTE DriverNumber;
BYTE Reserved;
BYTE ExtendBootSig;
BYTE VolID[4];
BYTE VolLable[11];
BYTE FileSysType[8];
BYTE BootCode[420];
BYTE BootCodeSignature[2];
} __attribute__((packed)) PartitionBootRecord;
/* Information about the current working directory */
#define MAXFILENAMESIZE 13 // 8.3 plus a trailing 0
typedef struct _WorkingDirectory {
char name[MAXFILENAMESIZE];
/* If this is null, this is a root directory */
struct _WorkingDirectory *parent;
/* This is a pointer to statically allocated information - never free */
PartitionInfo *pi;
union {
struct { /* These values are only defined for a root directory */
UINT32 StartSector;
UINT16 DirCount;
} root;
struct { /* These values are only defined for a child directory */
UINT32 FirstCluster;
UINT32 FileSize;
DirectoryEntryLocation DirLocation;
} child;
} v;
} WorkingDirectory;
UINT32 next_cluster(UINT32 cluster, PartitionInfo *pi);
UINT32 starting_sector(UINT32 cluster, PartitionInfo *pi);
PartitionInfo *get_partition_info(int partition);
int find_in_directory(WorkingDirectory *wd, const char *name,
const char *ext, UINT32 *firstcluster, UINT32 *filesize,
UINT32 *de_sector, UINT32 *de_offset);
void delete_working_directory_stack(WorkingDirectory *wd);
WorkingDirectory *build_working_directory_stack(const char *path, int is_dir, int is_write);
WorkingDirectory *make_root_directory(int partition);
WorkingDirectory *make_child_directory(const char *name, const char *ext, WorkingDirectory *parent);
WorkingDirectory *copy_directory_stack(WorkingDirectory *stack);
WorkingDirectory *create_file_entry(const char *name, const char *ext,
WorkingDirectory *parent, BYTE attributes);
/* FIXME */
UINT32 allocate_one_cluster(PartitionInfo *pi);
void initialize_de(DirectoryEntry *de, char *name, char *ext,
UINT32 firstcluster, UINT32 filesize, PartitionInfo *pi, BYTE attrib);
int link_cluster(UINT32 from_cluster, UINT32 to_cluster, PartitionInfo *pi);
int truncate_file(UINT32 cluster, PartitionInfo *pi);
UINT32 next_cluster_generic(UINT32 cluster, PartitionInfo * pi);
int free_cluster_chain_generic(UINT32 cluster, PartitionInfo *pi);
UINT32 allocate_one_cluster_generic(PartitionInfo *pi);
int link_cluster_generic(UINT32 from_cluster, UINT32 to_cluster, PartitionInfo *pi);
extern WorkingDirectory *cwd[MAXPARTITION];
extern int DefaultPartition;
extern DirectoryEntry dotdot_entry[2];
#endif
1.1 mb-jpeg/microblaze_0/libsrc/xilfatfs_v1_00_a/src/include/fatops.h
http://www.opencores.org/cvsweb.shtml/mb-jpeg/microblaze_0/libsrc/xilfatfs_v1_00_a/src/include/fatops.h?rev=1.1&content-type=text/x-cvsweb-markup
Index: fatops.h
===================================================================
/////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 2004 Xilinx, Inc. All rights reserved.
//
// Xilinx, Inc.
//
// XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS" AS A
// COURTESY TO YOU. BY PROVIDING THIS DESIGN, CODE, OR INFORMATION AS
// ONE POSSIBLE IMPLEMENTATION OF THIS FEATURE, APPLICATION OR
// STANDARD, XILINX IS MAKING NO REPRESENTATION THAT THIS IMPLEMENTATION
// IS FREE FROM ANY CLAIMS OF INFRINGEMENT, AND YOU ARE RESPONSIBLE
// FOR OBTAINING ANY RIGHTS YOU MAY REQUIRE FOR YOUR IMPLEMENTATION.
// XILINX EXPRESSLY DISCLAIMS ANY WARRANTY WHATSOEVER WITH RESPECT TO
// THE ADEQUACY OF THE IMPLEMENTATION, INCLUDING BUT NOT LIMITED TO
// ANY WARRANTIES OR REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE
// FROM CLAIMS OF INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY
// AND FITNESS FOR A PARTICULAR PURPOSE.
/////////////////////////////////////////////////////////////////////////////
#ifndef __FAT_OPS_H_
#define __FAT_OPS_H_
#include <sysace.h>
/* forward reference */
struct _PartitionInfo;
typedef struct _fat_ops {
UINT32 (*get_fat_sector_for_cluster)(UINT32 cluster, struct _PartitionInfo *pi);
UINT32 (*get_fat_offset_for_cluster)(UINT32 cluster, struct _PartitionInfo *pi);
UINT32 (*get_next_cluster)(BYTE *fat_entry, struct _PartitionInfo *pi);
void (*set_next_cluster)(BYTE *fat_entry, UINT32 next_cluster, struct _PartitionInfo *pi);
int (*is_eoc)(UINT32 cluster, struct _PartitionInfo *pi);
int (*is_valid_cluster)(UINT32 cluster, struct _PartitionInfo *pi);
UINT32 (*next_cluster)(UINT32 cluster, struct _PartitionInfo * pi);
int (*free_cluster_chain)(UINT32 cluster, struct _PartitionInfo *pi);
UINT32 (*allocate_one_cluster)(struct _PartitionInfo *pi);
int (*link_cluster)(UINT32 from_cluster, UINT32 to_cluster, struct _PartitionInfo *pi);
} fat_ops;
extern fat_ops fat12_ops, fat16_ops, fat32_ops;
#endif
1.1 mb-jpeg/microblaze_0/libsrc/xilfatfs_v1_00_a/src/include/filespec.h
http://www.opencores.org/cvsweb.shtml/mb-jpeg/microblaze_0/libsrc/xilfatfs_v1_00_a/src/include/filespec.h?rev=1.1&content-type=text/x-cvsweb-markup
Index: filespec.h
===================================================================
/////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 2002-2004 Xilinx, Inc. All rights reserved.
//
// Xilinx, Inc.
//
// XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS" AS A
// COURTESY TO YOU. BY PROVIDING THIS DESIGN, CODE, OR INFORMATION AS
// ONE POSSIBLE IMPLEMENTATION OF THIS FEATURE, APPLICATION OR
// STANDARD, XILINX IS MAKING NO REPRESENTATION THAT THIS IMPLEMENTATION
// IS FREE FROM ANY CLAIMS OF INFRINGEMENT, AND YOU ARE RESPONSIBLE
// FOR OBTAINING ANY RIGHTS YOU MAY REQUIRE FOR YOUR IMPLEMENTATION.
// XILINX EXPRESSLY DISCLAIMS ANY WARRANTY WHATSOEVER WITH RESPECT TO
// THE ADEQUACY OF THE IMPLEMENTATION, INCLUDING BUT NOT LIMITED TO
// ANY WARRANTIES OR REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE
// FROM CLAIMS OF INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY
// AND FITNESS FOR A PARTICULAR PURPOSE.
////////////////////////////////////////////////////////////////////////////
// Directory separator
#define DIRSEPCHAR '\\'
#define DIRSEPSTRING "\\"
typedef enum _field_type { PATH_START, DEVICE_NAME, DIR_NAME,
FILE_NAME, FILE_EXT, PATH_ERROR, PATH_DONE } field_type;
int parse_path( const char *path, char *buf, int length, int is_dir, field_type *type );
1.1 mb-jpeg/microblaze_0/libsrc/xilfatfs_v1_00_a/src/include/filestatus.h
http://www.opencores.org/cvsweb.shtml/mb-jpeg/microblaze_0/libsrc/xilfatfs_v1_00_a/src/include/filestatus.h?rev=1.1&content-type=text/x-cvsweb-markup
Index: filestatus.h
===================================================================
/////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 2004 Xilinx, Inc. All rights reserved.
//
// Xilinx, Inc.
//
// XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS" AS A
// COURTESY TO YOU. BY PROVIDING THIS DESIGN, CODE, OR INFORMATION AS
// ONE POSSIBLE IMPLEMENTATION OF THIS FEATURE, APPLICATION OR
// STANDARD, XILINX IS MAKING NO REPRESENTATION THAT THIS IMPLEMENTATION
// IS FREE FROM ANY CLAIMS OF INFRINGEMENT, AND YOU ARE RESPONSIBLE
// FOR OBTAINING ANY RIGHTS YOU MAY REQUIRE FOR YOUR IMPLEMENTATION.
// XILINX EXPRESSLY DISCLAIMS ANY WARRANTY WHATSOEVER WITH RESPECT TO
// THE ADEQUACY OF THE IMPLEMENTATION, INCLUDING BUT NOT LIMITED TO
// ANY WARRANTIES OR REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE
// FROM CLAIMS OF INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY
// AND FITNESS FOR A PARTICULAR PURPOSE.
//
////////////////////////////////////////////////////////////////////////////////
#ifndef __FILESTATUS_H_
#define __FILESTATUS_H_
#include "fat.h"
#include "sysace_stdio.h"
typedef struct _FileStatus {
WorkingDirectory *wd;
BYTE read;
BYTE write;
UINT32 CurrentCluster;
UINT32 PositionInCluster; // Bytes from start of cluster
UINT32 PositionInFile; // Bytes from start of file
struct _FileStatus *next;
int reserved; // Reserved for allocation code
} FileStatus;
FileStatus *find_file_status(SYSACE_FILE *stream);
FileStatus *create_file_status(WorkingDirectory * wd,
BYTE read, BYTE write);
int delete_file_status(FileStatus * status);
#endif
1.1 mb-jpeg/microblaze_0/libsrc/xilfatfs_v1_00_a/src/include/fsinfo.h
http://www.opencores.org/cvsweb.shtml/mb-jpeg/microblaze_0/libsrc/xilfatfs_v1_00_a/src/include/fsinfo.h?rev=1.1&content-type=text/x-cvsweb-markup
Index: fsinfo.h
===================================================================
/////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 2002-2004 Xilinx, Inc. All rights reserved.
//
// Xilinx, Inc.
//
// XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS" AS A
// COURTESY TO YOU. BY PROVIDING THIS DESIGN, CODE, OR INFORMATION AS
// ONE POSSIBLE IMPLEMENTATION OF THIS FEATURE, APPLICATION OR
// STANDARD, XILINX IS MAKING NO REPRESENTATION THAT THIS IMPLEMENTATION
// IS FREE FROM ANY CLAIMS OF INFRINGEMENT, AND YOU ARE RESPONSIBLE
// FOR OBTAINING ANY RIGHTS YOU MAY REQUIRE FOR YOUR IMPLEMENTATION.
// XILINX EXPRESSLY DISCLAIMS ANY WARRANTY WHATSOEVER WITH RESPECT TO
// THE ADEQUACY OF THE IMPLEMENTATION, INCLUDING BUT NOT LIMITED TO
// ANY WARRANTIES OR REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE
// FROM CLAIMS OF INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY
// AND FITNESS FOR A PARTICULAR PURPOSE.
/////////////////////////////////////////////////////////////////////////////
#ifndef __FSINFO_H_
#define __FSINFO_H_
#include <fatops.h>
/* Structures for internal use */
typedef enum _FSType { FAT12, FAT16, FAT32 } FSType;
/* This hold pertinent information about a partition.
* This can only be created if the partition is FAT
* and all parameters are valid.
*/
typedef struct _PartitionInfo {
int PartitionNum;
UINT32 StartSector;
UINT32 TotalSectors;
UINT16 BytesPerSector;
BYTE SectorsPerCluster;
UINT32 SectorsPerFat;
BYTE NumberOfFats;
UINT16 RootDirCount;
UINT32 FatSector;
UINT32 RootDirSector;
UINT32 DataSector;
FSType FatType;
UINT32 RootCluster; /* used only for FAT32 */
fat_ops *op;
} PartitionInfo;
#endif
1.1 mb-jpeg/microblaze_0/libsrc/xilfatfs_v1_00_a/src/include/part.h
http://www.opencores.org/cvsweb.shtml/mb-jpeg/microblaze_0/libsrc/xilfatfs_v1_00_a/src/include/part.h?rev=1.1&content-type=text/x-cvsweb-markup
Index: part.h
===================================================================
/////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 2002-2004 Xilinx, Inc. All rights reserved.
//
// Xilinx, Inc.
//
// XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS" AS A
// COURTESY TO YOU. BY PROVIDING THIS DESIGN, CODE, OR INFORMATION AS
// ONE POSSIBLE IMPLEMENTATION OF THIS FEATURE, APPLICATION OR
// STANDARD, XILINX IS MAKING NO REPRESENTATION THAT THIS IMPLEMENTATION
// IS FREE FROM ANY CLAIMS OF INFRINGEMENT, AND YOU ARE RESPONSIBLE
// FOR OBTAINING ANY RIGHTS YOU MAY REQUIRE FOR YOUR IMPLEMENTATION.
// XILINX EXPRESSLY DISCLAIMS ANY WARRANTY WHATSOEVER WITH RESPECT TO
// THE ADEQUACY OF THE IMPLEMENTATION, INCLUDING BUT NOT LIMITED TO
// ANY WARRANTIES OR REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE
// FROM CLAIMS OF INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY
// AND FITNESS FOR A PARTICULAR PURPOSE.
/////////////////////////////////////////////////////////////////////////////
#ifndef __PART_H_
#define __PART_H_
#define MAXPARTITION 4 /* Maximum number of partitions */
typedef struct _PartitionEntry {
BYTE x86DefaultBP;
BYTE startHead;
BYTE StartSector;
BYTE StartCyclinder;
BYTE PartitionEntryType; /* Describes Partition Type FAT12, 16 */
BYTE EndHead;
BYTE EndSector;
BYTE EndCyclinder;
BYTE PartitionSector[4];
BYTE TotalSectors[4]; /* partition size */
} __attribute__((packed)) PartitionEntry;
typedef struct _MasterBootRecord {
BYTE BootCode[446];
PartitionEntry PartitionEntry[MAXPARTITION];
BYTE Signature[2];
} __attribute__((packed)) MasterBootRecord;
#endif
1.1 mb-jpeg/microblaze_0/libsrc/xilfatfs_v1_00_a/src/include/stats.h
http://www.opencores.org/cvsweb.shtml/mb-jpeg/microblaze_0/libsrc/xilfatfs_v1_00_a/src/include/stats.h?rev=1.1&content-type=text/x-cvsweb-markup
Index: stats.h
===================================================================
/////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 2004 Xilinx, Inc. All rights reserved.
//
// Xilinx, Inc.
//
// XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS" AS A
// COURTESY TO YOU. BY PROVIDING THIS DESIGN, CODE, OR INFORMATION AS
// ONE POSSIBLE IMPLEMENTATION OF THIS FEATURE, APPLICATION OR
// STANDARD, XILINX IS MAKING NO REPRESENTATION THAT THIS IMPLEMENTATION
// IS FREE FROM ANY CLAIMS OF INFRINGEMENT, AND YOU ARE RESPONSIBLE
// FOR OBTAINING ANY RIGHTS YOU MAY REQUIRE FOR YOUR IMPLEMENTATION.
// XILINX EXPRESSLY DISCLAIMS ANY WARRANTY WHATSOEVER WITH RESPECT TO
// THE ADEQUACY OF THE IMPLEMENTATION, INCLUDING BUT NOT LIMITED TO
// ANY WARRANTIES OR REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE
// FROM CLAIMS OF INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY
// AND FITNESS FOR A PARTICULAR PURPOSE.
//
////////////////////////////////////////////////////////////////////////////////
#ifndef __STATS_H_
#define __STATS_H_
extern unsigned int xilfatfs_stats_read;
extern unsigned int xilfatfs_stats_write;
extern void init_xilfatfs_stats();
extern void dump_xilfatfs_stats();
#endif
1.1 mb-jpeg/microblaze_0/libsrc/xilfatfs_v1_00_a/src/include/sysace.h
http://www.opencores.org/cvsweb.shtml/mb-jpeg/microblaze_0/libsrc/xilfatfs_v1_00_a/src/include/sysace.h?rev=1.1&content-type=text/x-cvsweb-markup
Index: sysace.h
===================================================================
/////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 2003, 2004 Xilinx, Inc. All rights reserved.
//
// Xilinx, Inc.
//
// XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS" AS A
// COURTESY TO YOU. BY PROVIDING THIS DESIGN, CODE, OR INFORMATION AS
// ONE POSSIBLE IMPLEMENTATION OF THIS FEATURE, APPLICATION OR
// STANDARD, XILINX IS MAKING NO REPRESENTATION THAT THIS IMPLEMENTATION
// IS FREE FROM ANY CLAIMS OF INFRINGEMENT, AND YOU ARE RESPONSIBLE
// FOR OBTAINING ANY RIGHTS YOU MAY REQUIRE FOR YOUR IMPLEMENTATION.
// XILINX EXPRESSLY DISCLAIMS ANY WARRANTY WHATSOEVER WITH RESPECT TO
// THE ADEQUACY OF THE IMPLEMENTATION, INCLUDING BUT NOT LIMITED TO
// ANY WARRANTIES OR REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE
// FROM CLAIMS OF INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY
// AND FITNESS FOR A PARTICULAR PURPOSE.
//////////////////////////////////////////////////////////////////////////
#ifndef __SYSACE_H__
#define __SYSACE_H__
typedef unsigned char BYTE;
typedef unsigned short UINT16;
typedef unsigned long UINT32;
#define SECTORSIZE 512 // sector size in bytes
/* interface functions to SystemAce */
int init_ace();
int read_sector(UINT32 sector, BYTE *pSectorBuffer );
int write_sector(UINT32 sector, BYTE *pSectorBuffer );
#define make_UINT16(b1, b0) ( ((b1)<<8) | (b0) )
#define make_UINT32(b3, b2, b1, b0) ( ((b3)<<24) | ((b2)<<16) | ((b1)<<8) | (b0) )
#define write_UINT32(addr, val) do { \
*((BYTE *)addr) = ((BYTE)val&0xff); \
*(((BYTE *)addr) + 1) = ((BYTE)(val>>8)&0xff); \
*(((BYTE *)addr) + 2) = ((BYTE)(val>>16)&0xff); \
*(((BYTE *)addr) + 3) = ((BYTE)(val>>24)&0xff); \
} while (0);
#define write_UINT16(addr, val) do { \
*((BYTE *)addr) = ((BYTE)val&0xff); \
*(((BYTE *)addr) + 1) = ((BYTE)(val>>8)&0xff); \
} while (0);
#endif /* __SYSACE_H__ */
1.1 mb-jpeg/microblaze_0/libsrc/xilfatfs_v1_00_a/src/include/sysace_stdio.h
http://www.opencores.org/cvsweb.shtml/mb-jpeg/microblaze_0/libsrc/xilfatfs_v1_00_a/src/include/sysace_stdio.h?rev=1.1&content-type=text/x-cvsweb-markup
Index: sysace_stdio.h
===================================================================
/////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 2002-2004 Xilinx, Inc. All rights reserved.
//
// Xilinx, Inc.
//
// XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS" AS A
// COURTESY TO YOU. BY PROVIDING THIS DESIGN, CODE, OR INFORMATION AS
// ONE POSSIBLE IMPLEMENTATION OF THIS FEATURE, APPLICATION OR
// STANDARD, XILINX IS MAKING NO REPRESENTATION THAT THIS IMPLEMENTATION
// IS FREE FROM ANY CLAIMS OF INFRINGEMENT, AND YOU ARE RESPONSIBLE
// FOR OBTAINING ANY RIGHTS YOU MAY REQUIRE FOR YOUR IMPLEMENTATION.
// XILINX EXPRESSLY DISCLAIMS ANY WARRANTY WHATSOEVER WITH RESPECT TO
// THE ADEQUACY OF THE IMPLEMENTATION, INCLUDING BUT NOT LIMITED TO
// ANY WARRANTIES OR REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE
// FROM CLAIMS OF INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY
// AND FITNESS FOR A PARTICULAR PURPOSE.
/////////////////////////////////////////////////////////////////////////////
#ifndef _SYSACE_STDIO_H_
#define _SYSACE_STDIO_H_
#define SYSACE_FILE void
#include <stdio.h>
// IF YOU WANT TO USE fopen instead of sysace_fopen,
// and fclose, fread and fwrite instead of the corresponding
// sysace_ prefixed function names uncomment the following few lines
// and comment out the preceding two lines of code
// WARNING: This will cause link time failures for functions
// such as printf and scanf that depend on standard definitions of fwrite/fread
// so use with caution
// #define SYSACE_FILE FILE
// typedef void FILE;
//
// #define fopen sysace_fopen
// #define fclose sysace_fclose
// #define fread sysace_fread
// #define fwrite sysace_fwrite
SYSACE_FILE *sysace_fopen(const char *file, const char *mode );
int sysace_fclose(SYSACE_FILE *stream );
int sysace_fread(void *buffer, int size, int count, SYSACE_FILE *stream );
int sysace_fwrite(void *buffer, int size, int count, SYSACE_FILE *stream );
int sysace_mkdir(const char *path);
int sysace_chdir(const char *path);
#endif
1.1 mb-jpeg/microblaze_0/libsrc/xilfatfs_v1_00_a/src/include/util.h
http://www.opencores.org/cvsweb.shtml/mb-jpeg/microblaze_0/libsrc/xilfatfs_v1_00_a/src/include/util.h?rev=1.1&content-type=text/x-cvsweb-markup
Index: util.h
===================================================================
/////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 2004 Xilinx, Inc. All rights reserved.
//
// Xilinx, Inc.
//
// XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS" AS A
// COURTESY TO YOU. BY PROVIDING THIS DESIGN, CODE, OR INFORMATION AS
// ONE POSSIBLE IMPLEMENTATION OF THIS FEATURE, APPLICATION OR
// STANDARD, XILINX IS MAKING NO REPRESENTATION THAT THIS IMPLEMENTATION
// IS FREE FROM ANY CLAIMS OF INFRINGEMENT, AND YOU ARE RESPONSIBLE
// FOR OBTAINING ANY RIGHTS YOU MAY REQUIRE FOR YOUR IMPLEMENTATION.
// XILINX EXPRESSLY DISCLAIMS ANY WARRANTY WHATSOEVER WITH RESPECT TO
// THE ADEQUACY OF THE IMPLEMENTATION, INCLUDING BUT NOT LIMITED TO
// ANY WARRANTIES OR REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE
// FROM CLAIMS OF INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY
// AND FITNESS FOR A PARTICULAR PURPOSE.
/////////////////////////////////////////////////////////////////////////////
#ifndef __STANDALONE_UTILS_H_
#define __STANDALONE_UTILS_H_
#ifdef TESTING_XILFATFS
int printf(char *, ...);
#define xil_printf printf
#define print printf
#define debug_xil_printf(format, ...) printf(format, __VA_ARGS__)
#define debug_print(format) printf(format)
#define debug_putnum(num) printf("%x\n", num)
#else
#define debug_xil_printf(...)
#define debug_print(...)
#define debug_putnum(...)
#endif
#endif
|
 |