MCPcopy Create free account
hub / github.com/apache/nuttx / rpmsgfs_client_chstat

Function rpmsgfs_client_chstat

fs/rpmsgfs/rpmsgfs_client.c:977–1017  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

975}
976
977int rpmsgfs_client_chstat(FAR void *handle, FAR const char *path,
978 FAR const struct stat *buf, int flags)
979{
980 FAR struct rpmsgfs_s *priv = handle;
981 FAR struct rpmsgfs_chstat_s *msg;
982 uint32_t space;
983 size_t len;
984
985 len = sizeof(*msg) + strlen(path) + 1;
986
987 msg = rpmsgfs_get_tx_payload_buffer(priv, &space);
988 if (!msg)
989 {
990 return -ENOMEM;
991 }
992
993 DEBUGASSERT(len <= space);
994
995 msg->flags = flags;
996 msg->buf.dev = buf->st_dev;
997 msg->buf.ino = buf->st_ino;
998 msg->buf.mode = buf->st_mode;
999 msg->buf.nlink = buf->st_nlink;
1000 msg->buf.uid = buf->st_uid;
1001 msg->buf.gid = buf->st_gid;
1002 msg->buf.rdev = buf->st_rdev;
1003 msg->buf.size = buf->st_size;
1004 msg->buf.atim_sec = buf->st_atim.tv_sec;
1005 msg->buf.atim_nsec = buf->st_atim.tv_nsec;
1006 msg->buf.mtim_sec = buf->st_mtim.tv_sec;
1007 msg->buf.mtim_nsec = buf->st_mtim.tv_nsec;
1008 msg->buf.ctim_sec = buf->st_ctim.tv_sec;
1009 msg->buf.ctim_nsec = buf->st_ctim.tv_nsec;
1010 msg->buf.blksize = buf->st_blksize;
1011 msg->buf.blocks = buf->st_blocks;
1012
1013 strlcpy(msg->pathname, path, space - sizeof(*msg));
1014
1015 return rpmsgfs_send_recv(priv, RPMSGFS_CHSTAT, false,
1016 (struct rpmsgfs_header_s *)msg, len, NULL);
1017}

Callers 1

rpmsgfs_chstatFunction · 0.85

Calls 4

rpmsgfs_send_recvFunction · 0.85
strlenFunction · 0.50
strlcpyFunction · 0.50

Tested by

no test coverage detected