22         kprintf(
"IP header checksum failed\n\r");
    34         kprintf(
"IP version failed\n\r");
   120     if ((dest&0xff000000) == 0x7f000000) {
   300     for (i=0; i<10; i++) {
   307     cksum += (cksum >> 16);
   308     cksum = 0xffff & ~cksum;
   312     if (cksum == 0xffff) {
   315     return (
uint16) (0xffff & cksum);
   389             kprintf(
"ipout: encountered a broadcast\n");
   454         kprintf(
"ipout: output queue overflow\n");
 syscall kprintf(char *fmt,...)
ポーリングI/Oを使用して、フォーマットされた文字列をコンソールに出力する。 
 
#define IP_UDP
IP向けのUDPプロトコルタイプ 
 
syscall semcount(sid32)
セマフォのカウント値を返す。 
 
void eth_hton(struct netpacket *)
 
void ip_local(struct netpacket *pktptr)
 
#define IP_OQSIZ
IPアウトプットキューのサイズ 
 
sid32 iqsem
パケット(pkts)をカウントするセマフォ 
 
#define IP_BCAST
IPローカルブロードキャストアドレス。 
 
void ip_ntoh(struct netpacket *pktptr)
 
byte net_ethdst[ETH_ADDR_LEN]
 
struct netpacket * iqbuf[IP_OQSIZ]
循環パケットキュー 
 
void icmp_ntoh(struct netpacket *)
 
#define IP_HDR_LEN
IPヘッダのバイト数。 
 
void ip_hton(struct netpacket *pktptr)
 
struct iqentry ipoqueue
ネットワーク送信キュー 
 
byte net_ethsrc[ETH_ADDR_LEN]
 
int32 iqhead
次に送信するパケットのインデックス 
 
int32 status
ステータスを意味する返り値の型(OK/SYSERR) 
 
void ip_in(struct netpacket *pktptr)
 
#define IP_ICMP
IP向けのICMPプロトコルタイプ 
 
uint16 icmp_cksum(char *, int32)
 
void udp_ntoh(struct netpacket *)
 
byte ethucast[ETH_ADDR_LEN]
 
syscall write(did32, char *, uint32)
 
uint16 ipcksum(struct netpacket *pkt)
 
void icmp_in(struct netpacket *)
 
status ip_enqueue(struct netpacket *pktptr)
 
status ip_out(struct netpacket *pktptr)
 
uint32 intmask
保存された割り込みマスク 
 
int int32
符号あり32ビット整数(int) 
 
status ip_send(struct netpacket *pktptr)
 
unsigned short uint16
符号なし16ビット整数(unsigned short) 
 
void udp_hton(struct netpacket *)
 
byte ethbcast[ETH_ADDR_LEN]
 
ipout(IP送信)プロセスを待機している送信用IPパケットのキュー 
 
syscall freebuf(char *)
バッファプールから取得したバッファを解放する。 
 
status arp_resolve(uint32, byte[])
 
syscall signal(sid32)
セマフォにシグナルを送り、待機プロセスがある場合は解除する。 
 
int32 iqtail
次の空きスロットのインデックス。 
 
void udp_in(struct netpacket *)
 
unsigned int uint32
符号なし32ビット整数(unsigned int) 
 
void icmp_hton(struct netpacket *)
 
void * memcpy(void *, const void *, int32)
メモリAの領域(source)からメモリBの領域(Destination)にN Byteコピーする。 
 
intmask disable(void)
割り込み禁止(intr.Sに定義がある) 
 
int32 process
プロセスの最上位レベル関数 返り値の型