XINU
Functions
rflseek.c File Reference
#include <xinu.h>
Include dependency graph for rflseek.c:

Go to the source code of this file.

Functions

devcall rflseek (struct dentry *devptr, uint32 pos)
 

Function Documentation

◆ rflseek()

devcall rflseek ( struct dentry devptr,
uint32  pos 
)

Definition at line 9 of file rflseek.c.

References dentry::dvminor, OK, Rf_data, RF_FREE, rfdata::rf_mutex, rfltab, rflcblk::rfpos, rflcblk::rfstate, signal(), SYSERR, and wait().

13 {
14  struct rflcblk *rfptr; /* Pointer to control block */
15 
16  /* Wait for exclusive access */
17 
19 
20  /* Verify remote file device is open */
21 
22  rfptr = &rfltab[devptr->dvminor];
23  if (rfptr->rfstate == RF_FREE) {
25  return SYSERR;
26  }
27 
28  /* Set the new position */
29 
30  rfptr->rfpos = pos;
32  return OK;
33 }
int32 dvminor
Definition: conf.h:8
#define SYSERR
処理が失敗した場合
Definition: kernel.h:79
#define OK
処理が成功した場合
Definition: kernel.h:77
struct rflcblk rfltab[]
Definition: rflinit.c:5
int32 rfstate
Definition: rfilesys.h:50
struct rfdata Rf_data
Definition: rfsinit.c:10
sid32 rf_mutex
Definition: rfilesys.h:38
#define RF_FREE
Definition: rfilesys.h:46
uint32 rfpos
Definition: rfilesys.h:53
syscall wait(sid32)
Definition: wait.c:9
syscall signal(sid32)
セマフォにシグナルを送り、待機プロセスがある場合は解除する。
Definition: signal.c:18
Here is the call graph for this function: