socket9 0.1.0-alpha.1

Extended untilities for the networking/unix sockets and raw network sockets
Documentation
/*-
 * socket9 - A RAW networking sockets manipulation and configration basing on 
 * strong types.
 * 
 * Copyright (C) 2021 Aleksandr Morozov, Lucia Hoffmann
 * Copyright (C) 2025 Aleksandr Morozov
 * 
 * The syslog-rs crate can be redistributed and/or modified
 * under the terms of either of the following licenses:
 *
 *   1. EUROPEAN UNION PUBLIC LICENCE v. 1.2 EUPL © the European Union 2007, 2016 OR
 *
 *   2. the Mozilla Public License Version 2.0 (the “MPL”) OR
 *                     
 *   3. The MIT License (MIT)
 */

pub mod ip_hdrincl;
pub use ip_hdrincl::IpHdrincl;

#[cfg(target_os = "linux")]
pub mod ip_transparent;
#[cfg(target_os = "linux")]
pub use ip_transparent::IpTransparent;

#[cfg(target_os = "linux")]
pub mod ip_multicast_all;
#[cfg(target_os = "linux")]
pub use ip_multicast_all::IpMulticastAll;

#[cfg(not(any(
    target_os = "netbsd",
    target_os = "openbsd",
    target_os = "redox",
)))]
pub mod ip_add_membership;
#[cfg(not(any(
    target_os = "netbsd",
    target_os = "openbsd",
    target_os = "redox",
)))]
pub use ip_add_membership::IpAddMembership;

#[cfg(not(any(
    target_os = "netbsd",
    target_os = "openbsd",
    target_os = "redox",
)))]
pub mod ip_drop_membership;
#[cfg(not(any(
    target_os = "netbsd",
    target_os = "openbsd",
    target_os = "redox",
)))]
pub use ip_drop_membership::IpDropMembership;

#[cfg(not(any(target_os = "dragonfly", target_os = "netbsd", target_os = "openbsd", target_os = "redox")))]
pub mod ip_add_source_membership;
#[cfg(not(any(target_os = "dragonfly", target_os = "netbsd", target_os = "openbsd", target_os = "redox")))]
pub use ip_add_source_membership::IpAddSourceMembership;

#[cfg(not(any(target_os = "dragonfly", target_os = "netbsd", target_os = "openbsd", target_os = "redox")))]
pub mod ip_drop_source_membership;
#[cfg(not(any(target_os = "dragonfly", target_os = "netbsd", target_os = "openbsd", target_os = "redox")))]
pub use ip_drop_source_membership::IpDropSourceMembership;

pub mod ip_multicast_if;
pub use ip_multicast_if::IpMulticastIf;

pub mod ip_multicast_loop;
pub use ip_multicast_loop::IpMulticastLoop;

pub mod ip_multicast_ttl;
pub use ip_multicast_ttl::IpMulticastTtl;

pub mod ip_ttl;
pub use ip_ttl::IpTtl;

#[cfg(not(any(target_os = "redox", target_os = "solaris")))]
pub mod ip_tos;
#[cfg(not(any(target_os = "redox", target_os = "solaris")))]
pub use ip_tos::IpTos;

#[cfg(not(any(target_os = "netbsd", target_os = "dragonfly", target_os = "openbsd", target_os = "redox", target_os = "solaris")))]
pub mod ip_recv_tos;
#[cfg(not(any(target_os = "netbsd", target_os = "dragonfly", target_os = "openbsd", target_os = "redox", target_os = "solaris")))]
pub use ip_recv_tos::IpRecvTos;