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

📄 usrtffs.c

📁 cpc-1631的BSP包for VxWorks操作系统
💻 C
字号:
/* usrTffs.c - TFFS initialization */

/* Copyright 1992-1997 Wind River Systems, Inc. */

/*
modification history
--------------------
01g,07dec01,nrv  fixed diab warnings
01f,01oct01,yp  merging in T3 version, removed refs to dosFs compatibility layer
01e,02feb99,yp   added function usrTffsLnConfig() to support DOS_OPT_LONGNAMES
01d,01apr98,hdn  moved tffsLoad() back to bootConfig.c.
01c,31dec97,yp   doc cleanup
01b,01dec97,hdn  added tffsLoad() to minimize change to bootConfig.c.
01a,07nov97,hdn  written.
*/

/*
DESCRIPTION
This file is included by bootConfig.c and usrConfig.c. The file contains
routines for configuring a TFFS Flash disk to be used as file system as
with dosFs. The routines are used by the boot process to find and load
vxWorks images. 

SEE ALSO: usrExtra.c

NOMANUAL
*/

#ifndef  __INCusrTffs
#define  __INCusrTffs

/* includes */
#include "dcacheCbio.h"
#include "tffs/tffsDrv.h"
#include "tffs/flsocket.h"

/* forward declarations */


/*******************************************************************************
*
* usrTffsConfig - mount the DOS file system on a TFFS Flash disk
*
* This routine mounts the vxWorks DOS file system on a TFFS Flash drive.
*
* The <drive> parameter is the drive number of the TFFS Flash drive;
* valid values are 0 through the number of socket interfaces in BSP.
*
* The <fileName> parameter is the mount point, e.g., `/tffs0/'.
*
* RETURNS: OK or ERROR.
*
* SEE ALSO:
* .pG "I/O System, Local File Systems"
*/

STATUS usrTffsConfig
    (
    int     drive,	/* drive number of TFFS */
    int     removable,	/* 0 - nonremovable flash media */
    char *  fileName	/* mount point */
    )
    {
    int    dosFsCacheSizeDefault       = 128 * 1024 ;
    CBIO_DEV_ID pCbio;

    BLK_DEV * pBlkDev;
    char devName [BOOT_FILE_LEN];

    if ((UINT)drive >= noOfDrives)
	{
	printErr ("drive is out of range (0-%d).\n", noOfDrives - 1);
	return (ERROR);
	}

    /* create a block device spanning entire disk (non-distructive!) */

    if ((pBlkDev = tffsDevCreate (drive, removable)) == NULL)
	{
        printErr ("tffsDevCreate failed.\n");
        return (ERROR);
	}
	
    /* split off boot device from boot file */

    devSplit (fileName, devName);

    /* initialize the block device as a dosFs device named <devName> */

    /* Create e.g. 128 Kbytes disk cache */

    if ( (pCbio = dcacheDevCreate( (CBIO_DEV_ID) pBlkDev, NULL,
                dosFsCacheSizeDefault, devName)) == NULL )
        return (ERROR);

    if (dosFsDevCreate (devName, pCbio, 0, NONE) != OK)
        return (ERROR);

    return (OK);
    }

/*******************************************************************************
*
* usrTffsLnConfig - mount the DOS file system on a TFFS Flash disk
*
* This routine mounts the vxWorks DOS file system on a TFFS Flash drive with
* long file name support.
*
* OBSOLETE: Version II of dosFs does not need special treatment for supporting 
* long filenames. This routine is provided to support legacy code only and
* will become obsolete soon.
*
* The <drive> parameter is the drive number of the TFFS Flash drive;
* valid values are 0 through the number of socket interfaces in BSP.
*
* The <fileName> parameter is the mount point, e.g., `/tffs0/'.
*
* RETURNS: OK or ERROR.
*
* SEE ALSO:
* .pG "I/O System, Local File Systems"
*
* NOMANUAL
*/

STATUS usrTffsLnConfig
    (
    int     drive,	/* drive number of TFFS */
    int     removable,	/* 0 - nonremovable flash media */
    char *  fileName	/* mount point */
    )
    {
    
    if (usrTffsConfig (drive, removable, fileName) != OK)
	return (ERROR);

    return (OK);
    }
#endif /* __INCusrTffs */

⌨️ 快捷键说明

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