Changeset 310


Ignore:
Timestamp:
Sep 17, 2017, 12:25:38 AM (3 years ago)
Author:
Valery V. Sedletski
Message:

fat32.ifs: Preliminary changes for /eas2 switch (ea data. sf support).

Location:
trunk/src
Files:
1 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/ifs/fat32a.c

    r304 r310  
    19641964      if (p)
    19651965         f32Parms.fEAS = TRUE;
     1966
     1967      p = strstr(szArguments, "/eas2");
     1968      if (!p)
     1969         p = strstr(szArguments, "-eas2");
     1970      if (p)
     1971         f32Parms.fEAS2 = TRUE;
    19661972
    19671973      p = strstr( szArguments, "/h");
  • trunk/src/ifs/ifsea.c

    r304 r310  
    1717
    1818
     19USHORT usCopyEAS2(PVOLINFO pVolInfo, ULONG ulSrcDirCluster, PSZ pszSrcFile, PSHOPENINFO pDirSrcSHInfo,
     20                  ULONG ulTarDirCluster, PSZ pszTarFile, PSHOPENINFO pDirTarSHInfo);
     21
    1922PRIVATE PFEA   FindEA(PFEALIST pFeal, PSZ pszName, USHORT usMaxName);
    2023PRIVATE USHORT usReadEAS(PVOLINFO pVolInfo, ULONG ulDirCluster, PSHOPENINFO pDirSHInfo, PSZ pszFileName, PFEALIST * ppFEAL, BOOL fCreate);
    2124PRIVATE USHORT usWriteEAS(PVOLINFO pVolInfo, ULONG ulDirCluster, PSHOPENINFO pDirSHInfo, PSZ pszFileName, PFEALIST pFEAL);
    2225PRIVATE USHORT GetEASName(PVOLINFO pVolInfo, ULONG ulDirCluster, PSHOPENINFO pDirSHInfo, PSZ pszFileName, PSZ * pszEASName);
     26
     27extern F32PARMS f32Parms;
    2328
    2429
     
    450455#endif
    451456
     457   if (f32Parms.fEAS2)
     458      {
     459      rc = usCopyEAS2(pVolInfo, ulSrcDirCluster, pszSrcFile, pDirSrcSHInfo,
     460                      ulTarDirCluster, pszTarFile, pDirTarSHInfo);
     461      goto usCopyEASExit;
     462      }
     463
    452464   rc = GetEASName(pVolInfo, ulSrcDirCluster, pDirSrcSHInfo, pszSrcFile, &pszSrcEAName);
    453465   if (rc)
  • trunk/src/ifs/makefile.wcc

    r301 r310  
    4040     $(PROJ_BLD)\ifsmem.obj &
    4141     $(PROJ_BLD)\ifsea.obj &
     42     $(PROJ_BLD)\ifsea2.obj &
    4243     $(PROJ_BLD)\ifslang.obj &
    4344     $(PROJ_BLD)\ifsachk.obj &
  • trunk/src/include/fat32def.h

    r303 r310  
    297297USHORT fMessageActive;
    298298USHORT fEAS;
     299BYTE   fEAS2;
    299300BYTE   szVersion[10];
    300301
     
    527528} CDINFO, *PCDINFO;
    528529
     530//
     531// 'ea data. sf' defs:
     532//
     533
     534#define EADATA_MAGIC 0xDE
     535#define EA_MAGIC     0xAE
     536
     537#define BASE_TBL_ENTRIES       240
     538#define HANDLES_PER_BASE_ENTRY 128
     539#define EA_HANDLE_UNUSED       0xffff
     540
     541#define EA_DATA_FILE  "EA DATA. SF"
     542#define EA_IDX_FILE   "EA IDX. SF"
     543
     544typedef struct _EA_INDEX_REC
     545{
     546ULONG  ulCluster;
     547USHORT usEAHandle;
     548USHORT usResvd;
     549} EA_INDEX_REC, *PEA_INDEX_REC;
     550
     551typedef struct _EADATA_HEADER
     552{
     553USHORT eh_sig;                        // EADATA_MAGIC
     554USHORT eh_resvd1;                     // zeroes
     555USHORT eh_resvd2[14];                 // zeroes
     556USHORT eh_base_tbl[BASE_TBL_ENTRIES]; // base table
     557USHORT eh_offset_tbl[1];              // offset table
     558} EADATA_HEADER;
     559
     560typedef struct _EADATA_ENTRY
     561{
     562USHORT  ea_sig;           // EA_MAGIC
     563USHORT  ea_handle;        // EA handle of this entry
     564ULONG   ea_crit_eas;      // number of critical EAS
     565BYTE    ea_filename[14];  // our own filename
     566ULONG   ea_strt_clus;     // starting cluster of oriinal file (it is zero in IBM's FAT, but not in ours)
     567FEALIST ea_feal;          // EA data (FEALIST structure follows)
     568} EADATA_ENTRY, *PEADATA_ENTRY;
     569
    529570#pragma pack()
    530571
    531 
    532 
    533 
    534 #endif
     572#endif
Note: See TracChangeset for help on using the changeset viewer.