⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 file.c

📁 ST5518机顶盒系统文件系统源代码!绝对超值!
💻 C
📖 第 1 页 / 共 2 页
字号:
            if (ST_NO_ERROR != STAVFS_DeleteFile (Handle, STAVFS_NULL_FILE_HANDLE, "fred"))            {                STTBX_Print(("Error deleting file\n"));                Result = TEST_FAILED;            }        }        	if (ST_NO_ERROR != STAVFS_Close (Handle))	{	    STTBX_Print (("Error Closing partition 3\n"));	    Result = TEST_FAILED;	} else        if (ST_NO_ERROR != STAVFS_Term("Dev1", &TermParams))        {            STTBX_Print(("Termination failed\n"));            Result = TEST_FAILED;        }    }        return(Result);}/******************************************************************************Function Name : Create  Description : Formats the partition. Simple test to create a new file (testing new structures)   Parameters :******************************************************************************/static TestResult_t Create(int TestNo, TestVariant_t Variant){    TestResult_t                Result = TEST_PASSED;    STAVFS_InitParams_t         InitParams;    STAVFS_OpenParams_t         OpenParams;    STAVFS_Handle_t             Handle;    STAVFS_TermParams_t         TermParams;    U32                         DataWritten;    TermParams.Flags             = 0;        strcpy(InitParams.EVTName,   EVT_DEVICE_NAME);    strcpy(InitParams.ATAPIName, ATAPI_DEVICE_NAME);        InitParams.Flags             = 0;    InitParams.MemoryPartition   = system_partition;    InitParams.Protocol          = 1;    InitParams.UnitNumber        = 0;    InitParams.PartitionNumber   = 0;    OpenParams.Flags             = 0;    	       if (ST_NO_ERROR != STAVFS_Init("Dev1", &InitParams))    {        STTBX_Print(("First initialisation failed\n"));        Result = TEST_FAILED;    }    else    {               if (ST_NO_ERROR != STAVFS_Open ("Dev1", &OpenParams, &Handle))        {            STTBX_Print(("Opening a volume on the device failed\n"));            Result = TEST_FAILED;        }        else        {            STAVFS_FileHandle_t Handle1;	    STAVFS_FileHandle_t Handle2;            U64 FileSize;	    	    /*    if(ST_NO_ERROR != STAVFS_ResetPartition(Handle))	    {	        STTBX_Print(("Failed to format partition\n"));		}	    */	    	    /* STAVFS_DisplayFiles(Handle);*/	               /* Create a file of a given size */             I64_SetValue(sizeof(StdData), 1, FileSize);            if (ST_NO_ERROR != STAVFS_OpenFile(Handle, STAVFS_NULL_FILE_HANDLE, "fred", STAVFS_WRITE_MODE, FileSize, &Handle1))            {                STTBX_Print(("Error opening file\n"));                Result = TEST_FAILED;            }	    if (ST_NO_ERROR != STAVFS_OpenFile(Handle, STAVFS_NULL_FILE_HANDLE, "fred", STAVFS_READ_MODE, FileSize, &Handle2))            {                STTBX_Print(("Error opening file\n"));                Result = TEST_FAILED;	    }		    if (ST_NO_ERROR != STAVFS_WriteFile(Handle1, StdData, sizeof(StdData), &DataWritten))            {                STTBX_Print(("Error writing\n"));                Result = TEST_FAILED;	    }   	    if (ST_NO_ERROR != STAVFS_CloseFile(Handle1))            {                STTBX_Print(("Error closing\n"));                Result = TEST_FAILED;	    }	    if (ST_NO_ERROR != STAVFS_CloseFile(Handle2))            {                STTBX_Print(("Error closing\n"));                Result = TEST_FAILED;	    }	 	    /*STAVFS_DisplayFiles(Handle);*/	         	    /* Now try to delete the file */ 	    if (ST_NO_ERROR != STAVFS_DeleteFile(Handle, STAVFS_NULL_FILE_HANDLE, "fred"))	    {	        STTBX_Print(("Unable to delete the file\n"));		Result = TEST_FAILED;	    }        }        	if (ST_NO_ERROR != STAVFS_Close (Handle))	{	    STTBX_Print (("Error Closing partition 3\n"));	    Result = TEST_FAILED;	} else        if (ST_NO_ERROR != STAVFS_Term("Dev1", &TermParams))        {            STTBX_Print(("Termination failed\n"));            Result = TEST_FAILED;        }    }        return(Result);}/******************************************************************************Function Name : Delete / Open / defrag  Description : Tests the new open / delete and defrag routines.   Parameters :******************************************************************************/static TestResult_t Defrag(int TestNo, TestVariant_t Variant){    TestResult_t                Result = TEST_PASSED;    STAVFS_InitParams_t         InitParams;    STAVFS_OpenParams_t         OpenParams;    STAVFS_Handle_t             Handle;    STAVFS_TermParams_t         TermParams;    U32                         DataWritten;    TermParams.Flags             = 0;        strcpy(InitParams.EVTName,   EVT_DEVICE_NAME);    strcpy(InitParams.ATAPIName, ATAPI_DEVICE_NAME);        InitParams.Flags             = 0;    InitParams.MemoryPartition   = system_partition;    InitParams.Protocol          = 1;    InitParams.UnitNumber        = 0;    InitParams.PartitionNumber   = 3;    OpenParams.Flags             = 0;    	       if (ST_NO_ERROR != STAVFS_Init("Dev1", &InitParams))    {        STTBX_Print(("First initialisation failed\n"));        Result = TEST_FAILED;    }    else    {               if (ST_NO_ERROR != STAVFS_Open ("Dev1", &OpenParams, &Handle))        {            STTBX_Print(("Opening a volume on the device failed\n"));            Result = TEST_FAILED;        }        else        {            STAVFS_FileHandle_t Handle1;            U64 FileSize;	    U32 DataRead;	    	    if(ST_NO_ERROR != STAVFS_ResetPartition (Handle))	    {	         STTBX_Print(("Could not reset the partition\n"));		 Result = TEST_FAILED;	    } else {	         /* STAVFS_DisplayFiles(Handle); */	         /* Create a file of a given size */		 I64_SetValue(sizeof(StdData), 1, FileSize);		 if (ST_NO_ERROR != STAVFS_OpenFile(Handle, STAVFS_NULL_FILE_HANDLE, "fred", STAVFS_WRITE_MODE, FileSize, &Handle1))		 {		      STTBX_Print(("Error opening file\n"));		      Result = TEST_FAILED;		 }				 if (ST_NO_ERROR != STAVFS_CloseFile(Handle1))		 {		      STTBX_Print(("Error closing\n"));		      Result = TEST_FAILED;		 }		 /* Create 2nd file of a given size */		 I64_SetValue((sizeof(StdData)*5), 1, FileSize);		 if (ST_NO_ERROR != STAVFS_OpenFile(Handle, STAVFS_NULL_FILE_HANDLE, "bob", STAVFS_WRITE_MODE, FileSize, &Handle1))		 {		      STTBX_Print(("Error opening file\n"));		      Result = TEST_FAILED;		 }	    		 if (ST_NO_ERROR != STAVFS_CloseFile(Handle1))		 {		      STTBX_Print(("Error closing\n"));		      Result = TEST_FAILED;		 }		 /* Create 3rd file of a given size */		 I64_SetValue(sizeof(StdData), 1, FileSize);		 if (ST_NO_ERROR != STAVFS_OpenFile(Handle, STAVFS_NULL_FILE_HANDLE, "jim", STAVFS_WRITE_MODE, FileSize, &Handle1))		 {		      STTBX_Print(("Error opening file\n"));		      Result = TEST_FAILED;		 }	    		 if (ST_NO_ERROR != STAVFS_CloseFile(Handle1))		 {		      STTBX_Print(("Error closing\n"));		      Result = TEST_FAILED;		 }		 /* Create 4rd file of a given size */		 if (ST_NO_ERROR != STAVFS_OpenFile(Handle, STAVFS_NULL_FILE_HANDLE, "bill", STAVFS_WRITE_MODE, FileSize, &Handle1))		 {		      STTBX_Print(("Error opening file\n"));		      Result = TEST_FAILED;		 }	    		 if (ST_NO_ERROR != STAVFS_CloseFile(Handle1))		 {		      STTBX_Print(("Error closing\n"));		      Result = TEST_FAILED;		 }		 /* Open an already created file for writing */		 if (ST_NO_ERROR != STAVFS_OpenFile(Handle, STAVFS_NULL_FILE_HANDLE, "jim", STAVFS_WRITE_MODE, FileSize, &Handle1))		 {		      STTBX_Print(("Error opening file\n"));		      Result = TEST_FAILED;		 }		 if (ST_NO_ERROR != STAVFS_WriteFile(Handle1, StdData, sizeof(StdData), &DataWritten))                 {		      STTBX_Print(("Error writing\n"));                      Result = TEST_FAILED;                 }		 if (ST_NO_ERROR != STAVFS_CloseFile(Handle1))		 {		     STTBX_Print(("Error closing\n"));		     Result = TEST_FAILED;		 }	    		 /* Now delete an earlier file */		 if (ST_NO_ERROR != STAVFS_DeleteFile(Handle, STAVFS_NULL_FILE_HANDLE, "bob"))		 {		      STTBX_Print(("Unable to delete the file\n"));		      Result = TEST_FAILED;		 }		 /* Create 5th file of a given size */		 if (ST_NO_ERROR != STAVFS_OpenFile(Handle, STAVFS_NULL_FILE_HANDLE, "tim", STAVFS_WRITE_MODE, FileSize, &Handle1))		 {		      STTBX_Print(("Error opening file\n"));		      Result = TEST_FAILED;		 }	    		 if (ST_NO_ERROR != STAVFS_CloseFile(Handle1))		 {		      STTBX_Print(("Error closing\n"));		      Result = TEST_FAILED;		 }		 /* Defrag the partition */		 if(ST_NO_ERROR != STAVFS_FileSystemDefragmentation (Handle))		 {		        STTBX_Print(("Could not defrag the partition\n"));			Result = TEST_FAILED;		 }	     		 /* Test the contents a file after it has been moved in defrag */		 if (ST_NO_ERROR != STAVFS_OpenFile(Handle, STAVFS_NULL_FILE_HANDLE, "jim", STAVFS_READ_MODE, FileSize, &Handle1))		 {		      STTBX_Print(("Error opening file\n"));		      Result = TEST_FAILED;		 }		 if (ST_NO_ERROR != STAVFS_ReadFile(Handle1, Buffer, sizeof(StdData), &DataRead))		 {		      STTBX_Print(("Error reading\n"));		      Result = TEST_FAILED;		 }           		 if (ST_NO_ERROR != STAVFS_CloseFile(Handle1))		 {		     STTBX_Print(("Error closing\n"));		     Result = TEST_FAILED;		 }                          		 if (DataRead != sizeof(StdData))		 {		      STTBX_Print(("Data missing %d %d\n", DataRead, sizeof(StdData)));		      Result = TEST_FAILED;		 }          		 if (0 != memcmp(StdData, Buffer, sizeof(StdData)))		 {		      STTBX_Print(("Data corrupted\n"));		      Result = TEST_FAILED;		 }	    } 	    if (ST_NO_ERROR != STAVFS_Close (Handle))	    {	        STTBX_Print (("Error Closing partition 3\n"));	        Result = TEST_FAILED;	    }	}            	if (ST_NO_ERROR != STAVFS_Term("Dev1", &TermParams))        {            STTBX_Print(("Termination failed\n"));            Result = TEST_FAILED;        }	    }    return(Result);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -