taglinefilesource code
sk265net/tcp/arp.cskb->sk = NULL;
sk436net/tcp/arp.cskb->sk = NULL;
sk269net/tcp/dev.cskb->sk = NULL;
sk149net/tcp/icmp.cskb->sk = NULL;
sk184net/tcp/icmp.cskb1->sk = NULL;
sk200net/tcp/icmp.cskb1->sk = NULL;
sk240net/tcp/icmp.cskb1->sk = NULL;
sk263net/tcp/icmp.cskb1->sk = NULL;
sk276net/tcp/icmp.cskb1->sk = NULL;
sk280net/tcp/icmp.cskb->sk = NULL;
sk292net/tcp/icmp.cskb1->sk = NULL;
sk315net/tcp/icmp.cskb1->sk = NULL;
sk321net/tcp/icmp.cskb1->sk = NULL;
sk327net/tcp/icmp.cskb1->sk = NULL;
sk721net/tcp/ip.cskb->sk = NULL;
sk730net/tcp/ip.cskb->sk = NULL;
sk739net/tcp/ip.cskb->sk = NULL;
sk783net/tcp/ip.cskb->sk = NULL;
sk798net/tcp/ip.cip_queue_xmit (volatile struct sock *sk, struct device *dev, 
sk803net/tcp/ip.cif (sk == NULL) free = 1;
sk830net/tcp/ip.csk->packets_out++;
sk832net/tcp/ip.cif (sk->send_tail == NULL)
sk834net/tcp/ip.csk->send_tail = skb;
sk835net/tcp/ip.csk->send_head = skb;
sk839net/tcp/ip.csk->send_tail->link3 = skb;
sk840net/tcp/ip.csk->send_tail = skb;
sk843net/tcp/ip.csk->time_wait.len = sk->rtt*2;
sk844net/tcp/ip.csk->timeout=TIME_WRITE;
sk845net/tcp/ip.creset_timer ((struct timer *)&sk->time_wait);
sk849net/tcp/ip.cskb->sk = sk;
sk853net/tcp/ip.cif (sk != NULL)
sk855net/tcp/ip.cdev->queue_xmit(skb, dev, sk->priority);
sk870net/tcp/ip.cip_retransmit (volatile struct sock *sk, int all)
sk876net/tcp/ip.cprot = sk->prot;
sk877net/tcp/ip.cskb = sk->send_head;
sk896net/tcp/ip.cif (sk)
sk897net/tcp/ip.cdev->queue_xmit(skb, dev, sk->priority);
sk901net/tcp/ip.csk->retransmits++;
sk902net/tcp/ip.csk->prot->retransmits ++;
sk907net/tcp/ip.cif (sk->retransmits > sk->cong_window) break;
sk916net/tcp/ip.csk->rtt *= 2;
sk917net/tcp/ip.csk->time_wait.len = sk->rtt;
sk918net/tcp/ip.csk->timeout = TIME_WRITE;
sk919net/tcp/ip.creset_timer ((struct timer *)&sk->time_wait);
sk936net/tcp/ip.cip_handoff (volatile struct sock *sk)
sk940net/tcp/ip.cp = get_protocol (sk->protocol);
sk950net/tcp/ip.cwhile (p->handler != sk->prot->rcv)
sk962net/tcp/ip.csk->inuse = 1;
sk966net/tcp/ip.cif (sk->rqueue == NULL) return (0);
sk967net/tcp/ip.cskb = sk->rqueue;
sk970net/tcp/ip.csk->rqueue = NULL;
sk974net/tcp/ip.csk->rqueue = skb->next;
sk984net/tcp/ip.crelease_sock (sk);
sk165net/tcp/ip.hvoid ip_queue_xmit (volatile struct sock *sk, struct device *dev, 
sk167net/tcp/ip.hvoid ip_retransmit(volatile struct sock *sk, int all);
sk171net/tcp/ip.hint ip_handoff (volatile struct sock *sk);
sk72net/tcp/packet.cvolatile struct sock *sk;
sk74net/tcp/packet.csk = pt->data;
sk80net/tcp/packet.cif (sk->inuse)
sk86net/tcp/packet.cskb->sk = NULL;
sk91net/tcp/packet.csk->inuse = 1;
sk94net/tcp/packet.cskb->sk = sk;
sk97net/tcp/packet.cif (sk->rmem_alloc + skb->mem_len >= SK_RMEM_MAX)
sk99net/tcp/packet.cskb->sk = NULL;
sk104net/tcp/packet.csk->rmem_alloc += skb->mem_len;
sk107net/tcp/packet.cif (sk->rqueue == NULL)
sk109net/tcp/packet.csk->rqueue = skb;
sk115net/tcp/packet.cskb->next = sk->rqueue;
sk116net/tcp/packet.cskb->prev = sk->rqueue->prev;
sk120net/tcp/packet.cwake_up (sk->sleep);
sk121net/tcp/packet.crelease_sock (sk);
sk127net/tcp/packet.cpacket_sendto (volatile struct sock *sk, unsigned char *from, int len,
sk150net/tcp/packet.cskb = sk->prot->wmalloc (sk, len+sizeof (*skb) + sk->prot->max_header, 0,
sk156net/tcp/packet.cprint_sk (sk);
sk161net/tcp/packet.cskb->mem_len = len + sizeof (*skb) +sk->prot->max_header;
sk162net/tcp/packet.cskb->sk = sk;
sk168net/tcp/packet.csk->prot->wfree (sk, skb->mem_addr, skb->mem_len);
sk176net/tcp/packet.cdev->queue_xmit (skb, dev, sk->priority);
sk183net/tcp/packet.cpacket_write (volatile struct sock *sk, unsigned char *buff, 
sk186net/tcp/packet.creturn (packet_sendto (sk, buff, len, noblock, flags, NULL, 0));
sk190net/tcp/packet.cpacket_close (volatile struct sock *sk, int timeout)
sk192net/tcp/packet.csk->inuse = 1;
sk193net/tcp/packet.csk->state = TCP_CLOSE;
sk194net/tcp/packet.cdev_remove_pack ((struct packet_type *)sk->pair);
sk195net/tcp/packet.ckfree_s ((void *)sk->pair, sizeof (struct packet_type));
sk196net/tcp/packet.crelease_sock (sk);
sk200net/tcp/packet.cpacket_init (volatile struct sock *sk)
sk207net/tcp/packet.cp->type = sk->num;
sk208net/tcp/packet.cp->data = (void *)sk;
sk212net/tcp/packet.csk->pair = (volatile struct sock *)p;
sk219net/tcp/packet.cpacket_recvfrom (volatile struct sock *sk, unsigned char *to, int len,
sk233net/tcp/packet.cif (sk->shutdown & RCV_SHUTDOWN) return (0);
sk241net/tcp/packet.csk->inuse = 1;
sk242net/tcp/packet.cwhile (sk->rqueue == NULL)
sk246net/tcp/packet.crelease_sock (sk);
sk249net/tcp/packet.crelease_sock (sk);
sk251net/tcp/packet.cif (sk->rqueue == NULL)
sk253net/tcp/packet.cinterruptible_sleep_on (sk->sleep);
sk261net/tcp/packet.cskb = sk->rqueue;
sk267net/tcp/packet.csk->rqueue = NULL;
sk271net/tcp/packet.csk->rqueue = sk->rqueue ->next;
sk294net/tcp/packet.crelease_sock (sk);
sk300net/tcp/packet.cpacket_read (volatile struct sock *sk, unsigned char *buff,
sk303net/tcp/packet.creturn (packet_recvfrom (sk, buff, len, noblock, flags, NULL, NULL));
sk307net/tcp/packet.cint udp_connect (volatile struct sock *sk, struct sockaddr_in *usin,
sk310net/tcp/packet.cint udp_select (volatile struct sock *sk, int sel_type, select_table *wait);
sk96net/tcp/raw.cvolatile struct sock *sk;
sk102net/tcp/raw.csk = protocol->data;
sk104net/tcp/raw.cif (sk == NULL) return;
sk109net/tcp/raw.cif (sk->cong_window > 1)
sk110net/tcp/raw.csk->cong_window = sk->cong_window/2;
sk114net/tcp/raw.csk->err = icmp_err_convert[err & 0xff].errno;
sk133net/tcp/raw.cvolatile struct sock *sk;
sk145net/tcp/raw.csk = protocol->data;
sk146net/tcp/raw.cif (sk == NULL)
sk153net/tcp/raw.cskb->sk = sk;
sk163net/tcp/raw.cif (sk->inuse)
sk166net/tcp/raw.cif (sk->back_log == NULL)
sk168net/tcp/raw.csk->back_log = skb;
sk174net/tcp/raw.cskb->next = sk->back_log;
sk175net/tcp/raw.cskb->prev = sk->back_log->prev;
sk182net/tcp/raw.csk->inuse = 1;
sk187net/tcp/raw.cif (sk->rmem_alloc + skb->mem_len >= SK_RMEM_MAX)
sk189net/tcp/raw.cskb->sk = NULL;
sk194net/tcp/raw.csk->rmem_alloc += skb->mem_len;
sk197net/tcp/raw.cif (sk->rqueue == NULL)
sk199net/tcp/raw.csk->rqueue = skb;
sk205net/tcp/raw.cskb->next = sk->rqueue;
sk206net/tcp/raw.cskb->prev = sk->rqueue->prev;
sk210net/tcp/raw.cwake_up (sk->sleep);
sk211net/tcp/raw.crelease_sock (sk);
sk217net/tcp/raw.craw_sendto (volatile struct sock *sk, unsigned char *from, int len,
sk227net/tcp/raw.c"            usin=%X, addr_len = %d)\n", sk, from, len, noblock,
sk247net/tcp/raw.cif (sk->state != TCP_ESTABLISHED)
sk250net/tcp/raw.csin.sin_port = sk->protocol;
sk251net/tcp/raw.csin.sin_addr.s_addr = sk->daddr;
sk253net/tcp/raw.cif (sin.sin_port == 0) sin.sin_port = sk->protocol;
sk255net/tcp/raw.csk->inuse = 1;
sk259net/tcp/raw.cskb = sk->prot->wmalloc (sk, len+sizeof (*skb) + sk->prot->max_header,
sk267net/tcp/raw.cprint_sk (sk);
sk269net/tcp/raw.ctmp = sk->wmem_alloc;
sk270net/tcp/raw.crelease_sock (sk);
sk272net/tcp/raw.cif (tmp <= sk->wmem_alloc)
sk274net/tcp/raw.cinterruptible_sleep_on (sk->sleep);
sk281net/tcp/raw.csk->inuse = 1;
sk287net/tcp/raw.cskb->mem_len = len + sizeof (*skb) +sk->prot->max_header;
sk288net/tcp/raw.cskb->sk = sk;
sk293net/tcp/raw.ctmp = sk->prot->build_header (skb, sk->saddr, 
sk295net/tcp/raw.csk->protocol, sk->opt, skb->mem_len);
sk299net/tcp/raw.csk->prot->wfree (sk, skb->mem_addr, skb->mem_len);
sk300net/tcp/raw.crelease_sock (sk);
sk307net/tcp/raw.csk->prot->queue_xmit (sk, dev, skb, 1);
sk308net/tcp/raw.crelease_sock (sk);
sk313net/tcp/raw.craw_write (volatile struct sock *sk, unsigned char *buff, int len, int noblock,
sk316net/tcp/raw.creturn (raw_sendto (sk, buff, len, noblock, flags, NULL, 0));
sk320net/tcp/raw.craw_close (volatile struct sock *sk, int timeout)
sk322net/tcp/raw.csk->inuse = 1;
sk323net/tcp/raw.csk->state = TCP_CLOSE;
sk325net/tcp/raw.c((struct ip_protocol *)sk->pair)->protocol);
sk326net/tcp/raw.cif (delete_ip_protocol ((struct ip_protocol *)sk->pair) < 0)
sk328net/tcp/raw.ckfree_s ((void *)sk->pair, sizeof (struct ip_protocol));
sk329net/tcp/raw.csk->pair = NULL;
sk330net/tcp/raw.crelease_sock (sk);
sk334net/tcp/raw.craw_init (volatile struct sock *sk)
sk341net/tcp/raw.cp->protocol = sk->protocol;
sk342net/tcp/raw.cp->data = (void *)sk;
sk347net/tcp/raw.csk->pair = (volatile struct sock *)p;
sk349net/tcp/raw.cPRINTK ("raw init added protocol %d\n", sk->protocol);
sk356net/tcp/raw.craw_recvfrom (volatile struct sock *sk, unsigned char *to, int len,
sk366net/tcp/raw.c"              sin=%X, addr_len=%X)\n", sk, to, len, noblock,
sk372net/tcp/raw.cif (sk->shutdown & RCV_SHUTDOWN) return (0);
sk378net/tcp/raw.csk->inuse = 1;
sk379net/tcp/raw.cwhile (sk->rqueue == NULL)
sk383net/tcp/raw.crelease_sock (sk);
sk387net/tcp/raw.crelease_sock (sk);
sk389net/tcp/raw.cif (sk->rqueue == NULL)
sk391net/tcp/raw.cinterruptible_sleep_on (sk->sleep);
sk398net/tcp/raw.csk->inuse = 1;
sk401net/tcp/raw.cskb = sk->rqueue;
sk407net/tcp/raw.csk->rqueue = NULL;
sk411net/tcp/raw.csk->rqueue = sk->rqueue ->next;
sk433net/tcp/raw.crelease_sock (sk);
sk439net/tcp/raw.craw_read (volatile struct sock *sk, unsigned char *buff, int len, int noblock,
sk442net/tcp/raw.creturn (raw_recvfrom (sk, buff, len, noblock, flags, NULL, NULL));
sk446net/tcp/raw.cint udp_connect (volatile struct sock *sk, struct sockaddr_in *usin,
sk449net/tcp/raw.cint udp_select (volatile struct sock *sk, int sel_type, select_table *wait);
sk183net/tcp/sock.cprint_sk (volatile struct sock *sk)
sk185net/tcp/sock.cif (!sk) {
sk189net/tcp/sock.cPRINTK ("  wmem_alloc = %d\n", sk->wmem_alloc);
sk190net/tcp/sock.cPRINTK ("  rmem_alloc = %d\n", sk->rmem_alloc);
sk191net/tcp/sock.cPRINTK ("  send_head = %X\n", sk->send_head);
sk192net/tcp/sock.cPRINTK ("  state = %d\n",sk->state);
sk193net/tcp/sock.cPRINTK ("  wback = %X, rqueue = %X\n", sk->wback, sk->rqueue);
sk194net/tcp/sock.cPRINTK ("  wfront = %X\n", sk->wfront);
sk195net/tcp/sock.cPRINTK ("  daddr = %X, saddr = %X\n", sk->daddr,sk->saddr);
sk196net/tcp/sock.cPRINTK ("  num = %d", sk->num);
sk197net/tcp/sock.cPRINTK (" next = %X\n", sk->next);
sk199net/tcp/sock.csk->send_seq, sk->acked_seq, sk->copied_seq);
sk201net/tcp/sock.csk->rcv_ack_seq, sk->window_seq, sk->fin_seq);
sk202net/tcp/sock.cPRINTK ("  prot = %X\n", sk->prot);
sk203net/tcp/sock.cPRINTK ("  pair = %X, back_log = %X\n", sk->pair,sk->back_log);
sk204net/tcp/sock.cPRINTK ("  inuse = %d , blog = %d\n", sk->inuse, sk->blog);
sk205net/tcp/sock.cPRINTK ("  dead = %d delay_acks=%d\n", sk->dead, sk->delay_acks);
sk206net/tcp/sock.cPRINTK ("  retransmits = %d, timeout = %d\n", sk->retransmits, sk->timeout);
sk207net/tcp/sock.cPRINTK ("  cong_window = %d, packets_out = %d\n", sk->cong_window,
sk208net/tcp/sock.csk->packets_out);
sk219net/tcp/sock.cPRINTK ("  sk = %X link3 = %X\n", skb->sk, skb->link3);
sk251net/tcp/sock.cif (skb->sk)
sk255net/tcp/sock.cskb->sk->prot->rfree (skb->sk, skb->mem_addr, skb->mem_len);
sk259net/tcp/sock.cskb->sk->prot->wfree (skb->sk, skb->mem_addr, skb->mem_len);
sk283net/tcp/sock.cvolatile struct sock *sk;
sk284net/tcp/sock.cfor (sk = prot->sock_array[num & (SOCK_ARRAY_SIZE -1 )];
sk285net/tcp/sock.csk != NULL; sk=sk->next)
sk287net/tcp/sock.cif (sk->dummy_th.source == num) return (1);
sk302net/tcp/sock.cvolatile struct sock *sk;
sk315net/tcp/sock.csk = prot->sock_array[(i+base+1) & (SOCK_ARRAY_SIZE -1)];
sk316net/tcp/sock.cwhile (sk != NULL)
sk318net/tcp/sock.csk = sk->next;
sk338net/tcp/sock.cput_sock(unsigned short num, volatile struct sock *sk)
sk344net/tcp/sock.cPRINTK ("put_sock (num = %d, sk = %X\n", num, sk);
sk345net/tcp/sock.csk->num = num;
sk346net/tcp/sock.csk->next = NULL;
sk351net/tcp/sock.cif (sk->prot->sock_array[num] == NULL)
sk353net/tcp/sock.csk->prot->sock_array[num] = sk;
sk360net/tcp/sock.cif (mask & sk->saddr)
sk370net/tcp/sock.csk1 = sk->prot->sock_array[num];
sk377net/tcp/sock.csk->next = sk->prot->sock_array[num];
sk378net/tcp/sock.csk->prot->sock_array[num] = sk;
sk382net/tcp/sock.csk->next = sk2;
sk383net/tcp/sock.csk1->next= sk;
sk390net/tcp/sock.csk->next = NULL;
sk391net/tcp/sock.csk1->next = sk;
sk440net/tcp/sock.cdestroy_sock(volatile struct sock *sk)
sk444net/tcp/sock.cPRINTK ("destroying socket %X\n",sk);
sk446net/tcp/sock.csk->inuse = 1;
sk448net/tcp/sock.cremove_sock (sk);
sk451net/tcp/sock.cdelete_timer((struct timer *)&sk->time_wait);
sk453net/tcp/sock.cif (sk->send_tmp) kfree_skb (sk->send_tmp, FREE_WRITE);
sk456net/tcp/sock.cfor (skb = sk->wfront; skb != NULL; )
sk470net/tcp/sock.csk->wfront = NULL;
sk471net/tcp/sock.csk->wback = NULL;
sk473net/tcp/sock.cif (sk->rqueue != NULL)
sk475net/tcp/sock.cskb = sk->rqueue;
sk483net/tcp/sock.cif (skb->sk != NULL && skb->sk != sk)
sk485net/tcp/sock.cskb->sk->dead = 1;
sk486net/tcp/sock.cskb->sk->prot->close (skb->sk, 0);
sk490net/tcp/sock.c} while (skb != sk->rqueue);
sk493net/tcp/sock.csk->rqueue = NULL;
sk496net/tcp/sock.cfor (skb = sk->send_head; skb != NULL; )
sk589net/tcp/sock.csk->send_head = NULL;
sk593net/tcp/sock.cif (sk->back_log != NULL)
sk598net/tcp/sock.cskb = sk->back_log;
sk604net/tcp/sock.c} while (skb != sk->back_log);
sk608net/tcp/sock.csk->back_log = NULL;
sk611net/tcp/sock.cif (sk->pair)
sk613net/tcp/sock.csk->pair->dead = 1;
sk614net/tcp/sock.csk->pair->prot->close (sk->pair, 0);
sk615net/tcp/sock.csk->pair = NULL;
sk620net/tcp/sock.cif (sk->rmem_alloc <= 0 && sk->wmem_alloc <= 0)
sk622net/tcp/sock.ckfree_s ((void *)sk,sizeof (*sk));
sk628net/tcp/sock.cPRINTK ("possible memory leak in socket = %X\n", sk);
sk629net/tcp/sock.cprint_sk (sk);
sk630net/tcp/sock.csk->destroy = 1;
sk631net/tcp/sock.csk->ack_backlog = 0;
sk632net/tcp/sock.csk->inuse = 0;
sk633net/tcp/sock.csk->time_wait.len = SOCK_DESTROY_TIME;
sk634net/tcp/sock.csk->timeout = TIME_DESTROY;
sk635net/tcp/sock.creset_timer ((struct timer *)&sk->time_wait);
sk644net/tcp/sock.cvolatile struct sock *sk;
sk645net/tcp/sock.csk=sock->data;
sk646net/tcp/sock.cif (sk == NULL)
sk655net/tcp/sock.csk->proc = arg;
sk659net/tcp/sock.creturn (sk->proc);
sk670net/tcp/sock.cvolatile struct sock *sk;
sk674net/tcp/sock.csk = sock->data;
sk675net/tcp/sock.cif (sk == NULL)
sk700net/tcp/sock.csk->reuse = 1;
sk702net/tcp/sock.csk->reuse = 0;
sk707net/tcp/sock.csk->keepopen = 1;
sk709net/tcp/sock.csk->keepopen = 0;
sk714net/tcp/sock.csk->urginline = 1;
sk716net/tcp/sock.csk->urginline = 0;
sk721net/tcp/sock.csk->no_check = 1;
sk723net/tcp/sock.csk->no_check = 0;
sk729net/tcp/sock.csk->priority = val;
sk744net/tcp/sock.cvolatile struct sock *sk;
sk748net/tcp/sock.csk = sock->data;
sk749net/tcp/sock.cif (sk == NULL)
sk769net/tcp/sock.cval = sk->reuse;
sk773net/tcp/sock.cval = sk->keepopen;
sk777net/tcp/sock.cif (sk->prot == &tcp_prot)
sk784net/tcp/sock.cval = sk->err;
sk785net/tcp/sock.csk->err = 0;
sk789net/tcp/sock.cval = sk->urginline;
sk793net/tcp/sock.cval = sk->no_check;
sk797net/tcp/sock.cval = sk->priority;
sk811net/tcp/sock.cvolatile struct sock *sk;
sk812net/tcp/sock.csk = sock->data;
sk813net/tcp/sock.cif (sk == NULL)
sk820net/tcp/sock.cif (sk->num == 0)
sk822net/tcp/sock.csk->num = get_new_socknum (sk->prot, 0);
sk823net/tcp/sock.cif (sk->num == 0) return (-EAGAIN);
sk824net/tcp/sock.cput_sock (sk->num, sk);
sk825net/tcp/sock.csk->dummy_th.source = net16(sk->num);
sk829net/tcp/sock.csk->max_ack_backlog = backlog;
sk830net/tcp/sock.csk->ack_backlog = 0;
sk831net/tcp/sock.csk->state = TCP_LISTEN;
sk887net/tcp/sock.cvolatile struct sock *sk;
sk891net/tcp/sock.csk = kmalloc (sizeof (*sk), GFP_KERNEL);
sk892net/tcp/sock.cif (sk == NULL)
sk894net/tcp/sock.csk->num = 0;
sk903net/tcp/sock.ckfree_s ((void *)sk, sizeof (*sk));
sk906net/tcp/sock.csk->no_check = TCP_NO_CHECK;
sk913net/tcp/sock.ckfree_s ((void *)sk, sizeof (*sk));
sk916net/tcp/sock.csk->no_check = UDP_NO_CHECK;
sk923net/tcp/sock.ckfree_s ((void *)sk, sizeof (*sk));
sk929net/tcp/sock.ckfree_s ((void *)sk, sizeof (*sk));
sk933net/tcp/sock.csk->reuse = 1;
sk934net/tcp/sock.csk->no_check = 0; /* doesn't matter no checksum is preformed
sk936net/tcp/sock.csk->num = protocol;
sk942net/tcp/sock.ckfree_s ((void *)sk, sizeof (*sk));
sk948net/tcp/sock.ckfree_s ((void *)sk, sizeof (*sk));
sk952net/tcp/sock.csk->reuse = 1;
sk953net/tcp/sock.csk->no_check = 0; /* doesn't matter no checksum is preformed
sk955net/tcp/sock.csk->num = protocol;
sk960net/tcp/sock.ckfree_s ((void *)sk, sizeof (*sk));
sk964net/tcp/sock.csk->protocol = protocol;
sk965net/tcp/sock.csk->wmem_alloc = 0;
sk966net/tcp/sock.csk->rmem_alloc = 0;
sk967net/tcp/sock.csk->pair = NULL;
sk968net/tcp/sock.csk->opt = NULL;
sk969net/tcp/sock.csk->send_seq = 0;
sk970net/tcp/sock.csk->acked_seq = 0;
sk971net/tcp/sock.csk->copied_seq = 0;
sk972net/tcp/sock.csk->fin_seq = 0;
sk973net/tcp/sock.csk->proc = 0;
sk974net/tcp/sock.csk->rtt = TCP_WRITE_TIME;
sk975net/tcp/sock.csk->packets_out = 0;
sk976net/tcp/sock.csk->cong_window = 1; /* start with only sending one packet at a time. */
sk977net/tcp/sock.csk->exp_growth = 1;  /* if set cong_window grow exponentially every time
sk979net/tcp/sock.csk->urginline = 0;
sk980net/tcp/sock.csk->intr = 0;
sk981net/tcp/sock.csk->linger = 0;
sk982net/tcp/sock.csk->destroy = 0;
sk983net/tcp/sock.csk->reuse = 0;
sk984net/tcp/sock.csk->priority = 1;
sk985net/tcp/sock.csk->shutdown = 0;
sk986net/tcp/sock.csk->urg = 0;
sk987net/tcp/sock.csk->keepopen = 0;
sk988net/tcp/sock.csk->done = 0;
sk989net/tcp/sock.csk->ack_backlog = 0;
sk990net/tcp/sock.csk->window = 0;
sk991net/tcp/sock.csk->bytes_rcv = 0;
sk992net/tcp/sock.csk->state = TCP_CLOSE;
sk993net/tcp/sock.csk->dead = 0;
sk994net/tcp/sock.csk->ack_timed = 0;
sk995net/tcp/sock.csk->send_tmp = NULL;
sk996net/tcp/sock.csk->mss = 0; /* we will try not to send any packets smaller
sk1002net/tcp/sock.csk->max_unacked = 2048; /* needs to be at most 2 full packets. */
sk1007net/tcp/sock.csk->max_ack_backlog = MAX_ACK_BACKLOG;
sk1008net/tcp/sock.csk->inuse = 0;
sk1009net/tcp/sock.csk->delay_acks = 1; /* default to waiting a while before sending
sk1011net/tcp/sock.csk->wback = NULL;
sk1012net/tcp/sock.csk->wfront = NULL;
sk1013net/tcp/sock.csk->rqueue = NULL;
sk1014net/tcp/sock.csk->mtu = 576;
sk1015net/tcp/sock.csk->prot = prot;
sk1016net/tcp/sock.csk->sleep = sock->wait;
sk1017net/tcp/sock.csk->daddr = 0;
sk1018net/tcp/sock.csk->saddr = MY_IP_ADDR;
sk1019net/tcp/sock.csk->err = 0;
sk1020net/tcp/sock.csk->next = NULL;
sk1021net/tcp/sock.csk->pair = NULL;
sk1022net/tcp/sock.csk->send_tail = NULL;
sk1023net/tcp/sock.csk->send_head = NULL;
sk1024net/tcp/sock.csk->time_wait.len = TCP_CONNECT_TIME;
sk1025net/tcp/sock.csk->time_wait.when = 0;
sk1026net/tcp/sock.csk->time_wait.sk = sk;
sk1027net/tcp/sock.csk->time_wait.next = NULL;
sk1028net/tcp/sock.csk->timeout = 0;
sk1029net/tcp/sock.csk->back_log = NULL;
sk1030net/tcp/sock.csk->blog = 0;
sk1031net/tcp/sock.csock->data =(void *) sk;
sk1032net/tcp/sock.csk->dummy_th.doff = sizeof (sk->dummy_th)/4;
sk1033net/tcp/sock.csk->dummy_th.res1=0;
sk1034net/tcp/sock.csk->dummy_th.res2=0;
sk1035net/tcp/sock.csk->dummy_th.urg_ptr = 0;
sk1036net/tcp/sock.csk->dummy_th.fin = 0;
sk1037net/tcp/sock.csk->dummy_th.syn = 0;
sk1038net/tcp/sock.csk->dummy_th.rst = 0;
sk1039net/tcp/sock.csk->dummy_th.psh = 0;
sk1040net/tcp/sock.csk->dummy_th.ack = 0;
sk1041net/tcp/sock.csk->dummy_th.urg = 0;
sk1042net/tcp/sock.csk->dummy_th.dest = 0;
sk1044net/tcp/sock.cif (sk->num)
sk1050net/tcp/sock.cput_sock (sk->num, sk);
sk1051net/tcp/sock.csk->dummy_th.source = net16(sk->num);
sk1054net/tcp/sock.cif (sk->prot->init)
sk1056net/tcp/sock.cerr = sk->prot->init(sk);
sk1059net/tcp/sock.cdestroy_sock (sk);
sk1077net/tcp/sock.cvolatile struct sock *sk;
sk1078net/tcp/sock.csk = sock->data;
sk1079net/tcp/sock.cif (sk == NULL) return (0);
sk1081net/tcp/sock.cwake_up (sk->sleep);
sk1086net/tcp/sock.cif (sk->linger == 0)
sk1088net/tcp/sock.csk->prot->close(sk,0);
sk1089net/tcp/sock.csk->dead = 1;
sk1093net/tcp/sock.csk->prot->close(sk, 0);
sk1095net/tcp/sock.cwhile (sk->state != TCP_CLOSE)
sk1097net/tcp/sock.cinterruptible_sleep_on (sk->sleep);
sk1105net/tcp/sock.csk->dead = 1;
sk1108net/tcp/sock.csk->inuse = 1;
sk1110net/tcp/sock.crelease_sock (sk);
sk1125net/tcp/sock.cvolatile struct sock *sk, *sk2;
sk1128net/tcp/sock.csk = sock->data;
sk1129net/tcp/sock.cif (sk == NULL)
sk1135net/tcp/sock.cif (sk->state != TCP_CLOSE) return (-EIO);
sk1136net/tcp/sock.cif (sk->num != 0) return (-EINVAL);
sk1144net/tcp/sock.cPRINTK ("bind sk =%X to port = %d\n", sk, snum);
sk1145net/tcp/sock.cprint_sk (sk);
sk1146net/tcp/sock.csk = sock->data;
sk1154net/tcp/sock.cif ( sk->num > PROT_SOCK) return (0);
sk1155net/tcp/sock.csnum = get_new_socknum (sk->prot, 0);
sk1162net/tcp/sock.csk->saddr = addr.sin_addr.s_addr;
sk1165net/tcp/sock.csk->prot->sock_array[snum & (SOCK_ARRAY_SIZE -1)]);
sk1166net/tcp/sock.cprint_sk (sk->prot->sock_array[snum & (SOCK_ARRAY_SIZE -1)]);
sk1169net/tcp/sock.cfor (sk2 = sk->prot->sock_array[snum & (SOCK_ARRAY_SIZE -1)];
sk1174net/tcp/sock.cif (sk2->saddr != sk->saddr) continue;
sk1175net/tcp/sock.cif (!sk->reuse) return (-EADDRINUSE);
sk1178net/tcp/sock.cremove_sock (sk);
sk1179net/tcp/sock.cput_sock(snum, sk);
sk1180net/tcp/sock.csk->dummy_th.source = net16(sk->num);
sk1181net/tcp/sock.csk->daddr = 0;
sk1182net/tcp/sock.csk->dummy_th.dest = 0;
sk1190net/tcp/sock.cvolatile struct sock *sk;
sk1193net/tcp/sock.csk = sock->data;
sk1194net/tcp/sock.cif (sk == NULL)
sk1200net/tcp/sock.cif (sk->state == TCP_ESTABLISHED)
sk1208net/tcp/sock.cif (sk->state == TCP_SYN_SENT || sk->state == TCP_SYN_RECV)
sk1211net/tcp/sock.cif (sk->err) return (-sk->err);
sk1218net/tcp/sock.cif (sk->num == 0)
sk1220net/tcp/sock.csk->num = get_new_socknum (sk->prot, 0);
sk1221net/tcp/sock.cif (sk->num == 0) return (-EAGAIN);
sk1222net/tcp/sock.cput_sock (sk->num, sk);
sk1223net/tcp/sock.csk->dummy_th.source = net16(sk->num);
sk1226net/tcp/sock.cif (sk->prot->connect == NULL)
sk1229net/tcp/sock.cif (sk->intr == 0)
sk1231net/tcp/sock.cerr = sk->prot->connect (sk, (struct sockaddr_in *)uaddr, addr_len);
sk1236net/tcp/sock.cif (sk->state != TCP_ESTABLISHED && (flags & O_NONBLOCK))
sk1241net/tcp/sock.cwhile (sk->state == TCP_SYN_SENT || sk->state == TCP_SYN_RECV)
sk1243net/tcp/sock.cinterruptible_sleep_on (sk->sleep);
sk1247net/tcp/sock.csk->intr = 1;
sk1254net/tcp/sock.csk->intr = 0;
sk1255net/tcp/sock.cif (sk->state != TCP_ESTABLISHED && sk->err)
sk1258net/tcp/sock.creturn (-sk->err);
sk1345net/tcp/sock.cvolatile struct sock *sk;
sk1351net/tcp/sock.csk = sock->data;
sk1352net/tcp/sock.cif (sk == NULL)
sk1359net/tcp/sock.cif (!tcp_connected(sk->state))
sk1361net/tcp/sock.csin.sin_port = sk->dummy_th.dest;
sk1362net/tcp/sock.csin.sin_addr.s_addr = sk->daddr;
sk1366net/tcp/sock.csin.sin_port = sk->dummy_th.source;
sk1367net/tcp/sock.csin.sin_addr.s_addr = sk->saddr;
sk1380net/tcp/sock.cvolatile struct sock *sk;
sk1381net/tcp/sock.csk = sock->data;
sk1382net/tcp/sock.cif (sk == NULL)
sk1389net/tcp/sock.cif (sk->num == 0)
sk1391net/tcp/sock.csk->num = get_new_socknum (sk->prot, 0);
sk1392net/tcp/sock.cif (sk->num == 0) return (-EAGAIN);
sk1393net/tcp/sock.cput_sock (sk->num, sk);
sk1394net/tcp/sock.csk->dummy_th.source = net16(sk->num);
sk1397net/tcp/sock.creturn (sk->prot->read (sk, ubuf, size, noblock,0));
sk1404net/tcp/sock.cvolatile struct sock *sk;
sk1405net/tcp/sock.csk = sock->data;
sk1406net/tcp/sock.cif (sk == NULL)
sk1413net/tcp/sock.cif (sk->num == 0)
sk1415net/tcp/sock.csk->num = get_new_socknum (sk->prot, 0);
sk1416net/tcp/sock.cif (sk->num == 0) return (-EAGAIN);
sk1417net/tcp/sock.cput_sock (sk->num, sk);
sk1418net/tcp/sock.csk->dummy_th.source = net16(sk->num);
sk1421net/tcp/sock.creturn (sk->prot->read (sk, ubuf, size, noblock, flags));
sk1427net/tcp/sock.cvolatile struct sock *sk;
sk1428net/tcp/sock.csk = sock->data;
sk1429net/tcp/sock.cif (sk == NULL)
sk1434net/tcp/sock.cif (sk->shutdown & SEND_SHUTDOWN)
sk1441net/tcp/sock.cif (sk->num == 0)
sk1443net/tcp/sock.csk->num = get_new_socknum (sk->prot, 0);
sk1444net/tcp/sock.cif (sk->num == 0) return (-EAGAIN);
sk1445net/tcp/sock.cput_sock (sk->num, sk);
sk1446net/tcp/sock.csk->dummy_th.source = net16(sk->num);
sk1449net/tcp/sock.creturn (sk->prot->write (sk, ubuf, size, noblock, 0));
sk1457net/tcp/sock.cvolatile struct sock *sk;
sk1458net/tcp/sock.csk = sock->data;
sk1459net/tcp/sock.cif (sk == NULL)
sk1464net/tcp/sock.cif (sk->shutdown & SEND_SHUTDOWN)
sk1471net/tcp/sock.cif (sk->num == 0)
sk1473net/tcp/sock.csk->num = get_new_socknum (sk->prot, 0);
sk1474net/tcp/sock.cif (sk->num == 0) return (-EAGAIN);
sk1475net/tcp/sock.cput_sock (sk->num, sk);
sk1476net/tcp/sock.csk->dummy_th.source = net16(sk->num);
sk1479net/tcp/sock.creturn (sk->prot->write (sk, ubuf, size, noblock, flags));
sk1487net/tcp/sock.cvolatile struct sock *sk;
sk1488net/tcp/sock.csk = sock->data;
sk1489net/tcp/sock.cif (sk == NULL)
sk1494net/tcp/sock.cif (sk->shutdown & SEND_SHUTDOWN)
sk1500net/tcp/sock.cif (sk->prot->sendto == NULL) return (-EOPNOTSUPP);
sk1503net/tcp/sock.cif (sk->num == 0)
sk1505net/tcp/sock.csk->num = get_new_socknum (sk->prot, 0);
sk1506net/tcp/sock.cif (sk->num == 0) return (-EAGAIN);
sk1507net/tcp/sock.cput_sock (sk->num, sk);
sk1508net/tcp/sock.csk->dummy_th.source = net16(sk->num);
sk1511net/tcp/sock.creturn (sk->prot->sendto (sk, ubuf, size, noblock, flags, 
sk1519net/tcp/sock.cvolatile struct sock *sk;
sk1520net/tcp/sock.csk = sock->data;
sk1521net/tcp/sock.cif (sk == NULL)
sk1527net/tcp/sock.cif (sk->prot->recvfrom == NULL) return (-EOPNOTSUPP);
sk1530net/tcp/sock.cif (sk->num == 0)
sk1532net/tcp/sock.csk->num = get_new_socknum (sk->prot, 0);
sk1533net/tcp/sock.cif (sk->num == 0) return (-EAGAIN);
sk1534net/tcp/sock.cput_sock (sk->num, sk);
sk1535net/tcp/sock.csk->dummy_th.source = net16(sk->num);
sk1538net/tcp/sock.creturn (sk->prot->recvfrom (sk, ubuf, size, noblock, flags,
sk1545net/tcp/sock.cvolatile struct sock *sk;
sk1552net/tcp/sock.csk = sock->data;
sk1553net/tcp/sock.cif (sk == NULL)
sk1558net/tcp/sock.cif (sock->state == SS_CONNECTING && sk->state == TCP_ESTABLISHED)
sk1561net/tcp/sock.cif (!tcp_connected(sk->state)) return (-ENOTCONN);
sk1562net/tcp/sock.csk->shutdown |= how;
sk1563net/tcp/sock.cif (sk->prot->shutdown)
sk1564net/tcp/sock.csk->prot->shutdown (sk, how);
sk1571net/tcp/sock.cvolatile struct sock *sk;
sk1572net/tcp/sock.csk = sock->data;
sk1573net/tcp/sock.cif (sk == NULL)
sk1579net/tcp/sock.cif (sk->prot->select == NULL)
sk1584net/tcp/sock.creturn (sk->prot->select(sk, sel_type, wait));
sk1592net/tcp/sock.cvolatile struct sock *sk;
sk1593net/tcp/sock.csk = sock->data;
sk1594net/tcp/sock.cif (sk == NULL)
sk1614net/tcp/sock.csk->proc = user;
sk1622net/tcp/sock.cput_fs_long (sk->proc, (void *)arg);
sk1627net/tcp/sock.cif (!sk->prot->ioctl)
sk1629net/tcp/sock.creturn (sk->prot->ioctl (sk, cmd, arg));
sk1634net/tcp/sock.csock_wmalloc(volatile struct sock *sk, unsigned long size, int force,
sk1637net/tcp/sock.cif (sk)
sk1639net/tcp/sock.cif (sk->wmem_alloc + size < SK_WMEM_MAX || force)
sk1642net/tcp/sock.csk->wmem_alloc+= size;
sk1647net/tcp/sock.csk, size, force, priority);
sk1654net/tcp/sock.csock_rmalloc(volatile struct sock *sk, unsigned long size, int force,
sk1657net/tcp/sock.cif (sk )
sk1659net/tcp/sock.cif (sk->rmem_alloc + size < SK_RMEM_MAX || force)
sk1662net/tcp/sock.csk->rmem_alloc+= size;
sk1667net/tcp/sock.csk,size,force, priority);
sk1675net/tcp/sock.csock_rspace (volatile struct sock *sk)
sk1678net/tcp/sock.cif (sk != NULL)
sk1680net/tcp/sock.cif (sk->rmem_alloc >= SK_RMEM_MAX-2*MIN_WINDOW) return (0);
sk1681net/tcp/sock.camt = min ((SK_RMEM_MAX-sk->rmem_alloc)/2-MIN_WINDOW, MAX_WINDOW);
sk1689net/tcp/sock.csock_wspace (volatile struct sock *sk)
sk1691net/tcp/sock.cif (sk != NULL)
sk1693net/tcp/sock.cif (sk->shutdown & SEND_SHUTDOWN) return (0);
sk1694net/tcp/sock.cif (sk->wmem_alloc >= SK_WMEM_MAX) return (0);
sk1695net/tcp/sock.creturn (SK_WMEM_MAX-sk->wmem_alloc );
sk1702net/tcp/sock.csock_wfree (volatile struct sock *sk, void *mem, unsigned long size)
sk1704net/tcp/sock.cMPRINTK ("sock_wfree (sk=%X, mem=%X, size=%d)\n",sk, mem, size);
sk1706net/tcp/sock.cif (sk)
sk1708net/tcp/sock.csk->wmem_alloc -= size;
sk1710net/tcp/sock.cif (!sk->dead) wake_up(sk->sleep);
sk1711net/tcp/sock.cif (sk->destroy && sk->wmem_alloc == 0 && sk->rmem_alloc == 0)
sk1713net/tcp/sock.cMPRINTK ("recovered lost memory, destroying sock = %X\n",sk);
sk1714net/tcp/sock.cdelete_timer ((struct timer *)&sk->time_wait);
sk1715net/tcp/sock.ckfree_s ((void *)sk, sizeof (*sk));
sk1722net/tcp/sock.csock_rfree (volatile struct sock *sk, void *mem, unsigned long size)
sk1724net/tcp/sock.cMPRINTK ("sock_rfree (sk=%X, mem=%X, size=%d)\n",sk, mem, size);
sk1726net/tcp/sock.cif (sk)
sk1728net/tcp/sock.csk->rmem_alloc -= size;
sk1729net/tcp/sock.cif (sk->destroy && sk->wmem_alloc == 0 && sk->rmem_alloc == 0)
sk1731net/tcp/sock.cdelete_timer ((struct timer *)&sk->time_wait);
sk1732net/tcp/sock.ckfree_s ((void *)sk, sizeof (*sk));
sk1773net/tcp/sock.cvoid release_sock (volatile struct sock *sk)
sk1775net/tcp/sock.cif (!sk)
sk1781net/tcp/sock.cif (!sk->prot)
sk1787net/tcp/sock.cif (sk->blog) return;
sk1791net/tcp/sock.csk->inuse = 1;
sk1792net/tcp/sock.cwhile (sk->back_log != NULL)
sk1795net/tcp/sock.csk->blog = 1;
sk1796net/tcp/sock.cskb = sk->back_log;
sk1801net/tcp/sock.csk->back_log = skb->next;
sk1807net/tcp/sock.csk->back_log = NULL;
sk1810net/tcp/sock.cPRINTK ("sk->back_log = %X\n",sk->back_log);
sk1811net/tcp/sock.cif (sk->prot->rcv)
sk1812net/tcp/sock.csk->prot->rcv(skb, skb->dev, sk->opt,
sk1815net/tcp/sock.c(struct ip_protocol *)sk->pair); 
sk1818net/tcp/sock.csk->blog = 0;
sk1819net/tcp/sock.csk->inuse = 0;
sk1821net/tcp/sock.cif (sk->dead && sk->state == TCP_CLOSE)
sk1824net/tcp/sock.csk->time_wait.len = min (sk->rtt * 2, TCP_DONE_TIME);
sk1825net/tcp/sock.csk->timeout = TIME_DONE;
sk1826net/tcp/sock.creset_timer ((struct timer *)&sk->time_wait);
sk102net/tcp/sock.hvoid *(*wmalloc)(volatile struct sock *sk, unsigned long size, int force,
sk104net/tcp/sock.hvoid *(*rmalloc)(volatile struct sock *sk, unsigned long size, int force,
sk106net/tcp/sock.hvoid (*wfree)(volatile struct sock *sk, void *mem, unsigned long size);
sk107net/tcp/sock.hvoid (*rfree)(volatile struct sock *sk, void *mem, unsigned long size);
sk108net/tcp/sock.hunsigned long (*rspace)(volatile struct sock *sk);
sk109net/tcp/sock.hunsigned long (*wspace)(volatile struct sock *sk);
sk110net/tcp/sock.hvoid (*close)(volatile struct sock *sk, int timeout);
sk111net/tcp/sock.hint (*read)(volatile struct sock *sk, unsigned char *to, int len,
sk113net/tcp/sock.hint (*write)(volatile struct sock *sk, unsigned char *to, int len,
sk115net/tcp/sock.hint (*sendto) (volatile struct sock *sk, unsigned char *from, int len,
sk118net/tcp/sock.hint (*recvfrom) (volatile struct sock *sk, unsigned char *from, int len,
sk124net/tcp/sock.hint (*connect) (volatile struct sock *sk, struct sockaddr_in *usin,
sk126net/tcp/sock.hvolatile struct sock *(*accept) (volatile struct sock *sk, int flags);
sk127net/tcp/sock.hvoid  (*queue_xmit) (volatile struct sock *sk, struct device *dev, 
sk129net/tcp/sock.hvoid (*retransmit) (volatile struct sock *sk, int all);
sk130net/tcp/sock.hvoid (*write_wakeup) (volatile struct sock *sk);
sk131net/tcp/sock.hvoid (*read_wakeup) (volatile struct sock *sk);
sk135net/tcp/sock.hint (*select)(volatile struct sock *sk, int which, select_table *wait);
sk136net/tcp/sock.hint (*ioctl) (volatile struct sock *sk, int cmd, unsigned long arg);
sk137net/tcp/sock.hint (*init) (volatile struct sock *sk);
sk138net/tcp/sock.hvoid (*shutdown) (volatile struct sock *sk, int how);
sk160net/tcp/sock.hvolatile struct sock *sk;
sk189net/tcp/sock.hvoid destroy_sock (volatile struct sock *sk);
sk192net/tcp/sock.hvoid release_sock (volatile struct sock *sk);
sk197net/tcp/sock.hvoid *sock_wmalloc(volatile struct sock *sk, unsigned long size, int force,
sk199net/tcp/sock.hvoid *sock_rmalloc(volatile struct sock *sk, unsigned long size, int force,
sk201net/tcp/sock.hvoid sock_wfree(volatile struct sock *sk, void *mem, unsigned long size);
sk202net/tcp/sock.hvoid sock_rfree(volatile struct sock *sk, void *mem, unsigned long size);
sk203net/tcp/sock.hunsigned long sock_rspace(volatile struct sock *sk);
sk204net/tcp/sock.hunsigned long sock_wspace(volatile struct sock *sk);
sk132net/tcp/tcp.cget_firstr(volatile struct sock *sk)
sk135net/tcp/tcp.cskb = sk->rqueue;
sk137net/tcp/tcp.csk->rqueue = skb->next;
sk138net/tcp/tcp.cif (sk->rqueue == skb)
sk140net/tcp/tcp.csk->rqueue = NULL;
sk144net/tcp/tcp.csk->rqueue->prev=skb->prev;
sk145net/tcp/tcp.csk->rqueue->prev->next = sk->rqueue;
sk162net/tcp/tcp.ctcp_time_wait (volatile struct sock *sk)
sk164net/tcp/tcp.csk->state = TCP_TIME_WAIT;
sk165net/tcp/tcp.csk->time_wait.len = TCP_TIMEWAIT_LEN;
sk166net/tcp/tcp.csk->timeout = TIME_CLOSE;
sk167net/tcp/tcp.creset_timer ((struct timer *)&sk->time_wait);
sk171net/tcp/tcp.ctcp_retransmit (volatile struct sock *sk, int all)
sk175net/tcp/tcp.cip_retransmit (sk, all);
sk178net/tcp/tcp.csk->rtt *= 2; /* exponential back off. */
sk179net/tcp/tcp.cif (sk->cong_window > 1)
sk180net/tcp/tcp.csk->cong_window = sk->cong_window / 2;
sk181net/tcp/tcp.csk->exp_growth = 0;
sk184net/tcp/tcp.cip_retransmit (sk, all);
sk200net/tcp/tcp.cvolatile struct sock *sk;
sk206net/tcp/tcp.csk = get_sock (&tcp_prot, net16(th->dest), saddr, th->source, daddr);
sk209net/tcp/tcp.cif (sk == NULL) return;
sk216net/tcp/tcp.cif (sk->cong_window > 1)
sk217net/tcp/tcp.csk->cong_window --;
sk222net/tcp/tcp.csk->err = icmp_err_convert[err & 0xff].errno;
sk225net/tcp/tcp.cif (sk->state != TCP_ESTABLISHED)
sk226net/tcp/tcp.csk->state = TCP_CLOSE;
sk227net/tcp/tcp.csk->prot->close(sk, 0);
sk235net/tcp/tcp.ctcp_select (volatile struct sock *sk, int sel_type, select_table *wait)
sk240net/tcp/tcp.cselect_wait (sk->sleep, wait);
sk241net/tcp/tcp.cif (sk->rqueue != NULL &&
sk242net/tcp/tcp.c(between (sk->copied_seq, sk->rqueue->next->h.th->seq - 1,
sk243net/tcp/tcp.csk->rqueue->next->h.th->seq + sk->rqueue->next->len) ||
sk244net/tcp/tcp.csk->state == TCP_LISTEN))
sk249net/tcp/tcp.cswitch (sk->state)
sk263net/tcp/tcp.cselect_wait (sk->sleep, wait);
sk265net/tcp/tcp.cswitch(sk->state)
sk278net/tcp/tcp.cif (sk->prot->wspace(sk) >= MIN_WRITE_SPACE) return (1);
sk283net/tcp/tcp.cselect_wait(sk->sleep,wait);
sk284net/tcp/tcp.cif (sk->err) return (1);
sk285net/tcp/tcp.cif (sk->state == TCP_TIME_WAIT ||
sk286net/tcp/tcp.csk->state == TCP_LAST_ACK)
sk294net/tcp/tcp.ctcp_ioctl (volatile struct sock *sk, int cmd, unsigned long arg)
sk296net/tcp/tcp.cPRINTK ("tcp_ioctl (sk=%X, cmd = %d, arg=%X)\n", sk, cmd, arg);
sk310net/tcp/tcp.cif (sk->state == TCP_LISTEN)
sk313net/tcp/tcp.ccounted = sk->copied_seq;
sk315net/tcp/tcp.cif (sk->rqueue != NULL)
sk317net/tcp/tcp.cskb = sk->rqueue->next;
sk330net/tcp/tcp.c} while (skb != sk->rqueue->next);
sk343net/tcp/tcp.cif (sk->rqueue != NULL)
sk345net/tcp/tcp.cskb = sk->rqueue->next;
sk346net/tcp/tcp.cif (sk->copied_seq+1 == skb->h.th->seq && skb->h.th->urg)
sk357net/tcp/tcp.cif (sk->state == TCP_LISTEN)
sk359net/tcp/tcp.camount = sk->prot->wspace(sk)/2;
sk440net/tcp/tcp.cunsigned long daddr, int len, volatile struct sock *sk)
sk444net/tcp/tcp.cif (sk && sk->no_check) return;
sk450net/tcp/tcp.ctcp_send_partial(volatile struct sock *sk)
sk454net/tcp/tcp.cif (sk == NULL || sk->send_tmp == NULL) return;
sk456net/tcp/tcp.cskb = sk->send_tmp;
sk458net/tcp/tcp.ctcp_send_check (skb->h.th, sk->saddr, sk->daddr,
sk460net/tcp/tcp.c(unsigned long)(skb+1), sk);
sk462net/tcp/tcp.cskb->h.seq = sk->send_seq;
sk463net/tcp/tcp.cif (after (sk->send_seq , sk->window_seq) ||
sk464net/tcp/tcp.csk->packets_out >= sk->cong_window)
sk467net/tcp/tcp.csk->cong_window, sk->packets_out);
sk469net/tcp/tcp.csk->send_seq, sk->window_seq);
sk472net/tcp/tcp.cif (sk->wback == NULL)
sk474net/tcp/tcp.csk->wfront=skb;
sk478net/tcp/tcp.csk->wback->next = skb;
sk480net/tcp/tcp.csk->wback = skb;
sk484net/tcp/tcp.csk->prot->queue_xmit (sk, skb->dev, skb,0);
sk486net/tcp/tcp.csk->send_tmp = NULL;
sk494net/tcp/tcp.cvolatile struct sock *sk,
sk505net/tcp/tcp.cbuff=sk->prot->wmalloc(sk,MAX_ACK_SIZE,1, GFP_ATOMIC);
sk509net/tcp/tcp.csk->ack_backlog++;
sk510net/tcp/tcp.cif (sk->timeout != TIME_WRITE && tcp_connected (sk->state))
sk512net/tcp/tcp.csk->timeout = TIME_WRITE;
sk513net/tcp/tcp.csk->time_wait.len = 10; /* got to do it quickly. */
sk514net/tcp/tcp.creset_timer ((struct timer *)&sk->time_wait);
sk523net/tcp/tcp.cbuff->sk = sk;
sk526net/tcp/tcp.ctmp = sk->prot->build_header (buff, sk->saddr, daddr, &dev,
sk527net/tcp/tcp.cIPPROTO_TCP, sk->opt, MAX_ACK_SIZE);
sk530net/tcp/tcp.csk->prot->wfree(sk, buff->mem_addr, buff->mem_len);
sk543net/tcp/tcp.csk->window = sk->prot->rspace(sk);
sk544net/tcp/tcp.ct1->window = net16(sk->window);
sk552net/tcp/tcp.cif (ack == sk->acked_seq)
sk554net/tcp/tcp.csk->ack_backlog = 0;
sk555net/tcp/tcp.csk->bytes_rcv = 0;
sk556net/tcp/tcp.csk->ack_timed = 0;
sk557net/tcp/tcp.cif (sk->send_head == NULL &&
sk558net/tcp/tcp.csk->wfront == NULL)
sk560net/tcp/tcp.cdelete_timer((struct timer *)&sk->time_wait);
sk561net/tcp/tcp.csk->timeout = 0;
sk567net/tcp/tcp.ctcp_send_check (t1, sk->saddr, daddr, sizeof (*t1), sk);
sk568net/tcp/tcp.csk->prot->queue_xmit(sk, dev, buff, 1);
sk573net/tcp/tcp.ctcp_build_header(struct tcp_header *th, volatile struct sock *sk, int push)
sk577net/tcp/tcp.cmemcpy (th,(void *) &(sk->dummy_th), sizeof (*th));
sk578net/tcp/tcp.cth->seq = net32(sk->send_seq);
sk583net/tcp/tcp.csk->ack_backlog = 0;
sk584net/tcp/tcp.csk->bytes_rcv = 0;
sk585net/tcp/tcp.csk->ack_timed = 0;
sk586net/tcp/tcp.cth->ack_seq = net32(sk->acked_seq);
sk587net/tcp/tcp.csk->window = sk->prot->rspace(sk);
sk588net/tcp/tcp.cth->window = net16(sk->window);
sk597net/tcp/tcp.ctcp_write (volatile struct sock *sk, unsigned char *from,
sk609net/tcp/tcp.csk, from, len, nonblock, flags);
sk611net/tcp/tcp.cprint_sk (sk);
sk613net/tcp/tcp.cprot = sk->prot;
sk618net/tcp/tcp.csk->inuse = 1; /* no one else will use this socket. */
sk619net/tcp/tcp.cwhile (sk->state != TCP_ESTABLISHED && sk->state != TCP_CLOSE_WAIT)
sk621net/tcp/tcp.cif (sk->state != TCP_SYN_SENT &&
sk622net/tcp/tcp.csk->state != TCP_SYN_RECV)
sk624net/tcp/tcp.crelease_sock (sk);
sk628net/tcp/tcp.cif (sk->err)
sk630net/tcp/tcp.ctmp = -sk->err;
sk631net/tcp/tcp.csk->err = 0;
sk635net/tcp/tcp.cif (sk->keepopen)
sk645net/tcp/tcp.crelease_sock (sk);
sk656net/tcp/tcp.crelease_sock (sk);
sk658net/tcp/tcp.cif (sk->state != TCP_ESTABLISHED && sk->state != TCP_CLOSE_WAIT)
sk660net/tcp/tcp.cinterruptible_sleep_on (sk->sleep);
sk670net/tcp/tcp.csk->inuse = 1;
sk674net/tcp/tcp.cif (sk->send_tmp != NULL)
sk678net/tcp/tcp.cskb = sk->send_tmp;
sk681net/tcp/tcp.ccopy = min (sk->mss - skb->len + 128 + prot->max_header, len);
sk692net/tcp/tcp.csk->send_seq += copy;
sk696net/tcp/tcp.c(unsigned long)(skb+1) >= sk->mss
sk699net/tcp/tcp.ctcp_send_partial (sk);
sk708net/tcp/tcp.ccopy = min (sk->mtu, diff(sk->window_seq, sk->send_seq));
sk711net/tcp/tcp.cif (copy < 200 || copy > sk->mtu) copy = sk->mtu;
sk715net/tcp/tcp.cif (sk->packets_out && copy < sk->mss && !(flags & MSG_OOB)) 
sk718net/tcp/tcp.crelease_sock (sk);
sk719net/tcp/tcp.cskb=prot->wmalloc (sk,
sk720net/tcp/tcp.csk->mss + 128 + prot->max_header + sizeof (*skb),
sk722net/tcp/tcp.csk->inuse = 1;
sk723net/tcp/tcp.csk->send_tmp = skb;
sk725net/tcp/tcp.cskb->mem_len = sk->mss + 128 + prot->max_header+sizeof (*skb);
sk730net/tcp/tcp.crelease_sock (sk);
sk731net/tcp/tcp.cskb=prot->wmalloc (sk, copy + prot->max_header+sizeof (*skb),0,
sk733net/tcp/tcp.csk->inuse = 1;
sk743net/tcp/tcp.crelease_sock (sk);
sk750net/tcp/tcp.ctmp = sk->wmem_alloc;
sk751net/tcp/tcp.crelease_sock (sk);
sk755net/tcp/tcp.cif (tmp <= sk->wmem_alloc)
sk757net/tcp/tcp.cinterruptible_sleep_on (sk->sleep);
sk766net/tcp/tcp.csk->inuse = 1;
sk773net/tcp/tcp.cskb->sk = sk;
sk781net/tcp/tcp.ctmp = prot->build_header (skb, sk->saddr, sk->daddr, &dev,
sk782net/tcp/tcp.cIPPROTO_TCP, sk->opt, skb->mem_len);
sk785net/tcp/tcp.cprot->wfree (sk, skb->mem_addr, skb->mem_len);
sk786net/tcp/tcp.crelease_sock (sk);
sk795net/tcp/tcp.ctmp = tcp_build_header((struct tcp_header *)buff, sk, len-copy);
sk799net/tcp/tcp.cprot->wfree (sk, skb->mem_addr, skb->mem_len);
sk800net/tcp/tcp.crelease_sock (sk);
sk819net/tcp/tcp.csk->send_seq += copy;
sk821net/tcp/tcp.cif (sk->send_tmp != NULL)
sk826net/tcp/tcp.ctcp_send_check ((struct tcp_header *)buff, sk->saddr, sk->daddr,
sk827net/tcp/tcp.ccopy +sizeof (struct tcp_header), sk);
sk830net/tcp/tcp.cskb->h.seq = sk->send_seq;
sk831net/tcp/tcp.cif (after (sk->send_seq , sk->window_seq) ||
sk832net/tcp/tcp.csk->packets_out >= sk->cong_window)
sk835net/tcp/tcp.csk->cong_window, sk->packets_out);
sk837net/tcp/tcp.csk->send_seq, sk->window_seq);
sk840net/tcp/tcp.cif (sk->wback == NULL)
sk842net/tcp/tcp.csk->wfront=skb;
sk846net/tcp/tcp.csk->wback->next = skb;
sk848net/tcp/tcp.csk->wback = skb;
sk852net/tcp/tcp.cprot->queue_xmit (sk, dev, skb,0);
sk855net/tcp/tcp.csk->err = 0;
sk856net/tcp/tcp.crelease_sock (sk);
sk862net/tcp/tcp.ctcp_sendto (volatile struct sock *sk, unsigned char *from,
sk872net/tcp/tcp.cif (sin.sin_port != sk->dummy_th.dest)
sk874net/tcp/tcp.cif (sin.sin_addr.s_addr != sk->daddr)
sk876net/tcp/tcp.creturn (tcp_write (sk, from, len, nonblock, flags));
sk880net/tcp/tcp.ctcp_read_wakeup(volatile struct sock *sk)
sk887net/tcp/tcp.cif (!sk->ack_backlog ) return;
sk896net/tcp/tcp.cbuff=sk->prot->wmalloc(sk,MAX_ACK_SIZE,1, GFP_ATOMIC);
sk900net/tcp/tcp.csk->timeout = TIME_WRITE;
sk901net/tcp/tcp.csk->time_wait.len = 10;
sk902net/tcp/tcp.creset_timer((struct timer *) &sk->time_wait);
sk910net/tcp/tcp.cbuff->sk = sk;
sk913net/tcp/tcp.ctmp = sk->prot->build_header (buff, sk->saddr, sk->daddr, &dev,
sk914net/tcp/tcp.cIPPROTO_TCP, sk->opt, MAX_ACK_SIZE);
sk917net/tcp/tcp.csk->prot->wfree(sk, buff->mem_addr, buff->mem_len);
sk924net/tcp/tcp.cmemcpy (t1,(void *) &sk->dummy_th, sizeof (*t1));
sk925net/tcp/tcp.ct1->seq = net32(sk->send_seq);
sk933net/tcp/tcp.csk->ack_backlog = 0;
sk934net/tcp/tcp.csk->bytes_rcv = 0;
sk935net/tcp/tcp.csk->window = sk->prot->rspace(sk);
sk936net/tcp/tcp.ct1->window = net16(sk->window);
sk937net/tcp/tcp.ct1->ack_seq = net32(sk->acked_seq);
sk939net/tcp/tcp.ctcp_send_check (t1, sk->saddr, sk->daddr, sizeof (*t1), sk);
sk940net/tcp/tcp.csk->prot->queue_xmit(sk, dev, buff, 1);
sk949net/tcp/tcp.ccleanup_rbuf (volatile struct sock *sk)
sk954net/tcp/tcp.cwhile (sk->rqueue != NULL )
sk957net/tcp/tcp.cskb=sk->rqueue->next;
sk959net/tcp/tcp.cif (sk->rqueue == skb)
sk961net/tcp/tcp.csk->rqueue = NULL;
sk968net/tcp/tcp.cskb->sk = sk;
sk977net/tcp/tcp.cif ((sk->prot->rspace(sk) >
sk978net/tcp/tcp.c(sk->window - sk->bytes_rcv + TCP_WINDOW_DIFF)))
sk980net/tcp/tcp.csk->ack_backlog++;
sk982net/tcp/tcp.cif ( before (jiffies + TCP_ACK_TIME, sk->time_wait.when))
sk984net/tcp/tcp.csk->time_wait.len = TCP_ACK_TIME;
sk985net/tcp/tcp.creset_timer ((struct timer *)&sk->time_wait);
sk993net/tcp/tcp.ctcp_read_urg(volatile struct sock * sk, int nonblock,
sk999net/tcp/tcp.csk, to, len, flags);
sk1000net/tcp/tcp.cprint_sk(sk);
sk1003net/tcp/tcp.csk->inuse = 1;
sk1004net/tcp/tcp.cwhile (sk->urg==0 || sk->rqueue == NULL)
sk1006net/tcp/tcp.cif (sk->err)
sk1009net/tcp/tcp.crelease_sock (sk);
sk1011net/tcp/tcp.ctmp = -sk->err;
sk1012net/tcp/tcp.csk->err = 0;
sk1016net/tcp/tcp.cif (sk->state == TCP_CLOSE)
sk1018net/tcp/tcp.crelease_sock (sk);
sk1020net/tcp/tcp.cif (!sk->done)
sk1022net/tcp/tcp.csk->done = 1;
sk1028net/tcp/tcp.cif (sk->shutdown & RCV_SHUTDOWN)
sk1030net/tcp/tcp.crelease_sock(sk);
sk1032net/tcp/tcp.csk->done = 1;
sk1038net/tcp/tcp.crelease_sock (sk);
sk1044net/tcp/tcp.crelease_sock (sk);
sk1046net/tcp/tcp.cif (sk->urg == 0 || sk->rqueue == NULL)
sk1048net/tcp/tcp.cinterruptible_sleep_on (sk->sleep);
sk1057net/tcp/tcp.csk->inuse = 1;
sk1060net/tcp/tcp.cfor (skb = sk->rqueue->next; skb->next != sk->rqueue;
sk1076net/tcp/tcp.csk->urg --;
sk1078net/tcp/tcp.crelease_sock (sk);
sk1088net/tcp/tcp.ctcp_read(volatile struct sock *sk, unsigned char *to,
sk1103net/tcp/tcp.cif (sk->state == TCP_LISTEN) return (-ENOTCONN);
sk1106net/tcp/tcp.cif (sk->err)
sk1109net/tcp/tcp.cerr = -sk->err;
sk1110net/tcp/tcp.csk->err = 0;
sk1116net/tcp/tcp.creturn (tcp_read_urg (sk, nonblock, to, len, flags));
sk1119net/tcp/tcp.csk->inuse = 1;
sk1120net/tcp/tcp.cif (sk->rqueue != NULL)
sk1121net/tcp/tcp.cskb=sk->rqueue->next;
sk1126net/tcp/tcp.csk, to, len, nonblock, flags);
sk1130net/tcp/tcp.cwhile ( skb == NULL || before (sk->copied_seq+1, skb->h.th->seq) ||
sk1137net/tcp/tcp.cprint_sk (sk);
sk1139net/tcp/tcp.ccleanup_rbuf(sk);
sk1141net/tcp/tcp.cif (sk->err)
sk1144net/tcp/tcp.crelease_sock (sk);
sk1146net/tcp/tcp.ctmp = -sk->err;
sk1147net/tcp/tcp.csk->err = 0;
sk1151net/tcp/tcp.cif (sk->state == TCP_CLOSE)
sk1153net/tcp/tcp.crelease_sock (sk);
sk1155net/tcp/tcp.cif (!sk->done)
sk1157net/tcp/tcp.csk->done = 1;
sk1163net/tcp/tcp.cif (sk->shutdown & RCV_SHUTDOWN)
sk1165net/tcp/tcp.crelease_sock (sk);
sk1166net/tcp/tcp.cif (copied == 0) sk->done = 1;
sk1173net/tcp/tcp.crelease_sock (sk);
sk1180net/tcp/tcp.crelease_sock (sk);
sk1184net/tcp/tcp.cPRINTK ("tcp_read about to sleep. state = %d\n",sk->state);
sk1186net/tcp/tcp.crelease_sock (sk); /* now we may have some data waiting. */
sk1189net/tcp/tcp.cif ( sk->rqueue == NULL ||
sk1190net/tcp/tcp.cbefore (sk->copied_seq+1, sk->rqueue->next->h.th->seq))
sk1192net/tcp/tcp.cinterruptible_sleep_on (sk->sleep);
sk1203net/tcp/tcp.csk->inuse = 1;
sk1205net/tcp/tcp.cif (sk->rqueue != NULL)
sk1206net/tcp/tcp.cskb=sk->rqueue->next;
sk1215net/tcp/tcp.coffset = sk->copied_seq+1 - skb->h.th->seq;
sk1227net/tcp/tcp.csk->copied_seq += skb->h.th->urg_ptr;
sk1252net/tcp/tcp.csk->copied_seq += used;
sk1275net/tcp/tcp.ccleanup_rbuf (sk);
sk1276net/tcp/tcp.crelease_sock (sk);
sk1287net/tcp/tcp.ctcp_shutdown (volatile struct sock *sk, int how)
sk1304net/tcp/tcp.cif (sk->send_tmp)
sk1305net/tcp/tcp.ctcp_send_partial(sk);
sk1307net/tcp/tcp.cprot = (struct proto *)sk->prot;
sk1308net/tcp/tcp.cth=(struct tcp_header *)&sk->dummy_th;
sk1309net/tcp/tcp.cbuff=prot->wmalloc(sk, MAX_RESET_SIZE,1, GFP_KERNEL);
sk1312net/tcp/tcp.csk->inuse = 1;
sk1318net/tcp/tcp.cbuff->sk = sk;
sk1323net/tcp/tcp.ctmp = prot->build_header (buff,sk->saddr, sk->daddr, &dev,
sk1324net/tcp/tcp.cIPPROTO_TCP, sk->opt,
sk1328net/tcp/tcp.cprot->wfree (sk,buff->mem_addr, buff->mem_len);
sk1330net/tcp/tcp.crelease_sock(sk);
sk1340net/tcp/tcp.ct1->seq = net32(sk->send_seq);
sk1341net/tcp/tcp.csk->fin_seq = th->seq+1; /* Contains the one that needs to be acked */
sk1343net/tcp/tcp.csk->send_seq++;
sk1344net/tcp/tcp.cbuff->h.seq = sk->send_seq;
sk1347net/tcp/tcp.ct1->ack_seq = net32(sk->acked_seq);
sk1348net/tcp/tcp.ct1->window = net16(sk->prot->rspace(sk));
sk1353net/tcp/tcp.ctcp_send_check (t1, sk->saddr, sk->daddr, sizeof (*t1), sk);
sk1357net/tcp/tcp.cif (sk->wback != NULL)
sk1360net/tcp/tcp.csk->wback->next = buff;
sk1361net/tcp/tcp.csk->wback = buff;
sk1366net/tcp/tcp.csk->prot->queue_xmit (sk, dev, buff,0);
sk1369net/tcp/tcp.cif (sk->state == TCP_ESTABLISHED)
sk1371net/tcp/tcp.csk->state = TCP_FIN_WAIT1;
sk1375net/tcp/tcp.csk->state = TCP_FIN_WAIT2;
sk1377net/tcp/tcp.crelease_sock(sk);
sk1382net/tcp/tcp.ctcp_recvfrom (volatile struct sock *sk, unsigned char *to,
sk1386net/tcp/tcp.cint result = tcp_read(sk, to, to_len, nonblock, flags);
sk1395net/tcp/tcp.csin.sin_port = sk->dummy_th.dest;
sk1396net/tcp/tcp.csin.sin_addr.s_addr = sk->daddr;
sk1422net/tcp/tcp.cbuff->sk = NULL;
sk1461net/tcp/tcp.ctcp_conn_request(volatile struct sock *sk, struct sk_buff *skb,
sk1475net/tcp/tcp.csk, skb, daddr, saddr, opt, dev);
sk1478net/tcp/tcp.cif (!sk->dead)
sk1480net/tcp/tcp.cwake_up(sk->sleep);
sk1485net/tcp/tcp.ctcp_reset (daddr, saddr, th, sk->prot, opt, dev);
sk1492net/tcp/tcp.cif (sk->ack_backlog >= sk->max_ack_backlog)
sk1514net/tcp/tcp.cmemcpy ((void *)newsk, (void *)sk, sizeof (*newsk));
sk1545net/tcp/tcp.cnewsk->time_wait.sk = newsk;
sk1588net/tcp/tcp.csk->err = -ENOMEM;
sk1599net/tcp/tcp.cbuff->sk = newsk;
sk1604net/tcp/tcp.ctmp = sk->prot->build_header (buff, newsk->saddr, newsk->daddr, &dev,
sk1610net/tcp/tcp.csk->err = tmp;
sk1611net/tcp/tcp.csk->prot->wfree(newsk, buff->mem_addr, buff->mem_len);
sk1614net/tcp/tcp.cskb->sk = sk;
sk1650net/tcp/tcp.cPRINTK ("newsk->time_wait.sk = %X\n", newsk->time_wait.sk);
sk1652net/tcp/tcp.cskb->sk = newsk;
sk1654net/tcp/tcp.csk->rmem_alloc -= skb->mem_len;
sk1657net/tcp/tcp.cif (sk->rqueue == NULL)
sk1661net/tcp/tcp.csk->rqueue = skb;
sk1665net/tcp/tcp.cskb->next = sk->rqueue;
sk1666net/tcp/tcp.cskb->prev = sk->rqueue->prev;
sk1667net/tcp/tcp.csk->rqueue->prev = skb;
sk1670net/tcp/tcp.csk->ack_backlog++;
sk1675net/tcp/tcp.ctcp_close (volatile struct sock *sk, int timeout)
sk1685net/tcp/tcp.cPRINTK ("tcp_close ((struct sock *)%X, %d)\n",sk, timeout);
sk1686net/tcp/tcp.csk->inuse = 1;
sk1687net/tcp/tcp.csk->keepopen = 0;
sk1688net/tcp/tcp.csk->shutdown = SHUTDOWN_MASK;
sk1690net/tcp/tcp.cif (!sk->dead)
sk1691net/tcp/tcp.cwake_up (sk->sleep);
sk1696net/tcp/tcp.cif (sk->rqueue != NULL)
sk1700net/tcp/tcp.cskb = sk->rqueue;
sk1705net/tcp/tcp.c} while (skb != sk->rqueue);
sk1708net/tcp/tcp.csk->rqueue = NULL;
sk1711net/tcp/tcp.cif (sk->send_tmp)
sk1713net/tcp/tcp.ctcp_send_partial (sk);
sk1716net/tcp/tcp.cswitch (sk->state)
sk1723net/tcp/tcp.csk->time_wait.len = 4*sk->rtt;;
sk1724net/tcp/tcp.csk->timeout = TIME_CLOSE;
sk1725net/tcp/tcp.creset_timer ((struct timer *)&sk->time_wait);
sk1727net/tcp/tcp.ctcp_time_wait(sk);
sk1728net/tcp/tcp.crelease_sock (sk);
sk1735net/tcp/tcp.csk->state = TCP_CLOSE;
sk1736net/tcp/tcp.crelease_sock (sk);
sk1740net/tcp/tcp.csk->state = TCP_CLOSE;
sk1741net/tcp/tcp.crelease_sock(sk);
sk1746net/tcp/tcp.crelease_sock(sk);
sk1755net/tcp/tcp.cprot = (struct proto *)sk->prot;
sk1756net/tcp/tcp.cth=(struct tcp_header *)&sk->dummy_th;
sk1758net/tcp/tcp.cbuff=prot->wmalloc(sk, MAX_FIN_SIZE,1, GFP_ATOMIC);
sk1762net/tcp/tcp.cif (sk->state != TCP_CLOSE_WAIT)
sk1763net/tcp/tcp.csk->state = TCP_ESTABLISHED;
sk1764net/tcp/tcp.csk->timeout = TIME_CLOSE;
sk1765net/tcp/tcp.csk->time_wait.len = 100; /* wait a second. */
sk1766net/tcp/tcp.creset_timer ((struct timer *)&sk->time_wait);
sk1773net/tcp/tcp.cbuff->sk = sk;
sk1777net/tcp/tcp.ctmp = prot->build_header (buff,sk->saddr, sk->daddr, &dev,
sk1778net/tcp/tcp.cIPPROTO_TCP, sk->opt,
sk1782net/tcp/tcp.cprot->wfree (sk,buff->mem_addr, buff->mem_len);
sk1784net/tcp/tcp.crelease_sock(sk);
sk1792net/tcp/tcp.ct1->seq = net32(sk->send_seq);
sk1793net/tcp/tcp.csk->send_seq++;
sk1794net/tcp/tcp.cbuff->h.seq = sk->send_seq;
sk1798net/tcp/tcp.csk->delay_acks = 0;
sk1799net/tcp/tcp.ct1->ack_seq = net32(sk->acked_seq);
sk1800net/tcp/tcp.ct1->window = net16(sk->prot->rspace(sk));
sk1804net/tcp/tcp.ctcp_send_check (t1, sk->saddr, sk->daddr, sizeof (*t1), sk);
sk1806net/tcp/tcp.cif (sk->wfront == NULL)
sk1808net/tcp/tcp.cprot->queue_xmit(sk, dev, buff, 0);
sk1812net/tcp/tcp.csk->time_wait.len = sk->rtt;
sk1813net/tcp/tcp.csk->timeout = TIME_WRITE;
sk1814net/tcp/tcp.creset_timer ((struct timer *)&sk->time_wait);
sk1816net/tcp/tcp.cif (sk->wback == NULL)
sk1818net/tcp/tcp.csk->wfront=buff;
sk1822net/tcp/tcp.csk->wback->next = buff;
sk1824net/tcp/tcp.csk->wback = buff;
sk1829net/tcp/tcp.cif (sk->state == TCP_CLOSE_WAIT)
sk1831net/tcp/tcp.csk->state = TCP_FIN_WAIT2;
sk1835net/tcp/tcp.csk->state = TCP_FIN_WAIT1;
sk1838net/tcp/tcp.crelease_sock (sk);
sk1845net/tcp/tcp.ctcp_write_xmit (volatile struct sock *sk)
sk1848net/tcp/tcp.cPRINTK ("tcp_write_xmit (sk=%X)\n",sk);
sk1849net/tcp/tcp.cwhile (sk->wfront != NULL && before (sk->wfront->h.seq, sk->window_seq) &&
sk1850net/tcp/tcp.csk->packets_out < sk->cong_window)
sk1852net/tcp/tcp.cskb = sk->wfront;
sk1853net/tcp/tcp.csk->wfront = skb->next;
sk1854net/tcp/tcp.cif (sk->wfront == NULL)
sk1855net/tcp/tcp.csk->wback = NULL;
sk1861net/tcp/tcp.csk->wfront = NULL;
sk1862net/tcp/tcp.csk->wback = NULL;
sk1867net/tcp/tcp.csk->prot->queue_xmit (sk, skb->dev, skb, skb->free);
sk1876net/tcp/tcp.ctcp_ack (volatile struct sock *sk, struct tcp_header *th, unsigned long saddr)
sk1883net/tcp/tcp.cack, net16(th->window), sk->rcv_ack_seq, sk->window_seq);
sk1884net/tcp/tcp.cif (after (ack, sk->send_seq+1) || before (ack, sk->rcv_ack_seq-1))
sk1886net/tcp/tcp.cif (after (ack, sk->send_seq) || (sk->state != TCP_ESTABLISHED &&
sk1887net/tcp/tcp.csk->state != TCP_CLOSE_WAIT)) 
sk1891net/tcp/tcp.cif (sk->keepopen)
sk1892net/tcp/tcp.creset_timer ((struct timer *)&sk->time_wait);
sk1893net/tcp/tcp.csk->retransmits = 0;
sk1898net/tcp/tcp.cif (after (sk->window_seq, ack+net16(th->window)))
sk1910net/tcp/tcp.csk->window_seq = ack + net16(th->window);
sk1912net/tcp/tcp.cfor (skb = sk->send_head; skb != NULL; skb=skb->link3)
sk1914net/tcp/tcp.cif (after( skb->h.seq, sk->window_seq))
sk1920net/tcp/tcp.csk->send_head = skb->link3;
sk1926net/tcp/tcp.cif (sk->send_tail == skb)
sk1927net/tcp/tcp.csk->send_tail = skb2;
sk1962net/tcp/tcp.cskb->next = sk->wfront;
sk1963net/tcp/tcp.csk->wfront = skb;
sk1980net/tcp/tcp.csk->window_seq = ack + net16(th->window);
sk1983net/tcp/tcp.cif (sk->cong_window < 2048 && ack != sk->rcv_ack_seq)
sk1985net/tcp/tcp.cif (sk->exp_growth)
sk1986net/tcp/tcp.csk->cong_window *= 2;
sk1988net/tcp/tcp.csk->cong_window++;
sk1992net/tcp/tcp.csk->rcv_ack_seq = ack;
sk1995net/tcp/tcp.cwhile (sk->send_head != NULL)
sk1997net/tcp/tcp.cif (before (sk->send_head->h.seq, ack+1))
sk2001net/tcp/tcp.csk->packets_out --;
sk2002net/tcp/tcp.cPRINTK ("skb=%X acked\n", sk->send_head);
sk2005net/tcp/tcp.cif (!sk->dead)
sk2006net/tcp/tcp.cwake_up (sk->sleep);
sk2010net/tcp/tcp.coskb = sk->send_head;
sk2012net/tcp/tcp.csk->rtt += ((jiffies - oskb->when) - sk->rtt)/2;
sk2013net/tcp/tcp.cif (sk->rtt < 30) sk->rtt = 30;
sk2014net/tcp/tcp.csk->send_head = oskb->link3;
sk2015net/tcp/tcp.cif (sk->send_head == NULL) 
sk2017net/tcp/tcp.csk->send_tail = NULL;
sk2050net/tcp/tcp.cif (!sk->dead)
sk2051net/tcp/tcp.cwake_up(sk->sleep);
sk2066net/tcp/tcp.cif (sk->retransmits && sk->send_head != NULL)
sk2069net/tcp/tcp.csk->prot->retransmit (sk,1);
sk2071net/tcp/tcp.csk->retransmits = 0;
sk2075net/tcp/tcp.cif (sk->wfront != NULL && sk->packets_out < sk->cong_window)
sk2077net/tcp/tcp.cif (after (sk->window_seq, sk->wfront->h.seq))
sk2079net/tcp/tcp.ctcp_write_xmit (sk);
sk2084net/tcp/tcp.cif (sk->send_head == NULL && sk->ack_backlog == 0 &&
sk2085net/tcp/tcp.csk->state != TCP_TIME_WAIT && !sk->keepopen)
sk2088net/tcp/tcp.cif (!sk->dead)
sk2089net/tcp/tcp.cwake_up (sk->sleep);
sk2092net/tcp/tcp.csk->time_wait.len = TCP_PROBEWAIT_LEN;
sk2093net/tcp/tcp.csk->timeout = TIME_KEEPOPEN;
sk2094net/tcp/tcp.creset_timer((struct timer *)&sk->time_wait);
sk2095net/tcp/tcp.csk->timeout = 0;
sk2099net/tcp/tcp.cif (sk->state == TCP_TIME_WAIT)
sk2101net/tcp/tcp.csk->time_wait.len = TCP_TIMEWAIT_LEN;
sk2102net/tcp/tcp.csk->timeout = TIME_CLOSE;
sk2104net/tcp/tcp.csk->timeout = TIME_WRITE;
sk2105net/tcp/tcp.csk->time_wait.len = sk->rtt*2;
sk2106net/tcp/tcp.creset_timer ((struct timer *)&sk->time_wait);
sk2111net/tcp/tcp.cif (sk->packets_out == 0 && sk->send_tmp != NULL &&
sk2112net/tcp/tcp.csk->wfront == NULL && sk->send_head == NULL)
sk2114net/tcp/tcp.ctcp_send_partial (sk);
sk2118net/tcp/tcp.cif ( sk->state == TCP_TIME_WAIT)
sk2120net/tcp/tcp.cif (sk->rcv_ack_seq == sk->send_seq &&    
sk2121net/tcp/tcp.csk->acked_seq == sk->fin_seq);
sk2122net/tcp/tcp.cif (!sk->dead) wake_up (sk->sleep);
sk2123net/tcp/tcp.csk->state = TCP_CLOSE;
sk2126net/tcp/tcp.cif (sk->state == TCP_LAST_ACK || sk->state == TCP_FIN_WAIT2)
sk2128net/tcp/tcp.cif (sk->rcv_ack_seq == sk->send_seq)
sk2130net/tcp/tcp.cif (sk->acked_seq != sk->fin_seq)
sk2132net/tcp/tcp.ctcp_time_wait(sk);
sk2136net/tcp/tcp.ctcp_send_ack (sk->send_seq, sk->acked_seq, sk, th, sk->daddr);
sk2137net/tcp/tcp.csk->state = TCP_CLOSE;
sk2140net/tcp/tcp.cif (!sk->dead) wake_up (sk->sleep);
sk2153net/tcp/tcp.ctcp_data (struct sk_buff *skb, volatile struct sock *sk, 
sk2163net/tcp/tcp.cPRINTK("tcp_data len = %d sk = %X:\n",skb->len, sk);
sk2164net/tcp/tcp.cprint_sk(sk);
sk2166net/tcp/tcp.csk->bytes_rcv += skb->len;
sk2172net/tcp/tcp.ctcp_send_ack (sk->send_seq, sk->acked_seq,sk, th, saddr);
sk2177net/tcp/tcp.cif (sk->shutdown & RCV_SHUTDOWN)
sk2180net/tcp/tcp.csk->acked_seq = th->seq + skb->len + th->syn + th->fin;
sk2181net/tcp/tcp.ctcp_send_ack (sk->send_seq, sk->acked_seq, sk, skb->h.th, saddr);
sk2183net/tcp/tcp.cif (sk->acked_seq == sk->fin_seq)
sk2185net/tcp/tcp.cif (!sk->dead) wake_up (sk->sleep);
sk2186net/tcp/tcp.cif (sk->state == TCP_TIME_WAIT || sk->state == TCP_LAST_ACK
sk2187net/tcp/tcp.c|| sk->state == TCP_FIN_WAIT2)
sk2188net/tcp/tcp.csk->state = TCP_CLOSE;
sk2199net/tcp/tcp.cif (sk->rqueue == NULL)
sk2204net/tcp/tcp.csk->rqueue = skb;
sk2211net/tcp/tcp.cPRINTK ("tcp_data adding to chain sk = %X:\n",sk);
sk2212net/tcp/tcp.cprint_sk (sk);
sk2214net/tcp/tcp.cfor (skb1=sk->rqueue; ; skb1=skb1->prev)
sk2225net/tcp/tcp.cif (skb1 == sk->rqueue)
sk2226net/tcp/tcp.csk->rqueue = skb;
sk2229net/tcp/tcp.cif  ( skb1->prev == sk->rqueue)
sk2243net/tcp/tcp.cprint_sk (sk);
sk2251net/tcp/tcp.cif (before (sk->acked_seq, sk->copied_seq))
sk2254net/tcp/tcp.csk->acked_seq = sk->copied_seq;
sk2258net/tcp/tcp.cif (skb1 == NULL || skb1->acked || before (th->seq, sk->acked_seq+1))
sk2260net/tcp/tcp.cif (before (th->seq, sk->acked_seq+1))
sk2262net/tcp/tcp.cif (after (th->ack_seq, sk->acked_seq))
sk2263net/tcp/tcp.csk->acked_seq = th->ack_seq;
sk2269net/tcp/tcp.csk->shutdown |= RCV_SHUTDOWN;
sk2272net/tcp/tcp.cfor (skb2=skb->next; skb2 != sk->rqueue->next; skb2=skb2->next)
sk2274net/tcp/tcp.cif (before(skb2->h.th->seq, sk->acked_seq+1))
sk2276net/tcp/tcp.cif (after (skb2->h.th->ack_seq, sk->acked_seq))
sk2277net/tcp/tcp.csk->acked_seq = skb2->h.th->ack_seq;
sk2283net/tcp/tcp.csk->shutdown |= RCV_SHUTDOWN;
sk2287net/tcp/tcp.csk->ack_backlog = sk->max_ack_backlog;
sk2298net/tcp/tcp.cif (!sk->delay_acks || 
sk2299net/tcp/tcp.csk->ack_backlog >= sk->max_ack_backlog || 
sk2300net/tcp/tcp.csk->bytes_rcv > sk->max_unacked || 
sk2303net/tcp/tcp.ctcp_send_ack (sk->send_seq, sk->acked_seq,sk,th, saddr);
sk2307net/tcp/tcp.csk->ack_backlog++;
sk2308net/tcp/tcp.csk->time_wait.len = TCP_ACK_TIME;
sk2309net/tcp/tcp.csk->timeout = TIME_WRITE;
sk2310net/tcp/tcp.creset_timer ((struct timer *)&sk->time_wait);
sk2317net/tcp/tcp.ctcp_send_ack (sk->send_seq, sk->acked_seq, sk, th, saddr);
sk2321net/tcp/tcp.cif (!sk->dead)
sk2323net/tcp/tcp.cwake_up (sk->sleep);
sk2330net/tcp/tcp.cif (sk->state == TCP_FIN_WAIT2 && sk->acked_seq == sk->fin_seq)
sk2332net/tcp/tcp.ctcp_send_ack (sk->send_seq, sk->acked_seq, sk, th, saddr);
sk2333net/tcp/tcp.csk->state = TCP_LAST_ACK;
sk2340net/tcp/tcp.ctcp_urg (volatile struct sock *sk, struct tcp_header *th, unsigned long saddr)
sk2345net/tcp/tcp.cif (!sk->dead)
sk2346net/tcp/tcp.cwake_up(sk->sleep);
sk2348net/tcp/tcp.cif (sk->urginline)
sk2355net/tcp/tcp.csk->urg++;
sk2357net/tcp/tcp.cif (!sk->urg)
sk2361net/tcp/tcp.cif (sk->proc == 0) return (0);
sk2362net/tcp/tcp.cif (sk->proc > 0)
sk2364net/tcp/tcp.ckill_proc (sk->proc, SIGURG, 1);
sk2368net/tcp/tcp.ckill_pg (-sk->proc, SIGURG, 1);
sk2376net/tcp/tcp.ctcp_fin (volatile struct sock *sk, struct tcp_header *th, 
sk2380net/tcp/tcp.csk, th, saddr, dev);
sk2382net/tcp/tcp.cif (!sk->dead)
sk2384net/tcp/tcp.cwake_up (sk->sleep);
sk2387net/tcp/tcp.csk->err = 0;
sk2388net/tcp/tcp.cswitch (sk->state)
sk2393net/tcp/tcp.csk->state = TCP_CLOSE_WAIT;
sk2400net/tcp/tcp.csk->state = TCP_FIN_WAIT2;
sk2405net/tcp/tcp.csk->state = TCP_LAST_ACK;
sk2407net/tcp/tcp.csk->time_wait.len = TCP_TIMEWAIT_LEN;
sk2408net/tcp/tcp.csk->timeout = TIME_CLOSE;
sk2409net/tcp/tcp.creset_timer ((struct timer *)&sk->time_wait);
sk2413net/tcp/tcp.csk->state = TCP_CLOSE;
sk2418net/tcp/tcp.csk->ack_backlog ++;
sk2422net/tcp/tcp.cbuff=sk->prot->wmalloc(sk,MAX_ACK_SIZE,1, GFP_ATOMIC);
sk2432net/tcp/tcp.cbuff->sk = sk;
sk2436net/tcp/tcp.ctmp = sk->prot->build_header (buff, sk->saddr, sk->daddr, &dev,
sk2437net/tcp/tcp.cIPPROTO_TCP,  sk->opt, MAX_ACK_SIZE);
sk2440net/tcp/tcp.csk->prot->wfree(sk, buff->mem_addr, buff->mem_len);
sk2454net/tcp/tcp.ct1->seq = net32(sk->send_seq);
sk2459net/tcp/tcp.cbuff->h.seq = sk->send_seq;
sk2460net/tcp/tcp.ct1->window = net16(sk->prot->rspace(sk));
sk2470net/tcp/tcp.ct1->ack_seq = net32(sk->acked_seq);
sk2473net/tcp/tcp.ctcp_send_check (t1, sk->saddr, sk->daddr, sizeof (*t1), sk);
sk2477net/tcp/tcp.cif (sk->wback != NULL)
sk2480net/tcp/tcp.csk->wback->next = buff;
sk2481net/tcp/tcp.csk->wback = buff;
sk2486net/tcp/tcp.csk->prot->queue_xmit (sk, dev, buff,0);
sk2496net/tcp/tcp.ctcp_accept (volatile struct sock *sk, int flags)
sk2501net/tcp/tcp.cPRINTK ("tcp_accept(sk=%X, flags=%X)\n", sk, flags);
sk2502net/tcp/tcp.cprint_sk(sk);
sk2506net/tcp/tcp.cif (sk->state != TCP_LISTEN)
sk2508net/tcp/tcp.csk->err = EINVAL;
sk2513net/tcp/tcp.csk->inuse = 1;
sk2515net/tcp/tcp.cwhile ( (skb = get_firstr(sk)) == NULL )
sk2520net/tcp/tcp.crelease_sock (sk);
sk2521net/tcp/tcp.csk->err = EAGAIN;
sk2525net/tcp/tcp.crelease_sock (sk);
sk2526net/tcp/tcp.cinterruptible_sleep_on (sk->sleep);
sk2530net/tcp/tcp.csk->err = ERESTARTSYS;
sk2534net/tcp/tcp.csk->inuse = 1;
sk2539net/tcp/tcp.cnewsk = skb->sk;
sk2542net/tcp/tcp.csk->ack_backlog--;
sk2543net/tcp/tcp.crelease_sock (sk);
sk2551net/tcp/tcp.ctcp_connect (volatile struct sock *sk, struct sockaddr_in *usin, int addr_len)
sk2559net/tcp/tcp.cif (sk->state != TCP_CLOSE) return (-EISCONN);
sk2567net/tcp/tcp.csk->daddr = sin.sin_addr.s_addr;
sk2568net/tcp/tcp.csk->send_seq = timer_seq*SEQ_TICK-seq_offset;
sk2569net/tcp/tcp.csk->rcv_ack_seq = sk->send_seq -1;
sk2570net/tcp/tcp.csk->err = 0;
sk2571net/tcp/tcp.csk->dummy_th.dest = sin.sin_port;
sk2573net/tcp/tcp.cbuff=sk->prot->wmalloc(sk,MAX_SYN_SIZE,0, GFP_KERNEL);
sk2578net/tcp/tcp.csk->inuse = 1;
sk2583net/tcp/tcp.cbuff->sk = sk;
sk2588net/tcp/tcp.ctmp = sk->prot->build_header (buff, sk->saddr, sk->daddr, &dev,
sk2592net/tcp/tcp.csk->prot->wfree(sk, buff->mem_addr, buff->mem_len);
sk2593net/tcp/tcp.crelease_sock (sk);
sk2599net/tcp/tcp.cmemcpy (t1, (void *)&(sk->dummy_th), sizeof (*t1));
sk2600net/tcp/tcp.ct1->seq = net32(sk->send_seq++);
sk2601net/tcp/tcp.cbuff->h.seq = sk->send_seq;
sk2618net/tcp/tcp.csk->mtu = dev->mtu - HEADER_SIZE;
sk2619net/tcp/tcp.ctcp_send_check (t1, sk->saddr, sk->daddr,
sk2620net/tcp/tcp.csizeof (struct tcp_header) + 4, sk);
sk2623net/tcp/tcp.csk->state = TCP_SYN_SENT;
sk2625net/tcp/tcp.csk->prot->queue_xmit(sk, dev, buff, 0);
sk2627net/tcp/tcp.csk->time_wait.len = TCP_CONNECT_TIME;
sk2628net/tcp/tcp.creset_timer ((struct timer *)&sk->time_wait);
sk2629net/tcp/tcp.csk->retransmits = TCP_RETR1 - TCP_SYN_RETRIES;
sk2630net/tcp/tcp.crelease_sock (sk);
sk2639net/tcp/tcp.ctcp_sequence (volatile struct sock *sk, struct tcp_header *th, short len,
sk2648net/tcp/tcp.csk, th, len, opt, saddr);
sk2650net/tcp/tcp.cif (between(th->seq, sk->acked_seq, sk->acked_seq + sk->window)||
sk2651net/tcp/tcp.cbetween(th->seq + len-sizeof (*th), sk->acked_seq, 
sk2652net/tcp/tcp.csk->acked_seq + sk->window) ||
sk2653net/tcp/tcp.c(before (th->seq, sk->acked_seq) &&
sk2654net/tcp/tcp.cafter (th->seq + len - sizeof (*th), sk->acked_seq + sk->window)))
sk2663net/tcp/tcp.cif (after (th->seq, sk->acked_seq + sk->window))
sk2665net/tcp/tcp.ctcp_send_ack (sk->send_seq, sk->acked_seq, sk, th, saddr);
sk2670net/tcp/tcp.cif (th->ack && len == th->doff*4 && after (th->seq, sk->acked_seq - 32767) &&
sk2676net/tcp/tcp.ctcp_send_ack (net32(th->ack_seq), sk->acked_seq, sk, th, saddr);
sk2685net/tcp/tcp.ctcp_options (volatile struct sock *sk, struct tcp_header *th)
sk2691net/tcp/tcp.csk->mtu = min (sk->mtu, 576-HEADER_SIZE);
sk2694net/tcp/tcp.csk->mtu = min (sk->mtu, ptr[2]*256 + ptr[3] - HEADER_SIZE);
sk2703net/tcp/tcp.cvolatile struct sock *sk;
sk2731net/tcp/tcp.csk=get_sock(&tcp_prot, net16(th->dest), saddr, th->source, daddr);
sk2735net/tcp/tcp.cif (sk)
sk2737net/tcp/tcp.cPRINTK ("sk = %X:\n",sk);
sk2738net/tcp/tcp.cprint_sk (sk);
sk2745net/tcp/tcp.cskb->sk = NULL;
sk2754net/tcp/tcp.cif (sk == NULL)
sk2758net/tcp/tcp.cskb->sk = NULL;
sk2764net/tcp/tcp.cskb->sk = sk;
sk2777net/tcp/tcp.cif (sk->inuse)
sk2779net/tcp/tcp.cif (sk->back_log == NULL)
sk2781net/tcp/tcp.csk->back_log = skb;
sk2787net/tcp/tcp.cskb->next = sk->back_log;
sk2788net/tcp/tcp.cskb->prev = sk->back_log->prev;
sk2795net/tcp/tcp.csk->inuse = 1;
sk2800net/tcp/tcp.cif (!sk)
sk2807net/tcp/tcp.cif (!sk->prot)
sk2814net/tcp/tcp.cif (sk->rmem_alloc + skb->mem_len >= SK_RMEM_MAX)
sk2816net/tcp/tcp.cskb->sk = NULL;
sk2819net/tcp/tcp.crelease_sock (sk);
sk2823net/tcp/tcp.csk->rmem_alloc += skb->mem_len;
sk2829net/tcp/tcp.cswitch (sk->state)
sk2836net/tcp/tcp.csk->err = ECONNRESET;
sk2837net/tcp/tcp.csk->state = TCP_CLOSE;
sk2838net/tcp/tcp.cif (!sk->dead)
sk2840net/tcp/tcp.cwake_up (sk->sleep);
sk2843net/tcp/tcp.crelease_sock(sk);
sk2853net/tcp/tcp.cif (!tcp_sequence (sk, th, len, opt, saddr))
sk2856net/tcp/tcp.crelease_sock(sk);
sk2862net/tcp/tcp.csk->err = ECONNRESET;
sk2863net/tcp/tcp.csk->state = TCP_CLOSE;
sk2864net/tcp/tcp.cif (!sk->dead)
sk2866net/tcp/tcp.cwake_up (sk->sleep);
sk2869net/tcp/tcp.crelease_sock(sk);
sk2874net/tcp/tcp.csk->err = ECONNRESET;
sk2875net/tcp/tcp.csk->state = TCP_CLOSE;
sk2876net/tcp/tcp.ctcp_reset (daddr, saddr,  th, sk->prot, opt,dev);
sk2877net/tcp/tcp.cif (!sk->dead)
sk2879net/tcp/tcp.cwake_up (sk->sleep);
sk2882net/tcp/tcp.crelease_sock(sk);
sk2888net/tcp/tcp.cif(!tcp_ack (sk, th, saddr))
sk2891net/tcp/tcp.crelease_sock(sk);
sk2897net/tcp/tcp.cif (tcp_urg (sk, th, saddr))
sk2900net/tcp/tcp.crelease_sock(sk);
sk2905net/tcp/tcp.cif ( tcp_data (skb, sk, saddr, len))
sk2908net/tcp/tcp.crelease_sock(sk);
sk2914net/tcp/tcp.crelease_sock(sk);
sk2918net/tcp/tcp.ctcp_fin (sk, th, saddr, dev);
sk2919net/tcp/tcp.crelease_sock(sk);
sk2924net/tcp/tcp.cif (sk->dead || sk->daddr)
sk2928net/tcp/tcp.crelease_sock (sk);
sk2936net/tcp/tcp.ctcp_reset (daddr, saddr, th, sk->prot, opt,dev);
sk2939net/tcp/tcp.crelease_sock(sk);
sk2946net/tcp/tcp.crelease_sock(sk);
sk2951net/tcp/tcp.ctcp_reset (daddr, saddr, th, sk->prot, opt,dev );
sk2953net/tcp/tcp.crelease_sock(sk);
sk2971net/tcp/tcp.ctcp_conn_request (sk, skb, daddr, saddr, opt, dev);
sk2973net/tcp/tcp.crelease_sock(sk);
sk2978net/tcp/tcp.crelease_sock(sk);
sk2982net/tcp/tcp.cif (!tcp_sequence (sk, th, len, opt, saddr)) 
sk2985net/tcp/tcp.crelease_sock(sk);
sk2992net/tcp/tcp.csk->err = ECONNREFUSED;
sk2993net/tcp/tcp.csk->state = TCP_CLOSE;
sk2994net/tcp/tcp.cif (!sk->dead)
sk2996net/tcp/tcp.cwake_up (sk->sleep);
sk2999net/tcp/tcp.crelease_sock(sk);
sk3020net/tcp/tcp.csk->state = TCP_SYN_RECV;
sk3024net/tcp/tcp.crelease_sock(sk);
sk3028net/tcp/tcp.cswitch (sk->state)
sk3031net/tcp/tcp.cif (!tcp_ack(sk, th, saddr))
sk3033net/tcp/tcp.ctcp_reset(daddr, saddr, th, sk->prot, opt,dev);
sk3035net/tcp/tcp.crelease_sock(sk);
sk3045net/tcp/tcp.crelease_sock (sk);
sk3050net/tcp/tcp.csk->acked_seq = th->seq+1;
sk3051net/tcp/tcp.csk->fin_seq = th->seq;
sk3052net/tcp/tcp.ctcp_send_ack (sk->send_seq, th->seq+1, sk, 
sk3053net/tcp/tcp.cth, sk->daddr);
sk3056net/tcp/tcp.cif (!tcp_ack(sk, th, saddr))
sk3058net/tcp/tcp.ctcp_reset(daddr, saddr, th, sk->prot, opt, dev);
sk3060net/tcp/tcp.crelease_sock(sk);
sk3064net/tcp/tcp.csk->state = TCP_ESTABLISHED;
sk3069net/tcp/tcp.ctcp_options(sk, th);
sk3070net/tcp/tcp.csk->dummy_th.dest = th->source;
sk3071net/tcp/tcp.csk->copied_seq = sk->acked_seq-1;
sk3072net/tcp/tcp.cif (!sk->dead)
sk3074net/tcp/tcp.cwake_up (sk->sleep);
sk3080net/tcp/tcp.cif (tcp_urg (sk, th, saddr))
sk3083net/tcp/tcp.crelease_sock(sk);
sk3086net/tcp/tcp.cif (tcp_data (skb, sk, saddr, len))
sk3090net/tcp/tcp.ctcp_fin(sk, th, saddr, dev);
sk3092net/tcp/tcp.crelease_sock(sk);
sk3098net/tcp/tcp.cif (tcp_urg (sk, th, saddr))
sk3101net/tcp/tcp.crelease_sock (sk);
sk3106net/tcp/tcp.cif (tcp_data (skb, sk, saddr, len))
sk3109net/tcp/tcp.crelease_sock (sk);
sk3115net/tcp/tcp.crelease_sock(sk);
sk3118net/tcp/tcp.ctcp_fin (sk, th, saddr, dev);
sk3119net/tcp/tcp.crelease_sock(sk);
sk3129net/tcp/tcp.ctcp_write_wakeup(volatile struct sock *sk)
sk3135net/tcp/tcp.cif (sk -> state != TCP_ESTABLISHED && sk->state != TCP_CLOSE_WAIT) return;
sk3137net/tcp/tcp.cbuff=sk->prot->wmalloc(sk,MAX_ACK_SIZE,1, GFP_ATOMIC);
sk3146net/tcp/tcp.cbuff->sk = sk;
sk3151net/tcp/tcp.ctmp = sk->prot->build_header (buff, sk->saddr, sk->daddr, &dev,
sk3152net/tcp/tcp.cIPPROTO_TCP, sk->opt, MAX_ACK_SIZE);
sk3155net/tcp/tcp.csk->prot->wfree(sk, buff->mem_addr, buff->mem_len);
sk3162net/tcp/tcp.cmemcpy (t1,(void *) &sk->dummy_th, sizeof (*t1));
sk3166net/tcp/tcp.ct1->seq = net32(sk->send_seq-1);
sk3175net/tcp/tcp.ct1->ack_seq = net32(sk->acked_seq);
sk3176net/tcp/tcp.ct1->window = net16(sk->prot->rspace(sk));
sk3178net/tcp/tcp.ctcp_send_check (t1, sk->saddr, sk->daddr, sizeof (*t1), sk);
sk3181net/tcp/tcp.csk->prot->queue_xmit(sk, dev, buff, 1);
sk157net/tcp/timer.cvolatile struct sock *sk;
sk165net/tcp/timer.csk = timer_base->sk;
sk167net/tcp/timer.cif (sk->inuse)
sk172net/tcp/timer.csk->inuse = 1;
sk174net/tcp/timer.cwhy = sk->timeout;
sk176net/tcp/timer.cPRINTK ("net_timer: found sk=%X why = %d\n",sk, why);
sk178net/tcp/timer.cif (sk->keepopen)
sk180net/tcp/timer.csk->time_wait.len = TCP_TIMEOUT_LEN;
sk181net/tcp/timer.csk->timeout = TIME_KEEPOPEN;
sk186net/tcp/timer.csk->timeout = 0;
sk191net/tcp/timer.cif (sk->ack_backlog)
sk193net/tcp/timer.csk->prot->read_wakeup(sk);
sk194net/tcp/timer.cif (!sk->dead) wake_up (sk->sleep);
sk202net/tcp/timer.cif (!sk->dead || sk->state != TCP_CLOSE)
sk205net/tcp/timer.crelease_sock (sk);
sk208net/tcp/timer.cdestroy_sock (sk);
sk215net/tcp/timer.cPRINTK ("possible memory leak.  sk = %X\n", sk);
sk216net/tcp/timer.cprint_sk (sk);
sk217net/tcp/timer.creset_timer ((struct timer *)&sk->time_wait);
sk218net/tcp/timer.csk->inuse = 0;
sk224net/tcp/timer.csk->state = TCP_CLOSE;
sk225net/tcp/timer.cdelete_timer ((struct timer *)&sk->time_wait);
sk228net/tcp/timer.carp_destroy (sk->daddr);
sk229net/tcp/timer.cif (!sk->dead)
sk230net/tcp/timer.cwake_up (sk->sleep);
sk231net/tcp/timer.crelease_sock(sk);
sk235net/tcp/timer.cif (sk->send_head != NULL)
sk238net/tcp/timer.csk->prot->retransmit (sk, 0);
sk240net/tcp/timer.cif (sk->retransmits > TCP_RETR1)
sk243net/tcp/timer.carp_destroy (sk->daddr);
sk244net/tcp/timer.cip_route_check (sk->daddr);
sk247net/tcp/timer.cif (sk->retransmits > TCP_RETR2)
sk250net/tcp/timer.csk->err = ETIMEDOUT;
sk251net/tcp/timer.cif (sk->state == TCP_FIN_WAIT1 ||
sk252net/tcp/timer.csk->state == TCP_FIN_WAIT2 ||
sk253net/tcp/timer.csk->state == TCP_LAST_ACK)
sk255net/tcp/timer.csk->state = TCP_TIME_WAIT;
sk256net/tcp/timer.csk->timeout = TIME_CLOSE;
sk257net/tcp/timer.csk->time_wait.len = TCP_TIMEWAIT_LEN;
sk258net/tcp/timer.creset_timer ((struct timer *)&sk->time_wait);
sk259net/tcp/timer.crelease_sock(sk);
sk264net/tcp/timer.csk->prot->close (sk,1);
sk268net/tcp/timer.crelease_sock (sk);
sk274net/tcp/timer.cif (sk->wfront == NULL && sk->send_tmp == NULL)
sk276net/tcp/timer.crelease_sock (sk);
sk285net/tcp/timer.csk->rtt *= 2;
sk286net/tcp/timer.csk->time_wait.len = sk->rtt;
sk287net/tcp/timer.csk->timeout = TIME_WRITE;
sk288net/tcp/timer.cif (sk->prot->write_wakeup != NULL)
sk289net/tcp/timer.csk->prot->write_wakeup(sk);
sk291net/tcp/timer.creset_timer ((struct timer *)&sk->time_wait);
sk292net/tcp/timer.crelease_sock (sk);
sk298net/tcp/timer.cif (sk->prot->write_wakeup != NULL)
sk299net/tcp/timer.csk->prot->write_wakeup(sk);
sk300net/tcp/timer.csk->retransmits ++;
sk301net/tcp/timer.cif (sk->retransmits > TCP_RETR1)
sk304net/tcp/timer.carp_destroy (sk->daddr);
sk305net/tcp/timer.cip_route_check (sk->daddr);
sk306net/tcp/timer.crelease_sock (sk);
sk309net/tcp/timer.cif (sk->retransmits > TCP_RETR2)
sk312net/tcp/timer.carp_destroy (sk->daddr);
sk313net/tcp/timer.csk->err = ETIMEDOUT;
sk314net/tcp/timer.cif (sk->state == TCP_FIN_WAIT1 ||
sk315net/tcp/timer.csk->state == TCP_FIN_WAIT2)
sk317net/tcp/timer.csk->state = TCP_TIME_WAIT;
sk318net/tcp/timer.cif (!sk->dead)
sk319net/tcp/timer.cwake_up (sk->sleep);
sk320net/tcp/timer.crelease_sock(sk);
sk324net/tcp/timer.csk->prot->close (sk, 1);
sk328net/tcp/timer.crelease_sock (sk);
sk332net/tcp/timer.crelease_sock(sk);
sk40net/tcp/timer.hvolatile struct sock *sk;
sk101net/tcp/udp.cudp_select (volatile struct sock *sk, int sel_type, select_table *wait)
sk103net/tcp/udp.cselect_wait(sk->sleep, wait);
sk107net/tcp/udp.cif (sk->rqueue != NULL) 
sk114net/tcp/udp.cif (sk->prot->wspace(sk) >= MIN_WRITE_SPACE)
sk121net/tcp/udp.cif (sk->err) return (1); /* can this ever happen? */
sk139net/tcp/udp.cvolatile struct sock *sk;
sk144net/tcp/udp.csk = get_sock (&udp_prot, net16(th->dest), saddr, th->source, daddr);
sk146net/tcp/udp.cif (sk == NULL) return;
sk149net/tcp/udp.cif (sk->cong_window > 1)
sk150net/tcp/udp.csk->cong_window = sk->cong_window/2;
sk154net/tcp/udp.csk->err = icmp_err_convert[err & 0xff].errno;
sk156net/tcp/udp.cif (icmp_err_convert[err & 0xff].fatal && sk->state == TCP_ESTABLISHED)
sk158net/tcp/udp.csk->prot->close(sk, 0);
sk236net/tcp/udp.cunsigned long daddr, int len, volatile struct sock *sk)
sk239net/tcp/udp.cif (sk && sk->no_check) return;
sk244net/tcp/udp.cudp_loopback (volatile struct sock *sk, unsigned short port,
sk251net/tcp/udp.csk->inuse = 1;
sk255net/tcp/udp.cpair = get_sock (sk->prot, net16(port), saddr,
sk256net/tcp/udp.csk->dummy_th.source, daddr);
sk277net/tcp/udp.cuh -> source = sk->dummy_th.source;
sk298net/tcp/udp.crelease_sock (sk);
sk304net/tcp/udp.cudp_sendto (volatile struct sock *sk, unsigned char *from, int len,
sk340net/tcp/udp.cif (sk->state != TCP_ESTABLISHED)
sk343net/tcp/udp.csin.sin_port = sk->dummy_th.dest;
sk344net/tcp/udp.csin.sin_addr.s_addr = sk->daddr;
sk348net/tcp/udp.csaddr = sk->saddr;
sk358net/tcp/udp.cerr = udp_loopback (sk, sin.sin_port, from, len,
sk364net/tcp/udp.csk->inuse = 1;
sk369net/tcp/udp.cskb = sk->prot->wmalloc (sk, len + sizeof (*skb)
sk370net/tcp/udp.c+ sk->prot->max_header, 0,
sk377net/tcp/udp.cprint_sk(sk);
sk378net/tcp/udp.ctmp = sk->wmem_alloc;
sk379net/tcp/udp.crelease_sock (sk);
sk383net/tcp/udp.cif (tmp <= sk->wmem_alloc)
sk385net/tcp/udp.cinterruptible_sleep_on (sk->sleep);
sk393net/tcp/udp.csk->inuse = 1;
sk400net/tcp/udp.cskb->mem_len = len + sizeof (*skb) + sk->prot->max_header;
sk401net/tcp/udp.cskb->sk = sk;
sk407net/tcp/udp.ctmp = sk->prot->build_header (skb, saddr,
sk409net/tcp/udp.cIPPROTO_UDP, sk->opt, skb->mem_len);
sk412net/tcp/udp.csk->prot->wfree (sk, skb->mem_addr, skb->mem_len);
sk413net/tcp/udp.crelease_sock (sk);
sk430net/tcp/udp.cuh->source = sk->dummy_th.source;
sk438net/tcp/udp.crelease_sock (sk);
sk449net/tcp/udp.camt+sizeof (*uh), sk);
sk451net/tcp/udp.csk->prot->queue_xmit (sk, dev, skb, 1);
sk453net/tcp/udp.crelease_sock (sk);
sk458net/tcp/udp.cudp_write (volatile struct sock *sk, unsigned char *buff, int len, int noblock,
sk461net/tcp/udp.creturn (udp_sendto (sk, buff, len, noblock, flags, NULL, 0));
sk466net/tcp/udp.cudp_ioctl (volatile struct sock *sk, int cmd, unsigned long arg)
sk476net/tcp/udp.cif (sk->state == TCP_LISTEN)
sk478net/tcp/udp.camount = sk->prot->wspace(sk)/2;
sk490net/tcp/udp.cif (sk->state == TCP_LISTEN)
sk493net/tcp/udp.cskb = sk->rqueue;
sk509net/tcp/udp.cudp_recvfrom (volatile struct sock *sk, unsigned char *to, int len,
sk523net/tcp/udp.cif (sk->err)
sk526net/tcp/udp.cerr = -sk->err;
sk527net/tcp/udp.csk->err = 0;
sk535net/tcp/udp.csk->inuse = 1;
sk536net/tcp/udp.cwhile (sk->rqueue == NULL)
sk538net/tcp/udp.cif (sk->shutdown & RCV_SHUTDOWN)
sk545net/tcp/udp.crelease_sock (sk);
sk548net/tcp/udp.crelease_sock (sk);
sk550net/tcp/udp.cif (sk->rqueue == NULL)
sk552net/tcp/udp.cinterruptible_sleep_on (sk->sleep);
sk560net/tcp/udp.cskb = sk->rqueue;
sk566net/tcp/udp.csk->rqueue = NULL;
sk570net/tcp/udp.csk->rqueue = sk->rqueue ->next;
sk593net/tcp/udp.crelease_sock (sk);
sk600net/tcp/udp.cudp_read (volatile struct sock *sk, unsigned char *buff, int len, int noblock,
sk603net/tcp/udp.creturn (udp_recvfrom (sk, buff, len, noblock, flags, NULL, NULL));
sk607net/tcp/udp.cudp_connect (volatile struct sock *sk, struct sockaddr_in *usin, int addr_len)
sk615net/tcp/udp.csk->daddr = sin.sin_addr.s_addr;
sk616net/tcp/udp.csk->dummy_th.dest = sin.sin_port;
sk617net/tcp/udp.csk->state = TCP_ESTABLISHED;
sk622net/tcp/udp.cudp_close(volatile struct sock *sk, int timeout)
sk624net/tcp/udp.csk->inuse = 1;
sk625net/tcp/udp.csk->state = TCP_CLOSE;
sk626net/tcp/udp.cif (sk->dead)
sk627net/tcp/udp.cdestroy_sock (sk);
sk629net/tcp/udp.crelease_sock (sk);
sk639net/tcp/udp.cvolatile struct sock *sk;
sk646net/tcp/udp.csk = get_sock (prot, net16(uh->dest), saddr, uh->source, daddr);
sk649net/tcp/udp.cif (sk == NULL)
sk656net/tcp/udp.cskb->sk = NULL;
sk667net/tcp/udp.cskb->sk = NULL;
sk672net/tcp/udp.cskb->sk = sk;
sk682net/tcp/udp.cif (sk->inuse)
sk684net/tcp/udp.cif (sk->back_log == NULL)
sk686net/tcp/udp.csk->back_log = skb;
sk692net/tcp/udp.cskb->next = sk->back_log;
sk693net/tcp/udp.cskb->prev = sk->back_log->prev;
sk700net/tcp/udp.csk->inuse = 1;
sk705net/tcp/udp.cif (sk->rmem_alloc + skb->mem_len >= SK_RMEM_MAX)
sk707net/tcp/udp.cskb->sk = NULL;
sk709net/tcp/udp.crelease_sock (sk);
sk713net/tcp/udp.csk->rmem_alloc += skb->mem_len;
sk717net/tcp/udp.cprint_sk (sk);
sk720net/tcp/udp.cif (sk->rqueue == NULL)
sk722net/tcp/udp.csk->rqueue = skb;
sk728net/tcp/udp.cskb->next = sk->rqueue;
sk729net/tcp/udp.cskb->prev = sk->rqueue->prev;
sk736net/tcp/udp.cif (!sk->dead)
sk737net/tcp/udp.cwake_up (sk->sleep);
sk739net/tcp/udp.crelease_sock (sk);