63 msg->rd_seq =
htonl(seq);
76 kprintf(
"Cannot send to remote disk server\n\r");
85 retval =
udp_recv(slot, (
char *)reply, rlen,
90 }
else if (retval ==
SYSERR) {
91 kprintf(
"Error reading remote disk reply\n\r");
98 if (
ntohl(reply->rd_seq) < seq) {
100 }
else if (
ntohl(reply->rd_seq) != seq) {
106 rtype =
ntohs(reply->rd_type);
113 if (
ntohs(reply->rd_status) != 0) {
122 kprintf(
"Timeout on exchange with remote disk server\n\r");
syscall kprintf(char *fmt,...)
ポーリングI/Oを使用して、フォーマットされた文字列をコンソールに出力する。
int32 udp_recv(uid32, char *, int32, uint32)
status rdscomm(struct rd_msg_hdr *msg, int32 mlen, struct rd_msg_hdr *reply, int32 rlen, struct rdscblk *rdptr)
#define TIMEOUT
システムコールがタイムアウトした場合
int32 status
ステータスを意味する返り値の型(OK/SYSERR)
#define FALSE
Boolean False(0)
#define TRUE
Boolean True(1)
uint32 intmask
保存された割り込みマスク
short int16
符号あり16ビット整数(short)
int int32
符号あり32ビット整数(int)
uid32 udp_register(uint32, uint16, uint16)
status udp_sendto(uid32, uint32, uint16, char *, int32)
unsigned int uint32
符号なし32ビット整数(unsigned int)
intmask disable(void)
割り込み禁止(intr.Sに定義がある)