fs/romfs: Add romfs_devstrcpy and romfs_devmemcpy

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
This commit is contained in:
Xiang Xiao 2024-07-28 15:09:47 +08:00 • committed by GUIDINGLI
parent 808beabc83
commit 4d9512f0d4

View file

@ -514,6 +514,26 @@ static int romfs_alloc_spareregion(FAR struct list_node *list,
return -ENOENT;
}
/****************************************************************************
* Name: romfs_devmemcpy
****************************************************************************/
static void romfs_devmemcpy(FAR struct romfs_mountpt_s *rm,
int ndx, FAR const void *buf, size_t len)
{
memcpy(rm->rm_devbuffer + ndx, buf, len);
}
/****************************************************************************
* Name: romfs_devstrcpy
****************************************************************************/
static void romfs_devstrcpy(FAR struct romfs_mountpt_s *rm,
int ndx, FAR const char *buf)
{
strcpy((FAR char *)rm->rm_devbuffer + ndx, buf);
}
/****************************************************************************
* Name: romfs_devwrite32
*
@ -951,7 +971,7 @@ int romfs_fsconfigure(FAR struct romfs_mountpt_s *rm, FAR const void *data)
/* Verify the magic number at that identifies this as a ROMFS filesystem */
if (memcmp(rm->rm_buffer, ROMFS_VHDR_MAGIC, 8) != 0)
if (memcmp(rm->rm_buffer, ROMFS_VHDR_MAGIC, ROMFS_VHDR_SIZE) != 0)
{
return -EINVAL;
}
@ -1441,8 +1461,7 @@ int romfs_mkfs(FAR struct romfs_mountpt_s *rm)
{
/* Write the magic number at that identifies this as a ROMFS filesystem */
memcpy(rm->rm_devbuffer + ROMFS_VHDR_ROM1FS, ROMFS_VHDR_MAGIC,
ROMFS_VHDR_SIZE);
romfs_devmemcpy(rm, ROMFS_VHDR_ROM1FS, ROMFS_VHDR_MAGIC, ROMFS_VHDR_SIZE);
/* Init the ROMFS volume to zero */
@ -1450,7 +1469,7 @@ int romfs_mkfs(FAR struct romfs_mountpt_s *rm)
/* Write the volume name */
memcpy(rm->rm_devbuffer + ROMFS_VHDR_VOLNAME, "romfs", 6);
romfs_devstrcpy(rm, ROMFS_VHDR_VOLNAME, "romfs");
/* Write the root node . */
@ -1458,7 +1477,7 @@ int romfs_mkfs(FAR struct romfs_mountpt_s *rm)
romfs_devwrite32(rm, 0x20 + ROMFS_FHDR_INFO, 0x20);
romfs_devwrite32(rm, 0x20 + ROMFS_FHDR_SIZE, 0);
romfs_devwrite32(rm, 0x20 + ROMFS_FHDR_CHKSUM, 0);
memcpy(rm->rm_devbuffer + 0x20 + ROMFS_FHDR_NAME, ".", 2);
romfs_devstrcpy(rm, 0x20 + ROMFS_FHDR_NAME, ".");
/* Write the root node .. */
@ -1466,7 +1485,7 @@ int romfs_mkfs(FAR struct romfs_mountpt_s *rm)
romfs_devwrite32(rm, 0x40 + ROMFS_FHDR_INFO, 0x20);
romfs_devwrite32(rm, 0x40 + ROMFS_FHDR_SIZE, 0);
romfs_devwrite32(rm, 0x40 + ROMFS_FHDR_CHKSUM, 0);
memcpy(rm->rm_devbuffer + 0x40 + ROMFS_FHDR_NAME, "..", 3);
romfs_devstrcpy(rm, 0x40 + ROMFS_FHDR_NAME, "..");
/* Write the buffer to sector zero */