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. |
Definition at line 102 of file phatutil.c.
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'. |
Definition at line 127 of file phatutil.c.
References memset(), PHAT_REM_DIRENT, PHAT_REM_NAMENT, 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'. |
Definition at line 212 of file phatutil.c.
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. |
Definition at line 249 of file phatutil.c.
References EINVAL, errno, malloc(), memcpy(), strlen(), and strrchr().
Referenced by PhatDirOpenParent().
int IsFixedRootDir | ( | NUTFILE * | ndp | ) |
Test for PHAT12/PHAT16 root directory.
ndp | Handle of an opened file to check. |
Definition at line 280 of file phatutil.c.
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. |
Definition at line 304 of file phatutil.c.
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. |
Definition at line 329 of file phatutil.c.
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().