add_entrypoint_object(
  socket
  SRCS
    socket.cpp
  HDRS
    ../socket.h
  DEPENDS
    libc.include.sys_socket
    libc.src.__support.common
    libc.src.__support.OSUtil.linux.syscall_wrappers.socket
    libc.src.errno.errno
)

add_entrypoint_object(
  bind
  SRCS
    bind.cpp
  HDRS
    ../bind.h
  DEPENDS
    libc.include.sys_socket
    libc.hdr.types.struct_sockaddr
    libc.hdr.types.socklen_t
    libc.src.__support.common
    libc.src.__support.OSUtil.linux.syscall_wrappers.bind
    libc.src.errno.errno
)

add_entrypoint_object(
  accept
  SRCS
    accept.cpp
  HDRS
    ../accept.h
  DEPENDS
    libc.include.sys_socket
    libc.src.__support.OSUtil.osutil
    libc.hdr.types.struct_sockaddr
    libc.hdr.types.socklen_t
    libc.src.errno.errno
)

add_entrypoint_object(
  accept4
  SRCS
    accept4.cpp
  HDRS
    ../accept4.h
  DEPENDS
    libc.include.sys_socket
    libc.src.__support.OSUtil.osutil
    libc.hdr.types.struct_sockaddr
    libc.hdr.types.socklen_t
    libc.src.errno.errno
)

add_entrypoint_object(
  connect
  SRCS
    connect.cpp
  HDRS
    ../connect.h
  DEPENDS
    libc.include.sys_socket
    libc.src.__support.OSUtil.osutil
    libc.hdr.types.struct_sockaddr
    libc.hdr.types.socklen_t
    libc.src.errno.errno
)

add_entrypoint_object(
  getpeername
  SRCS
    getpeername.cpp
  HDRS
    ../getpeername.h
  DEPENDS
    libc.include.sys_socket
    libc.src.__support.OSUtil.osutil
    libc.hdr.types.struct_sockaddr
    libc.hdr.types.socklen_t
    libc.src.__support.OSUtil.linux.syscall_wrappers.getpeername
    libc.src.errno.errno
)

add_entrypoint_object(
  getsockname
  SRCS
    getsockname.cpp
  HDRS
    ../getsockname.h
  DEPENDS
    libc.include.sys_socket
    libc.src.__support.OSUtil.osutil
    libc.hdr.types.struct_sockaddr
    libc.hdr.types.socklen_t
    libc.src.__support.OSUtil.linux.syscall_wrappers.getsockname
    libc.src.errno.errno
)

add_entrypoint_object(
  getsockopt
  SRCS
    getsockopt.cpp
  HDRS
    ../getsockopt.h
  DEPENDS
    libc.include.sys_socket
    libc.src.__support.OSUtil.osutil
    libc.hdr.types.socklen_t
    libc.src.__support.OSUtil.linux.syscall_wrappers.getsockopt
    libc.src.errno.errno
)

add_entrypoint_object(
  listen
  SRCS
    listen.cpp
  HDRS
    ../listen.h
  DEPENDS
    libc.include.sys_socket
    libc.src.__support.OSUtil.osutil
    libc.src.errno.errno
)

add_entrypoint_object(
  socketpair
  SRCS
    socketpair.cpp
  HDRS
    ../socketpair.h
  DEPENDS
    libc.include.sys_socket
    libc.src.__support.macros.sanitizer
    libc.src.__support.common
    libc.src.__support.OSUtil.linux.syscall_wrappers.socketpair
    libc.src.errno.errno
)

add_entrypoint_object(
  send
  SRCS
    send.cpp
  HDRS
    ../send.h
  DEPENDS
    libc.hdr.types.ssize_t
    libc.src.__support.common
    libc.src.__support.OSUtil.linux.syscall_wrappers.sendto
    libc.src.errno.errno
)

add_entrypoint_object(
  sendto
  SRCS
    sendto.cpp
  HDRS
    ../sendto.h
  DEPENDS
    libc.hdr.types.struct_sockaddr
    libc.hdr.types.socklen_t
    libc.hdr.types.ssize_t
    libc.src.__support.common
    libc.src.__support.OSUtil.linux.syscall_wrappers.sendto
    libc.src.errno.errno
)

add_entrypoint_object(
  setsockopt
  SRCS
    setsockopt.cpp
  HDRS
    ../setsockopt.h
  DEPENDS
    libc.include.sys_socket
    libc.src.__support.OSUtil.osutil
    libc.hdr.types.socklen_t
    libc.src.__support.OSUtil.linux.syscall_wrappers.setsockopt
    libc.src.errno.errno
)

add_entrypoint_object(
  sendmmsg
  SRCS
    sendmmsg.cpp
  HDRS
    ../sendmmsg.h
  DEPENDS
    libc.hdr.types.struct_mmsghdr
    libc.src.__support.common
    libc.src.__support.OSUtil.linux.syscall_wrappers.sendmmsg
    libc.src.errno.errno
)

add_entrypoint_object(
  sendmsg
  SRCS
    sendmsg.cpp
  HDRS
    ../sendmsg.h
  DEPENDS
    libc.hdr.types.struct_msghdr
    libc.hdr.types.ssize_t
    libc.src.__support.common
    libc.src.__support.OSUtil.linux.syscall_wrappers.sendmsg
    libc.src.errno.errno
)
add_entrypoint_object(
  recv
  SRCS
    recv.cpp
  HDRS
    ../recv.h
  DEPENDS
    libc.src.__support.macros.sanitizer
    libc.hdr.types.ssize_t
    libc.src.__support.common
    libc.src.__support.OSUtil.linux.syscall_wrappers.recvfrom
    libc.src.errno.errno
)

add_entrypoint_object(
  recvfrom
  SRCS
    recvfrom.cpp
  HDRS
    ../recvfrom.h
  DEPENDS
    libc.hdr.types.struct_sockaddr
    libc.hdr.types.socklen_t
    libc.src.__support.macros.sanitizer
    libc.hdr.types.ssize_t
    libc.src.__support.common
    libc.src.__support.OSUtil.linux.syscall_wrappers.recvfrom
    libc.src.errno.errno
)

add_entrypoint_object(
  recvmmsg
  SRCS
    recvmmsg.cpp
  HDRS
    ../recvmmsg.h
  DEPENDS
    libc.hdr.types.struct_mmsghdr
    libc.hdr.types.struct_timespec
    libc.src.__support.common
    libc.src.__support.OSUtil.linux.syscall_wrappers.recvmmsg
    libc.src.errno.errno
)

add_entrypoint_object(
  recvmsg
  SRCS
    recvmsg.cpp
  HDRS
    ../recvmsg.h
  DEPENDS
    libc.hdr.types.struct_msghdr
    libc.src.__support.macros.sanitizer
    libc.hdr.types.ssize_t
    libc.src.__support.common
    libc.src.__support.OSUtil.linux.syscall_wrappers.recvmsg
    libc.src.errno.errno
)

add_entrypoint_object(
  shutdown
  SRCS
    shutdown.cpp
  HDRS
    ../shutdown.h
  DEPENDS
    libc.include.sys_socket
    libc.src.__support.OSUtil.osutil
    libc.src.errno.errno
)

add_entrypoint_object(
  sockatmark
  SRCS
    sockatmark.cpp
  HDRS
    ../sockatmark.h
  DEPENDS
    libc.include.sys_socket
    libc.src.__support.common
    libc.src.__support.OSUtil.linux.syscall_wrappers.ioctl
    libc.src.errno.errno
)
