XINU
rfsinit.c
Go to the documentation of this file.
1 
8 #include <xinu.h>
9 
10 struct rfdata Rf_data;
11 
12 /*------------------------------------------------------------------------
13  * rfsinit - Initialize the remote file system master device
14  *------------------------------------------------------------------------
15  */
17  struct dentry *devptr /* Entry in device switch table */
18 )
19 {
20 
21  /* Choose an initial message sequence number */
22 
23  Rf_data.rf_seq = 1;
24 
25  /* Set the server IP address, server port, and local port */
26 
28  {
29  panic("invalid IP address for remote file server");
30  }
33 
34  /* Create a mutual exclusion semaphore */
35 
36  if ((Rf_data.rf_mutex = semcreate(1)) == SYSERR)
37  {
38  panic("Cannot create remote file system semaphore");
39  }
40 
41  /* Specify that the server port is not yet registered */
42 
44 
45  return OK;
46 }
int32 rf_seq
Definition: rfilesys.h:33
sid32 semcreate(int32)
未使用セマフォを割り当て、そのセマフォへのインデックス(セマフォID)を返す。
Definition: semcreate.c:22
全てのシステムヘッダファイルをインクルードする。
#define SYSERR
処理が失敗した場合
Definition: kernel.h:79
uint16 rf_ser_port
Definition: rfilesys.h:35
#define OK
処理が成功した場合
Definition: kernel.h:77
devcall rfsinit(struct dentry *devptr)
Definition: rfsinit.c:16
bool8 rf_registered
Definition: rfilesys.h:39
Definition: conf.h:6
struct rfdata Rf_data
Definition: rfsinit.c:10
#define RF_SERVER_IP
Definition: rfilesys.h:21
#define FALSE
Boolean False(0)
Definition: kernel.h:63
sid32 rf_mutex
Definition: rfilesys.h:38
#define RF_SERVER_PORT
Definition: rfilesys.h:25
#define RF_LOC_PORT
Definition: rfilesys.h:29
void panic(char *)
Panic状態に陥った旨のメッセージを表示し、全てのプロセスを停止させる。
Definition: panic.c:12
uint32 rf_ser_ip
Definition: rfilesys.h:34
uint16 rf_loc_port
Definition: rfilesys.h:36
int32 devcall
デバイスコール関数 返り値の型
Definition: kernel.h:49
uint32 dot2ip(char *, uint32 *)
Definition: dot2ip.c:9