Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  ws2ipdef.rs   Sprache: unbekannt

 
// Licensed under the Apache License, Version 2.0
// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
// All files in the project carrying such notice may not be copied, modified, or distributed
// except according to those terms.
//! TCP/IP specific information for use by WinSock2 compatible applications.
use ctypes::c_int;
use shared::in6addr::IN6_ADDR;
use shared::inaddr::IN_ADDR;
use shared::minwindef::{ULONG, USHORT};
use shared::ws2def::{ADDRESS_FAMILY, SCOPE_ID, SOCKADDR_IN};
pub const IFF_UP: ULONG = 0x00000001;
pub const IFF_BROADCAST: ULONG = 0x00000002;
pub const IFF_LOOPBACK: ULONG = 0x00000004;
pub const IFF_POINTTOPOINT: ULONG = 0x00000008;
pub const IFF_MULTICAST: ULONG = 0x00000010;
pub const IP_OPTIONS: c_int = 1;
pub const IP_HDRINCL: c_int = 2;
pub const IP_TOS: c_int = 3;
pub const IP_TTL: c_int = 4;
pub const IP_MULTICAST_IF: c_int = 9;
pub const IP_MULTICAST_TTL: c_int = 10;
pub const IP_MULTICAST_LOOP: c_int = 11;
pub const IP_ADD_MEMBERSHIP: c_int = 12;
pub const IP_DROP_MEMBERSHIP: c_int = 13;
pub const IP_DONTFRAGMENT: c_int = 14;
pub const IP_ADD_SOURCE_MEMBERSHIP: c_int = 15;
pub const IP_DROP_SOURCE_MEMBERSHIP: c_int = 16;
pub const IP_BLOCK_SOURCE: c_int = 17;
pub const IP_UNBLOCK_SOURCE: c_int = 18;
pub const IP_PKTINFO: c_int = 19;
pub const IP_RECEIVE_BROADCAST: c_int = 22;
pub const IP_RECVDSTADDR: c_int = 25;
UNION!{union SOCKADDR_IN6_LH_u {
    [u32; 1],
    sin6_scope_id sin6_scope_id_mut: ULONG,
    sin6_scope_struct sin6_scope_struct_mut: SCOPE_ID,
}}
STRUCT!{struct SOCKADDR_IN6_LH {
    sin6_family: ADDRESS_FAMILY,
    sin6_port: USHORT,
    sin6_flowinfo: ULONG,
    sin6_addr: IN6_ADDR,
    u: SOCKADDR_IN6_LH_u,
}}
pub type PSOCKADDR_IN6_LH = *mut SOCKADDR_IN6_LH;
pub type SOCKADDR_IN6 = SOCKADDR_IN6_LH;
pub type PSOCKADDR_IN6 = *mut SOCKADDR_IN6;
STRUCT!{struct SOCKADDR_IN6_PAIR {
    SourceAddress: PSOCKADDR_IN6,
    DestinationAddress: PSOCKADDR_IN6,
}}
pub type PSOCKADDR_IN6_PAIR = *mut SOCKADDR_IN6_PAIR;
UNION!{union SOCKADDR_INET {
    [u32; 7],
    Ipv4 Ipv4_mut: SOCKADDR_IN,
    Ipv6 Ipv6_mut: SOCKADDR_IN6,
    si_family si_family_mut: ADDRESS_FAMILY,
}}
pub type PSOCKADDR_INET = *mut SOCKADDR_INET;
STRUCT!{struct IP_MREQ {
    imr_multiaddr: IN_ADDR,
    imr_interface: IN_ADDR,
}}
pub type PIP_MREQ = *mut IP_MREQ;
STRUCT!{struct IP_MREQ_SOURCE {
    imr_multiaddr: IN_ADDR,
    imr_sourceaddr: IN_ADDR,
    imr_interface: IN_ADDR,
}}
pub type PIP_MREQ_SOURCE = *mut IP_MREQ_SOURCE;
pub const IPV6_HOPOPTS: c_int = 1;
pub const IPV6_HDRINCL: c_int = 2;
pub const IPV6_UNICAST_HOPS: c_int = 4;
pub const IPV6_MULTICAST_IF: c_int = 9;
pub const IPV6_MULTICAST_HOPS: c_int = 10;
pub const IPV6_MULTICAST_LOOP: c_int = 11;
pub const IPV6_ADD_MEMBERSHIP: c_int = 12;
pub const IPV6_JOIN_GROUP: c_int = IPV6_ADD_MEMBERSHIP;
pub const IPV6_DROP_MEMBERSHIP: c_int = 13;
pub const IPV6_LEAVE_GROUP: c_int = IPV6_DROP_MEMBERSHIP;
pub const IPV6_DONTFRAG: c_int = 14;
pub const IPV6_PKTINFO: c_int = 19;
pub const IPV6_HOPLIMIT: c_int = 21;
pub const IPV6_PROTECTION_LEVEL: c_int = 23;
pub const IPV6_RECVIF: c_int = 24;
pub const IPV6_RECVDSTADDR: c_int = 25;
pub const IPV6_CHECKSUM: c_int = 26;
pub const IPV6_V6ONLY: c_int = 27;
pub const IPV6_IFLIST: c_int = 28;
pub const IPV6_ADD_IFLIST: c_int = 29;
pub const IPV6_DEL_IFLIST: c_int = 30;
pub const IPV6_UNICAST_IF: c_int = 31;
pub const IPV6_RTHDR: c_int = 32;
pub const IPV6_RECVRTHDR: c_int = 38;
pub const IPV6_TCLASS: c_int = 39;
pub const IPV6_RECVTCLASS: c_int = 40;
STRUCT!{struct IPV6_MREQ {
    ipv6mr_multiaddr: IN6_ADDR,
    ipv6mr_interface: ULONG,
}}
pub type PIPV6_MREQ = *mut IPV6_MREQ;
STRUCT!{struct IN_PKTINFO {
    ipi_addr: IN_ADDR,
    ipi_ifindex: ULONG,
}}
pub type PIN_PKTINFO = *mut IN_PKTINFO;
STRUCT!{struct IN6_PKTINFO {
    ipi6_addr: IN6_ADDR,
    ipi6_ifindex: ULONG,
}}
pub type PIN6_PKTINFO = *mut IN6_PKTINFO;

[ Dauer der Verarbeitung: 0.28 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge