Current File : //proc/self/root/kunden/usr/share/makedumpfile/eppic_scripts/udp_sk_buf_3_10_to_4_8.c |
string
udp_opt()
{
return "l";
}
string
udp_usage()
{
return "\n";
}
static void
udp_showusage()
{
printf("usage : udp %s", udp_usage());
}
string
udp_help()
{
return "Help";
}
int
udp()
{
int i;
int size;
struct udp_table *table;
struct sock_common *off = 0;
table = (struct udp_table *)&udp_table;
for (i = 0; i < table->mask; i++) {
struct hlist_nulls_node *pos;
pos = table->hash[i].head.first;
while (!((unsigned long)pos & 1)) {
struct sock *sk;
struct sk_buff *next;
struct sk_buff_head *head;
struct hlist_nulls_node *node;
sk = (struct sock *)((unsigned long)pos - ((unsigned long)&(off->skc_dontcopy_begin)));
head = (struct sk_buff_head *)&(sk->sk_receive_queue);
next = (struct sk_buff *)sk->sk_receive_queue.next;
while (next != head)
{
struct sk_buff *buff = (struct sk_buff *)next;
if (buff->data_len) {
memset((char *)buff->data, 'L', buff->data_len);
memset((char *)&(buff->data_len), 'L', 0x4);
}
next = buff->next;
}
head = (struct sk_buff_head *)&(sk->sk_write_queue);
next = (struct sk_buff *)sk->sk_write_queue.next;
while (next != head)
{
struct sk_buff *buff = (struct sk_buff *)next;
if (buff->data_len) {
memset((char *)buff->data, 'L', buff->data_len);
memset((char *)&(buff->data_len), 'L', 0x4);
}
next = buff->next;
}
node = (struct hlist_nulls_node *)((unsigned long)sk + (unsigned long)&(off->skc_dontcopy_begin));
pos = node->next;
}
}
return 1;
}