Пример #1
0
/* 网络模块初始化 */
void
sock_init(void)
{
  struct socket *sock;
  int i;

  /* Set up our SOCKET VFS major device. */
/* 注册网络设备读写函数,在Linux系统当中所有的设备操作都被
 * 当成对文件系统的操作
 */
  if (register_chrdev(SOCKET_MAJOR, "socket", &net_fops) < 0) {
	printk("NET: cannot register major device %d!\n", SOCKET_MAJOR);
	return;
  }

  /* Release all sockets. */
  for (sock = sockets; sock <= last_socket; ++sock) sock->state = SS_FREE;

  /* Initialize all address (protocol) families. */
  for (i = 0; i < NPROTO; ++i) pops[i] = NULL;

  /* Initialize the DDI module. */

/* 设备驱动接口模块
  */
  ddi_init();

  /* Initialize the ARP module. */
#if 0
  arp_init();
#endif
}
Пример #2
0
void init_so_ddi_test(void)
{
    adbi_init();
    ddi_init();
    counter = 1;

    hook(&eph, getpid(), "libc.", "epoll_wait",
         my_epoll_wait_arm,
         my_epoll_wait);
}
Пример #3
0
void init_so_send_raw_pdu(void)
{
    adbi_init();
    ddi_init();
    hook_counter = 1;  

    hook(&eph, getpid(), "libc.", "epoll_wait", 
        my_epoll_wait_arm,
        my_epoll_wait);
}