123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- /**
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is part of the mingw-w64 runtime package.
- * No warranty is given; refer to the file DISCLAIMER.PD within this package.
- */
- #ifndef _WSRM_H_
- #define _WSRM_H_
- #define IPPROTO_RM 113
- #define MAX_MCAST_TTL 255
- #define RM_OPTIONSBASE 1000
- #define RM_RATE_WINDOW_SIZE (RM_OPTIONSBASE + 1)
- #define RM_SET_MESSAGE_BOUNDARY (RM_OPTIONSBASE + 2)
- #define RM_FLUSHCACHE (RM_OPTIONSBASE + 3)
- #define RM_SENDER_WINDOW_ADVANCE_METHOD (RM_OPTIONSBASE + 4)
- #define RM_SENDER_STATISTICS (RM_OPTIONSBASE + 5)
- #define RM_LATEJOIN (RM_OPTIONSBASE + 6)
- #define RM_SET_SEND_IF (RM_OPTIONSBASE + 7)
- #define RM_ADD_RECEIVE_IF (RM_OPTIONSBASE + 8)
- #define RM_DEL_RECEIVE_IF (RM_OPTIONSBASE + 9)
- #define RM_SEND_WINDOW_ADV_RATE (RM_OPTIONSBASE + 10)
- #define RM_USE_FEC (RM_OPTIONSBASE + 11)
- #define RM_SET_MCAST_TTL (RM_OPTIONSBASE + 12)
- #define RM_RECEIVER_STATISTICS (RM_OPTIONSBASE + 13)
- #define RM_HIGH_SPEED_INTRANET_OPT (RM_OPTIONSBASE + 14)
- #define SENDER_DEFAULT_RATE_KBITS_PER_SEC 56
- #define SENDER_DEFAULT_WINDOW_SIZE_BYTES 10 *1000*1000
- #define SENDER_DEFAULT_WINDOW_ADV_PERCENTAGE 15
- #define MAX_WINDOW_INCREMENT_PERCENTAGE 25
- #define SENDER_DEFAULT_LATE_JOINER_PERCENTAGE 0
- #define SENDER_MAX_LATE_JOINER_PERCENTAGE 75
- #define BITS_PER_BYTE 8
- #define LOG2_BITS_PER_BYTE 3
- enum eWINDOW_ADVANCE_METHOD {
- E_WINDOW_ADVANCE_BY_TIME = 1,E_WINDOW_USE_AS_DATA_CACHE
- };
- typedef struct _RM_SEND_WINDOW {
- ULONG RateKbitsPerSec;
- ULONG WindowSizeInMSecs;
- ULONG WindowSizeInBytes;
- } RM_SEND_WINDOW;
- typedef struct _RM_SENDER_STATS {
- ULONGLONG DataBytesSent;
- ULONGLONG TotalBytesSent;
- ULONGLONG NaksReceived;
- ULONGLONG NaksReceivedTooLate;
- ULONGLONG NumOutstandingNaks;
- ULONGLONG NumNaksAfterRData;
- ULONGLONG RepairPacketsSent;
- ULONGLONG BufferSpaceAvailable;
- ULONGLONG TrailingEdgeSeqId;
- ULONGLONG LeadingEdgeSeqId;
- ULONGLONG RateKBitsPerSecOverall;
- ULONGLONG RateKBitsPerSecLast;
- ULONGLONG TotalODataPacketsSent;
- } RM_SENDER_STATS;
- typedef struct _RM_RECEIVER_STATS {
- ULONGLONG NumODataPacketsReceived;
- ULONGLONG NumRDataPacketsReceived;
- ULONGLONG NumDuplicateDataPackets;
- ULONGLONG DataBytesReceived;
- ULONGLONG TotalBytesReceived;
- ULONGLONG RateKBitsPerSecOverall;
- ULONGLONG RateKBitsPerSecLast;
- ULONGLONG TrailingEdgeSeqId;
- ULONGLONG LeadingEdgeSeqId;
- ULONGLONG AverageSequencesInWindow;
- ULONGLONG MinSequencesInWindow;
- ULONGLONG MaxSequencesInWindow;
- ULONGLONG FirstNakSequenceNumber;
- ULONGLONG NumPendingNaks;
- ULONGLONG NumOutstandingNaks;
- ULONGLONG NumDataPacketsBuffered;
- ULONGLONG TotalSelectiveNaksSent;
- ULONGLONG TotalParityNaksSent;
- } RM_RECEIVER_STATS;
- typedef struct _RM_FEC_INFO {
- USHORT FECBlockSize;
- USHORT FECProActivePackets;
- UCHAR FECGroupSize;
- BOOLEAN fFECOnDemandParityEnabled;
- } RM_FEC_INFO;
- #endif
|