OSDN Git Service

* include/ipifcons.h (MIN_IF_TYPE,IF_TYPE_*,MAX_IF_TYPE,IF_ACCESS_*,
authorpapadopo <papadopo>
Fri, 28 Apr 2006 10:31:20 +0000 (10:31 +0000)
committerpapadopo <papadopo>
Fri, 28 Apr 2006 10:31:20 +0000 (10:31 +0000)
IF_CHECK_*,IF_CONNECTION_*,IF_ADMIN_*,IF_OPER_*): Define.
* include/winbase.h (CancelWaitableTimer,UnregisterWait):
Add function declaration.
* include/mgm.h: New file.
* lib/rtm.def: New file.
Thanks to:    Bruce M Simpson <bms_spc at sf dot net>

winsup/w32api/ChangeLog
winsup/w32api/include/ipifcons.h
winsup/w32api/include/mgm.h [new file with mode: 0644]
winsup/w32api/include/winbase.h
winsup/w32api/lib/rtm.def [new file with mode: 0644]

index c8c821f..16f5258 100644 (file)
@@ -1,3 +1,13 @@
+2006-04-28  Dimitri Papadopoulos  <papadopo@users.sourceforge.net>
+
+       * include/ipifcons.h (MIN_IF_TYPE,IF_TYPE_*,MAX_IF_TYPE,IF_ACCESS_*,
+       IF_CHECK_*,IF_CONNECTION_*,IF_ADMIN_*,IF_OPER_*): Define.
+       * include/winbase.h (CancelWaitableTimer,UnregisterWait):
+       Add function declaration.
+       * include/mgm.h: New file.
+       * lib/rtm.def: New file.
+       Thanks to:    Bruce M Simpson <bms_spc at sf dot net>
+
 2006-04-24  Dimitri Papadopoulos  <papadopo@users.sourceforge.net>
 
        * include/ws2tcpip.h (gai_strerror): Remove thread-safety comment.
index eecf532..b301be1 100644 (file)
@@ -4,6 +4,172 @@
 #pragma GCC system_header
 #endif
 
+#define MIN_IF_TYPE 1
+#define IF_TYPE_OTHER 1
+#define IF_TYPE_REGULAR_1822 2
+#define IF_TYPE_HDH_1822 3
+#define IF_TYPE_DDN_X25 4
+#define IF_TYPE_RFC877_X25 5
+#define IF_TYPE_ETHERNET_CSMACD 6
+#define IF_TYPE_IS088023_CSMACD 7
+#define IF_TYPE_ISO88024_TOKENBUS 8
+#define IF_TYPE_ISO88025_TOKENRING 9
+#define IF_TYPE_ISO88026_MAN 10
+#define IF_TYPE_STARLAN 11
+#define IF_TYPE_PROTEON_10MBIT 12
+#define IF_TYPE_PROTEON_80MBIT 13
+#define IF_TYPE_HYPERCHANNEL 14
+#define IF_TYPE_FDDI 15
+#define IF_TYPE_LAP_B 16
+#define IF_TYPE_SDLC 17
+#define IF_TYPE_DS1 18
+#define IF_TYPE_E1 19
+#define IF_TYPE_BASIC_ISDN 20
+#define IF_TYPE_PRIMARY_ISDN 21
+#define IF_TYPE_PROP_POINT2POINT_SERIAL 22
+#define IF_TYPE_PPP 23
+#define IF_TYPE_SOFTWARE_LOOPBACK 24
+#define IF_TYPE_EON 25
+#define IF_TYPE_ETHERNET_3MBIT 26
+#define IF_TYPE_NSIP 27
+#define IF_TYPE_SLIP 28
+#define IF_TYPE_ULTRA 29
+#define IF_TYPE_DS3 30
+#define IF_TYPE_SIP 31
+#define IF_TYPE_FRAMERELAY 32
+#define IF_TYPE_RS232 33
+#define IF_TYPE_PARA 34
+#define IF_TYPE_ARCNET 35
+#define IF_TYPE_ARCNET_PLUS 36
+#define IF_TYPE_ATM 37
+#define IF_TYPE_MIO_X25 38
+#define IF_TYPE_SONET 39
+#define IF_TYPE_X25_PLE 40
+#define IF_TYPE_ISO88022_LLC 41
+#define IF_TYPE_LOCALTALK 42
+#define IF_TYPE_SMDS_DXI 43
+#define IF_TYPE_FRAMERELAY_SERVICE 44
+#define IF_TYPE_V35 45
+#define IF_TYPE_HSSI 46
+#define IF_TYPE_HIPPI 47
+#define IF_TYPE_MODEM 48
+#define IF_TYPE_AAL5 49
+#define IF_TYPE_SONET_PATH 50
+#define IF_TYPE_SONET_VT 51
+#define IF_TYPE_SMDS_ICIP 52
+#define IF_TYPE_PROP_VIRTUAL 53
+#define IF_TYPE_PROP_MULTIPLEXOR 54
+#define IF_TYPE_IEEE80212 55
+#define IF_TYPE_FIBRECHANNEL 56
+#define IF_TYPE_HIPPIINTERFACE 57
+#define IF_TYPE_FRAMERELAY_INTERCONNECT 58
+#define IF_TYPE_AFLANE_8023 59
+#define IF_TYPE_AFLANE_8025 60
+#define IF_TYPE_CCTEMUL 61
+#define IF_TYPE_FASTETHER 62
+#define IF_TYPE_ISDN 63
+#define IF_TYPE_V11 64
+#define IF_TYPE_V36 65
+#define IF_TYPE_G703_64K 66
+#define IF_TYPE_G703_2MB 67
+#define IF_TYPE_QLLC 68
+#define IF_TYPE_FASTETHER_FX 69
+#define IF_TYPE_CHANNEL 70
+#define IF_TYPE_IEEE80211 71
+#define IF_TYPE_IBM370PARCHAN 72
+#define IF_TYPE_ESCON 73
+#define IF_TYPE_DLSW 74
+#define IF_TYPE_ISDN_S 75
+#define IF_TYPE_ISDN_U 76
+#define IF_TYPE_LAP_D 77
+#define IF_TYPE_IPSWITCH 78
+#define IF_TYPE_RSRB 79
+#define IF_TYPE_ATM_LOGICAL 80
+#define IF_TYPE_DS0 81
+#define IF_TYPE_DS0_BUNDLE 82
+#define IF_TYPE_BSC 83
+#define IF_TYPE_ASYNC 84
+#define IF_TYPE_CNR 85
+#define IF_TYPE_ISO88025R_DTR 86
+#define IF_TYPE_EPLRS 87
+#define IF_TYPE_ARAP 88
+#define IF_TYPE_PROP_CNLS 89
+#define IF_TYPE_HOSTPAD 90
+#define IF_TYPE_TERMPAD 91
+#define IF_TYPE_FRAMERELAY_MPI 92
+#define IF_TYPE_X213 93
+#define IF_TYPE_ADSL 94
+#define IF_TYPE_RADSL 95
+#define IF_TYPE_SDSL 96
+#define IF_TYPE_VDSL 97
+#define IF_TYPE_ISO88025_CRFPRINT 98
+#define IF_TYPE_MYRINET 99
+#define IF_TYPE_VOICE_EM 100
+#define IF_TYPE_VOICE_FXO 101
+#define IF_TYPE_VOICE_FXS 102
+#define IF_TYPE_VOICE_ENCAP 103
+#define IF_TYPE_VOICE_OVERIP 104
+#define IF_TYPE_ATM_DXI 105
+#define IF_TYPE_ATM_FUNI 106
+#define IF_TYPE_ATM_IMA 107
+#define IF_TYPE_PPPMULTILINKBUNDLE 108
+#define IF_TYPE_IPOVER_CDLC 109
+#define IF_TYPE_IPOVER_CLAW 110
+#define IF_TYPE_STACKTOSTACK 111
+#define IF_TYPE_VIRTUALIPADDRESS 112
+#define IF_TYPE_MPC 113
+#define IF_TYPE_IPOVER_ATM 114
+#define IF_TYPE_ISO88025_FIBER 115
+#define IF_TYPE_TDLC 116
+#define IF_TYPE_GIGABITETHERNET 117
+#define IF_TYPE_HDLC 118
+#define IF_TYPE_LAP_F 119
+#define IF_TYPE_V37 120
+#define IF_TYPE_X25_MLP 121
+#define IF_TYPE_X25_HUNTGROUP 122
+#define IF_TYPE_TRANSPHDLC 123
+#define IF_TYPE_INTERLEAVE 124
+#define IF_TYPE_FAST 125
+#define IF_TYPE_IP 126
+#define IF_TYPE_DOCSCABLE_MACLAYER 127
+#define IF_TYPE_DOCSCABLE_DOWNSTREAM 128
+#define IF_TYPE_DOCSCABLE_UPSTREAM 129
+#define IF_TYPE_A12MPPSWITCH 130
+#define IF_TYPE_TUNNEL 131
+#define IF_TYPE_COFFEE 132
+#define IF_TYPE_CES 133
+#define IF_TYPE_ATM_SUBINTERFACE 134
+#define IF_TYPE_L2_VLAN 135
+#define IF_TYPE_L3_IPVLAN 136
+#define IF_TYPE_L3_IPXVLAN 137
+#define IF_TYPE_DIGITALPOWERLINE 138
+#define IF_TYPE_MEDIAMAILOVERIP 139
+#define IF_TYPE_DTM 140
+#define IF_TYPE_DCN 141
+#define IF_TYPE_IPFORWARD 142
+#define IF_TYPE_MSDSL 143
+#define IF_TYPE_IEEE1394 144
+#define IF_TYPE_RECEIVE_ONLY 145
+#define MAX_IF_TYPE 145
+#define IF_ACCESS_LOOPBACK 1
+#define IF_ACCESS_BROADCAST 2
+#define IF_ACCESS_POINTTOPOINT 3
+#define IF_ACCESS_POINTTOMULTIPOINT 4
+#define IF_CHECK_NONE 0x00
+#define IF_CHECK_MCAST 0x01
+#define IF_CHECK_SEND 0x02
+#define IF_CONNECTION_DEDICATED 1
+#define IF_CONNECTION_PASSIVE 2
+#define IF_CONNECTION_DEMAND 3
+#define IF_ADMIN_STATUS_UP 1
+#define IF_ADMIN_STATUS_DOWN 2
+#define IF_ADMIN_STATUS_TESTING 3
+#define IF_OPER_STATUS_NON_OPERATIONAL 0
+#define IF_OPER_STATUS_UNREACHABLE 1
+#define IF_OPER_STATUS_DISCONNECTED 2
+#define IF_OPER_STATUS_CONNECTING 3
+#define IF_OPER_STATUS_CONNECTED 4
+#define IF_OPER_STATUS_OPERATIONAL 5
 #define MIB_IF_ADMIN_STATUS_UP 1
 #define MIB_IF_ADMIN_STATUS_DOWN 2
 #define MIB_IF_ADMIN_STATUS_TESTING 3
 #define MIB_IF_TYPE_PPP 23
 #define MIB_IF_TYPE_LOOPBACK 24
 #define MIB_IF_TYPE_SLIP 28
-#endif /* _IPIFCONS_H */
+
+#endif
diff --git a/winsup/w32api/include/mgm.h b/winsup/w32api/include/mgm.h
new file mode 100644 (file)
index 0000000..d8f0d89
--- /dev/null
@@ -0,0 +1,75 @@
+#ifndef _MGM_H
+#define _MGM_H
+#if __GNUC__ >= 3
+#pragma GCC system_header
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#if (_WIN32_WINNT >= 0x0500)
+#define MGM_JOIN_STATE_FLAG 0x00000001
+#define MGM_FORWARD_STATE_FLAG 0x00000002
+#define MGM_MFE_STATS_0 0x00000001
+#define MGM_MFE_STATS_1 0x00000002
+typedef enum _MGM_ENUM_TYPES {
+       ANY_SOURCE=0,
+       ALL_SOURCES
+} MGM_ENUM_TYPES;
+typedef struct _MGM_IF_ENTRY {
+       DWORD dwIfIndex;
+       DWORD dwIfNextHopAddr;
+       BOOL bIGMP;
+       BOOL bIsEnabled;
+} MGM_IF_ENTRY,*PMGM_IF_ENTRY;
+typedef DWORD(CALLBACK *PMGM_RPF_CALLBACK)(DWORD,DWORD,DWORD,DWORD,PDWORD,PDWORD,PDWORD,DWORD,PBYTE,PBYTE);
+typedef DWORD(CALLBACK *PMGM_CREATION_ALERT_CALLBACK)(DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,PMGM_IF_ENTRY);
+typedef DWORD(CALLBACK *PMGM_PRUNE_ALERT_CALLBACK)(DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,BOOL,PDWORD);
+typedef DWORD(CALLBACK *PMGM_JOIN_ALERT_CALLBACK)(DWORD,DWORD,DWORD,DWORD,BOOL);
+typedef DWORD(CALLBACK *PMGM_WRONG_IF_CALLBACK)(DWORD,DWORD,DWORD,DWORD,DWORD,PBYTE);
+typedef DWORD(CALLBACK *PMGM_LOCAL_JOIN_CALLBACK)(DWORD,DWORD,DWORD,DWORD,DWORD,DWORD);
+typedef DWORD(CALLBACK *PMGM_LOCAL_LEAVE_CALLBACK)(DWORD,DWORD,DWORD,DWORD,DWORD,DWORD);
+typedef DWORD(CALLBACK *PMGM_DISABLE_IGMP_CALLBACK)(DWORD,DWORD);
+typedef DWORD(CALLBACK *PMGM_ENABLE_IGMP_CALLBACK)(DWORD,DWORD);
+typedef struct _ROUTING_PROTOCOL_CONFIG {
+       DWORD dwCallbackFlags;
+       PMGM_RPF_CALLBACK pfnRpfCallback;
+       PMGM_CREATION_ALERT_CALLBACK pfnCreationAlertCallback;
+       PMGM_PRUNE_ALERT_CALLBACK pfnPruneAlertCallback;
+       PMGM_JOIN_ALERT_CALLBACK pfnJoinAlertCallback;
+       PMGM_WRONG_IF_CALLBACK pfnWrongIfCallback;
+       PMGM_LOCAL_JOIN_CALLBACK pfnLocalJoinCallback;
+       PMGM_LOCAL_LEAVE_CALLBACK pfnLocalLeaveCallback;
+       PMGM_DISABLE_IGMP_CALLBACK pfnDisableIgmpCallback;
+       PMGM_ENABLE_IGMP_CALLBACK pfnEnableIgmpCallback;
+} ROUTING_PROTOCOL_CONFIG,*PROUTING_PROTOCOL_CONFIG;
+typedef struct _SOURCE_GROUP_ENTRY {
+       DWORD dwSourceAddr;
+       DWORD dwSourceMask;
+       DWORD dwGroupAddr;
+       DWORD dwGroupMask;
+} SOURCE_GROUP_ENTRY,*PSOURCE_GROUP_ENTRY;
+DWORD WINAPI MgmAddGroupMembershipEntry(HANDLE,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD);
+DWORD WINAPI MgmDeleteGroupMembershipEntry(HANDLE,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD);
+DWORD WINAPI MgmDeRegisterMProtocol(HANDLE);
+DWORD WINAPI MgmGetFirstMfe(PDWORD,PBYTE,PDWORD);
+DWORD WINAPI MgmGetFirstMfeStats(PDWORD,PBYTE,PDWORD,DWORD);
+DWORD WINAPI MgmGetMfe(PMIB_IPMCAST_MFE,PDWORD,PBYTE);
+DWORD WINAPI MgmGetMfeStats(PMIB_IPMCAST_MFE,PDWORD,PBYTE,DWORD);
+DWORD WINAPI MgmGetNextMfe(PMIB_IPMCAST_MFE,PDWORD,PBYTE,PDWORD);
+DWORD WINAPI MgmGetNextMfeStats(PMIB_IPMCAST_MFE,PDWORD,PBYTE,PDWORD,DWORD);
+DWORD WINAPI MgmGetProtocolOnInterface(DWORD,DWORD,PDWORD,PDWORD);
+DWORD WINAPI MgmGroupEnumerationEnd(HANDLE);
+DWORD WINAPI MgmGroupEnumerationGetNext(HANDLE,PDWORD,PBYTE,PDWORD);
+DWORD WINAPI MgmGroupEnumerationStart(HANDLE,MGM_ENUM_TYPES,HANDLE*);
+DWORD WINAPI MgmRegisterMProtocol(PROUTING_PROTOCOL_CONFIG,DWORD,DWORD,HANDLE*);
+DWORD WINAPI MgmReleaseInterfaceOwnership(HANDLE,DWORD,DWORD);
+DWORD WINAPI MgmSetMfe(HANDLE,PMIB_IPMCAST_MFE);
+DWORD WINAPI MgmTakeInterfaceOwnership(HANDLE,DWORD,DWORD);
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+#endif
index be78b2f..003ff3c 100644 (file)
@@ -939,7 +939,7 @@ typedef struct _MEMORYSTATUSEX {
        DWORDLONG ullTotalVirtual;
        DWORDLONG ullAvailVirtual;
        DWORDLONG ullAvailExtendedVirtual;
-} MEMORYSTATUSEX, *LPMEMORYSTATUSEX;
+} MEMORYSTATUSEX,*LPMEMORYSTATUSEX;
 #endif
 typedef struct _LDT_ENTRY {
        WORD LimitLow;
@@ -1134,6 +1134,9 @@ WINBASEAPI BOOL WINAPI CallNamedPipeW(LPCWSTR,PVOID,DWORD,PVOID,DWORD,PDWORD,DWO
 WINBASEAPI BOOL WINAPI CancelDeviceWakeupRequest(HANDLE);
 WINBASEAPI BOOL WINAPI CancelIo(HANDLE);
 WINBASEAPI BOOL WINAPI CancelWaitableTimer(HANDLE);
+#if (_WIN32_WINNT >= 0x0500)
+WINBASEAPI BOOL WINAPI ChangeTimerQueueTimer(HANDLE,HANDLE,ULONG,ULONG);
+#endif
 #if (_WIN32_WINNT >= 0x0501)
 WINBASEAPI BOOL WINAPI CheckNameLegalDOS8Dot3A(LPCSTR,LPSTR,DWORD,PBOOL,PBOOL);
 WINBASEAPI BOOL WINAPI CheckNameLegalDOS8Dot3W(LPCWSTR,LPSTR,DWORD,PBOOL,PBOOL);
@@ -1953,6 +1956,7 @@ WINBASEAPI BOOL WINAPI UnlockFileEx(HANDLE,DWORD,DWORD,DWORD,LPOVERLAPPED);
 #define UnlockSegment(w) GlobalUnfix((HANDLE)(w)) /* Obsolete: Has no effect. */
 WINBASEAPI BOOL WINAPI UnmapViewOfFile(PVOID);
 #if (_WIN32_WINNT >= 0x0500)
+WINBASEAPI BOOL WINAPI UnregisterWait(HANDLE);
 WINBASEAPI BOOL WINAPI UnregisterWaitEx(HANDLE,HANDLE);
 #endif
 WINBASEAPI BOOL WINAPI UpdateResourceA(HANDLE,LPCSTR,LPCSTR,WORD,PVOID,DWORD);
@@ -2397,6 +2401,7 @@ typedef PCACTCTXA PCACTCTX;
 #define WriteProfileString WriteProfileStringA
 #endif
 #endif
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/winsup/w32api/lib/rtm.def b/winsup/w32api/lib/rtm.def
new file mode 100644 (file)
index 0000000..b156914
--- /dev/null
@@ -0,0 +1,18 @@
+LIBRARY RTM.DLL
+EXPORTS
+MgmAddGroupMembershipEntry@32
+MgmDeleteGroupMembershipEntry@32
+MgmDeRegisterMProtocol@4
+MgmGetFirstMfe@12
+MgmGetFirstMfeStats@16
+MgmGetMfe@12
+MgmGetMfeStats@16
+MgmGetNextMfe@16
+MgmGetNextMfeStats@20
+MgmGetProtocolOnInterface@16
+MgmGroupEnumerationEnd@4
+MgmGroupEnumerationGetNext@16
+MgmGroupEnumerationStart@12
+MgmRegisterMProtocol@16
+MgmReleaseInterfaceOwnership@12
+MgmTakeInterfaceOwnership@12