use crate::generated::bpf_attach_type;
#[derive(Copy, Clone, Debug)]
pub enum CgroupSockAddrAttachType {
Bind4,
Bind6,
Connect4,
Connect6,
GetPeerName4,
GetPeerName6,
GetSockName4,
GetSockName6,
UDPSendMsg4,
UDPSendMsg6,
UDPRecvMsg4,
UDPRecvMsg6,
}
impl From<CgroupSockAddrAttachType> for bpf_attach_type {
fn from(s: CgroupSockAddrAttachType) -> Self {
match s {
CgroupSockAddrAttachType::Bind4 => Self::BPF_CGROUP_INET4_BIND,
CgroupSockAddrAttachType::Bind6 => Self::BPF_CGROUP_INET6_BIND,
CgroupSockAddrAttachType::Connect4 => Self::BPF_CGROUP_INET4_CONNECT,
CgroupSockAddrAttachType::Connect6 => Self::BPF_CGROUP_INET6_CONNECT,
CgroupSockAddrAttachType::GetPeerName4 => Self::BPF_CGROUP_INET4_GETPEERNAME,
CgroupSockAddrAttachType::GetPeerName6 => Self::BPF_CGROUP_INET6_GETPEERNAME,
CgroupSockAddrAttachType::GetSockName4 => Self::BPF_CGROUP_INET4_GETSOCKNAME,
CgroupSockAddrAttachType::GetSockName6 => Self::BPF_CGROUP_INET6_GETSOCKNAME,
CgroupSockAddrAttachType::UDPSendMsg4 => Self::BPF_CGROUP_UDP4_SENDMSG,
CgroupSockAddrAttachType::UDPSendMsg6 => Self::BPF_CGROUP_UDP6_SENDMSG,
CgroupSockAddrAttachType::UDPRecvMsg4 => Self::BPF_CGROUP_UDP4_RECVMSG,
CgroupSockAddrAttachType::UDPRecvMsg6 => Self::BPF_CGROUP_UDP6_RECVMSG,
}
}
}