status = nf_register_queue_handler(PF_INET, ipq_enqueue_packet, NULL); 
status = nf_register_queue_handler(PF_INET, &nfqh); 
init_or_cleanup(int init){	int status = -ENOMEM;	struct proc_dir_entry *proc;		if (!init)		goto cleanup;	netlink_register_notifier(&ipq_nl_notifier);	ipqnl = netlink_kernel_create(NETLINK_FIREWALL, ipq_rcv_sk,				      THIS_MODULE);	if (ipqnl == NULL) {		printk(KERN_ERR "ip_queue: failed to create netlink socket\n");		goto cleanup_netlink_notifier;	}	proc = proc_net_create(IPQ_PROC_FS_NAME, 0, ipq_get_info);	if (proc)		proc->owner = THIS_MODULE;	else {		printk(KERN_ERR "ip_queue: failed to create proc entry\n");		goto cleanup_ipqnl;	}		register_netdevice_notifier(&ipq_dev_notifier);	ipq_sysctl_header = register_sysctl_table(ipq_root_table, 0);		status = nf_register_queue_handler(PF_INET, ipq_enqueue_packet, NULL);	if (status < 0) {		printk(KERN_ERR "ip_queue: failed to register queue handler\n");		goto cleanup_sysctl;	}	return status;cleanup:	nf_unregister_queue_handlers(&ipq_enqueue_packet);	synchronize_net();	ipq_flush(NF_DROP);	cleanup_sysctl:	unregister_sysctl_table(ipq_sysctl_header);	unregister_netdevice_notifier(&ipq_dev_notifier);	proc_net_remove(IPQ_PROC_FS_NAME);	cleanup_ipqnl:	sock_release(ipqnl->sk_socket);	down(&ipqnl_sem);	up(&ipqnl_sem);	cleanup_netlink_notifier:	netlink_unregister_notifier(&ipq_nl_notifier);	return status;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/bbd86b9fc469b7e91dc7444e6abb8930811d79cb/ip_queue.c/clean/net/ipv4/netfilter/ip_queue.c