General utility routines used by the PHAT file system. More...
Functions | |
| void | GetDosTimeStamp (uint16_t *dostim, uint16_t *dosdat) |
| Create a DOS timestamp of the current time and date. | |
| int | MakePhatName (const char *src, uint8_t *dst) |
| Convert filename to a directory entry name. | |
| void | MakeVisibleName (const uint8_t *src, char *dst) |
| Convert a directory entry name to a visible file name. | |
| char * | GetParentPath (const char *path, const char **comp) |
| Chop off the last component of a path. | |
| int | IsFixedRootDir (NUTFILE *ndp) |
| Test for PHAT12/PHAT16 root directory. | |
| void | PhatFilePosRewind (PHATFILE *fcb) |
| Set file pointer back to zero. | |
| int | PhatFilePosSet (NUTFILE *nfp, uint32_t pos) |
| Move file pointer to a specified position. | |
General utility routines used by the PHAT file system.
Create a DOS timestamp of the current time and date.
| dostim | Receives the time of day part. |
| dosdat | Receives the calendar date part. |
References localtime(), time(), _tm::tm_hour, _tm::tm_mday, _tm::tm_min, _tm::tm_mon, _tm::tm_sec, and _tm::tm_year.
Referenced by PhatDirEntryCreate(), and PhatFileWrite().
| int MakePhatName | ( | const char * | src, |
| uint8_t * | dst | ||
| ) |
Convert filename to a directory entry name.
| src | Original name in the format 'name.ext'. |
| dst | Converted name in the format 'name ext'. |
References memset(), PHAT_REM_DIRENT, PHAT_REM_NAMENT, rc, strchr(), and toupper().
| void MakeVisibleName | ( | const uint8_t * | src, |
| char * | dst | ||
| ) |
Convert a directory entry name to a visible file name.
| src | Original name in the format 'name ext'. |
| dst | Converted name in the format 'name.ext'. |
References PHAT_REM_DIRENT, and PHAT_REM_NAMENT.
| char* GetParentPath | ( | const char * | path, |
| const char ** | comp | ||
| ) |
Chop off the last component of a path.
| path | Full path. |
| comp | Points to a pointer which will be set to the last component within the full path. |
References EINVAL, errno, malloc(), memcpy(), NULL, strlen(), and strrchr().
Referenced by PhatDirOpenParent().
| int IsFixedRootDir | ( | NUTFILE * | ndp | ) |
Test for PHAT12/PHAT16 root directory.
| ndp | Handle of an opened file to check. |
References _NUTDEVICE::dev_dcb, _NUTFILE::nf_dev, _NUTFILE::nf_fcb, and _PHATVOL::vol_type.
Referenced by PhatClusterSector(), PhatFilePosSet(), PhatFileRead(), and PhatFileWrite().
| void PhatFilePosRewind | ( | PHATFILE * | fcb | ) |
Set file pointer back to zero.
| fcb | Specifies the file control block. |
References _PHATDIRENT::dent_clust, _PHATDIRENT::dent_clusthi, _PHATFILE::f_clust, _PHATFILE::f_clust_pos, _PHATFILE::f_dirent, _PHATFILE::f_pos, and _PHATFILE::f_sect_pos.
Referenced by PhatDirCreate(), PhatDirEntryFind(), PhatDirOpen(), and PhatFilePosSet().
Move file pointer to a specified position.
Moving beyond the current file size is not supported.
| nfp | File descriptor. |
| pos | Requested file position. |
References _PHATDIRENT::dent_attr, _PHATDIRENT::dent_fsize, _NUTDEVICE::dev_dcb, _PHATFILE::f_clust, _PHATFILE::f_clust_pos, _PHATFILE::f_clust_prv, _PHATFILE::f_dirent, _PHATFILE::f_pos, _PHATFILE::f_sect_pos, IsFixedRootDir(), _NUTFILE::nf_dev, _NUTFILE::nf_fcb, PHAT12CMASK, Phat12GetClusterLink(), PHAT16CMASK, Phat16GetClusterLink(), PHAT32CMASK, Phat32GetClusterLink(), PHAT_FATTR_DIR, PHATEOC, PhatFilePosRewind(), _PHATVOL::vol_clustsz, _PHATVOL::vol_rootsz, _PHATVOL::vol_sectsz, and _PHATVOL::vol_type.
Referenced by PhatFileOpen().