Message type for VFS_FCHDIR

Change-Id: Ie7de90d37a39e89f35438a5b01a9e878a06194b2
This commit is contained in:
Lionel Sambuc 2014-05-12 16:58:19 +02:00
parent 698d2bd2a1
commit 4635162db2
4 changed files with 10 additions and 5 deletions

View file

@ -232,9 +232,6 @@
#define NR_VFS_CALLS 49 /* highest number from base plus one */ #define NR_VFS_CALLS 49 /* highest number from base plus one */
/* Field names for the fchdir(2) call. */
#define VFS_FCHDIR_FD m1_i1 /* int */
/* Field names for the fchmod(2) call. */ /* Field names for the fchmod(2) call. */
#define VFS_FCHMOD_FD m1_i1 /* int */ #define VFS_FCHMOD_FD m1_i1 /* int */
#define VFS_FCHMOD_MODE m1_i2 /* mode_t */ #define VFS_FCHMOD_MODE m1_i2 /* mode_t */

View file

@ -166,6 +166,13 @@ typedef struct {
} mess_lc_vfs_creat; } mess_lc_vfs_creat;
_ASSERT_MSG_SIZE(mess_lc_vfs_creat); _ASSERT_MSG_SIZE(mess_lc_vfs_creat);
typedef struct {
int fd;
uint8_t padding[52];
} mess_lc_vfs_fchdir;
_ASSERT_MSG_SIZE(mess_lc_vfs_fchdir);
typedef struct { typedef struct {
int fd; int fd;
int cmd; int cmd;
@ -829,6 +836,7 @@ typedef struct {
mess_lc_vfs_chown m_lc_vfs_chown; mess_lc_vfs_chown m_lc_vfs_chown;
mess_lc_vfs_creat m_lc_vfs_creat; mess_lc_vfs_creat m_lc_vfs_creat;
mess_lc_vfs_fchdir m_lc_vfs_fchdir;
mess_lc_vfs_fcntl m_lc_vfs_fcntl; mess_lc_vfs_fcntl m_lc_vfs_fcntl;
mess_lc_vfs_fstat m_lc_vfs_fstat; mess_lc_vfs_fstat m_lc_vfs_fstat;
mess_lc_vfs_fsync m_lc_vfs_fsync; mess_lc_vfs_fsync m_lc_vfs_fsync;

View file

@ -21,6 +21,6 @@ int fd;
message m; message m;
memset(&m, 0, sizeof(m)); memset(&m, 0, sizeof(m));
m.VFS_FCHDIR_FD = fd; m.m_lc_vfs_fchdir.fd = fd;
return(_syscall(VFS_PROC_NR, VFS_FCHDIR, &m)); return(_syscall(VFS_PROC_NR, VFS_FCHDIR, &m));
} }

View file

@ -35,7 +35,7 @@ int do_fchdir(void)
struct filp *rfilp; struct filp *rfilp;
int r, rfd; int r, rfd;
rfd = job_m_in.VFS_FCHDIR_FD; rfd = job_m_in.m_lc_vfs_fchdir.fd;
/* Is the file descriptor valid? */ /* Is the file descriptor valid? */
if ((rfilp = get_filp(rfd, VNODE_READ)) == NULL) return(err_code); if ((rfilp = get_filp(rfd, VNODE_READ)) == NULL) return(err_code);