| 420 | } |
| 421 | |
| 422 | static int |
| 423 | ff_so_handler(int ops, void *args) |
| 424 | { |
| 425 | DEBUG_LOG("ff_so_handler ops:%d, epoll create ops:%d\n", ops, FF_SO_EPOLL_CREATE); |
| 426 | switch(ops) { |
| 427 | case FF_SO_SOCKET: |
| 428 | return ff_sys_socket((struct ff_socket_args *)args); |
| 429 | case FF_SO_BIND: |
| 430 | return ff_sys_bind((struct ff_bind_args *)args); |
| 431 | case FF_SO_LISTEN: |
| 432 | return ff_sys_listen((struct ff_listen_args *)args); |
| 433 | case FF_SO_CONNECT: |
| 434 | return ff_sys_connect((struct ff_connect_args *)args); |
| 435 | case FF_SO_SHUTDOWN: |
| 436 | return ff_sys_shutdown((struct ff_shutdown_args *)args); |
| 437 | case FF_SO_GETSOCKNAME: |
| 438 | return ff_sys_getsockname((struct ff_getsockname_args *)args); |
| 439 | case FF_SO_GETPEERNAME: |
| 440 | return ff_sys_getpeername((struct ff_getpeername_args *)args); |
| 441 | case FF_SO_GETSOCKOPT: |
| 442 | return ff_sys_getsockopt((struct ff_getsockopt_args *)args); |
| 443 | case FF_SO_SETSOCKOPT: |
| 444 | return ff_sys_setsockopt((struct ff_setsockopt_args *)args); |
| 445 | case FF_SO_ACCEPT: |
| 446 | return ff_sys_accept((struct ff_accept_args *)args); |
| 447 | case FF_SO_ACCEPT4: |
| 448 | return ff_sys_accept4((struct ff_accept4_args *)args); |
| 449 | case FF_SO_RECV: |
| 450 | return ff_sys_recv((struct ff_recv_args *)args); |
| 451 | case FF_SO_RECVFROM: |
| 452 | return ff_sys_recvfrom((struct ff_recvfrom_args *)args); |
| 453 | case FF_SO_RECVMSG: |
| 454 | return ff_sys_recvmsg((struct ff_recvmsg_args *)args); |
| 455 | case FF_SO_READ: |
| 456 | return ff_sys_read((struct ff_read_args *)args); |
| 457 | case FF_SO_READV: |
| 458 | return ff_sys_readv((struct ff_readv_args *)args); |
| 459 | case FF_SO_SEND: |
| 460 | return ff_sys_send((struct ff_send_args *)args); |
| 461 | case FF_SO_SENDTO: |
| 462 | return ff_sys_sendto((struct ff_sendto_args *)args); |
| 463 | case FF_SO_SENDMSG: |
| 464 | return ff_sys_sendmsg((struct ff_sendmsg_args *)args); |
| 465 | case FF_SO_WRITE: |
| 466 | return ff_sys_write((struct ff_write_args *)args); |
| 467 | case FF_SO_WRITEV: |
| 468 | return ff_sys_writev((struct ff_writev_args *)args); |
| 469 | case FF_SO_CLOSE: |
| 470 | return ff_sys_close((struct ff_close_args *)args); |
| 471 | case FF_SO_IOCTL: |
| 472 | return ff_sys_ioctl((struct ff_ioctl_args *)args); |
| 473 | case FF_SO_FCNTL: |
| 474 | return ff_sys_fcntl((struct ff_fcntl_args *)args); |
| 475 | case FF_SO_EPOLL_CREATE: |
| 476 | return ff_sys_epoll_create((struct ff_epoll_create_args *)args); |
| 477 | case FF_SO_EPOLL_CTL: |
| 478 | return ff_sys_epoll_ctl((struct ff_epoll_ctl_args *)args); |
| 479 | case FF_SO_EPOLL_WAIT: |
no test coverage detected