ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/Daodan/MSYS2/mingw32/i686-w64-mingw32/include/madcapcl.h
Revision: 1166
Committed: Tue Oct 26 14:22:36 2021 UTC (4 years ago) by rossy
Content type: text/x-chdr
File size: 2421 byte(s)
Log Message:
Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File Contents

# Content
1 /**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6 #ifndef _MADCAPCL_H_
7 #define _MADCAPCL_H_
8
9 #include <winternl.h>
10
11 #ifdef __cplusplus
12 extern "C" {
13 #endif
14
15 #include <time.h>
16
17 #define MCAST_CLIENT_ID_LEN 17
18
19 enum {
20 MCAST_API_VERSION_0 = 0,MCAST_API_VERSION_1
21 };
22
23 #define MCAST_API_CURRENT_VERSION MCAST_API_VERSION_1
24
25 typedef unsigned short IP_ADDR_FAMILY;
26
27 typedef union _IPNG_ADDRESS {
28 DWORD IpAddrV4;
29 BYTE IpAddrV6[16];
30 } IPNG_ADDRESS,*PIPNG_ADDRESS;
31
32 typedef struct _MCAST_CLIENT_UID {
33 LPBYTE ClientUID;
34 DWORD ClientUIDLength;
35 } MCAST_CLIENT_UID,*LPMCAST_CLIENT_UID;
36
37 typedef struct _MCAST_SCOPE_CTX {
38 IPNG_ADDRESS ScopeID;
39 IPNG_ADDRESS Interface;
40 IPNG_ADDRESS ServerID;
41 } MCAST_SCOPE_CTX,*PMCAST_SCOPE_CTX;
42
43 typedef struct _MCAST_SCOPE_ENTRY {
44 MCAST_SCOPE_CTX ScopeCtx;
45 IPNG_ADDRESS LastAddr;
46 DWORD TTL;
47 UNICODE_STRING ScopeDesc;
48 } MCAST_SCOPE_ENTRY,*PMCAST_SCOPE_ENTRY;
49
50 typedef struct _MCAST_LEASE_REQUEST {
51 LONG LeaseStartTime;
52 LONG MaxLeaseStartTime;
53 DWORD LeaseDuration;
54 DWORD MinLeaseDuration;
55 IPNG_ADDRESS ServerAddress;
56 WORD MinAddrCount;
57 WORD AddrCount;
58 PBYTE pAddrBuf;
59 } MCAST_LEASE_REQUEST,*PMCAST_LEASE_REQUEST;
60
61 typedef struct _MCAST_LEASE_RESPONSE {
62 LONG LeaseStartTime;
63 LONG LeaseEndTime;
64 IPNG_ADDRESS ServerAddress;
65 WORD AddrCount;
66 PBYTE pAddrBuf;
67 } MCAST_LEASE_RESPONSE,*PMCAST_LEASE_RESPONSE;
68
69 DWORD WINAPI McastApiStartup(PDWORD Version);
70 VOID WINAPI McastApiCleanup(VOID);
71 DWORD WINAPI McastGenUID(LPMCAST_CLIENT_UID pRequestID);
72 DWORD WINAPI McastEnumerateScopes(IP_ADDR_FAMILY AddrFamily,WINBOOL ReQuery,PMCAST_SCOPE_ENTRY pScopeList,PDWORD pScopeLen,PDWORD pScopeCount);
73 DWORD WINAPI McastRequestAddress(IP_ADDR_FAMILY AddrFamily,LPMCAST_CLIENT_UID pRequestID,PMCAST_SCOPE_CTX pScopeCtx,PMCAST_LEASE_REQUEST pAddrRequest,PMCAST_LEASE_RESPONSE pAddrResponse);
74 DWORD WINAPI McastRenewAddress(IP_ADDR_FAMILY AddrFamily,LPMCAST_CLIENT_UID pRequestID,PMCAST_LEASE_REQUEST pRenewRequest,PMCAST_LEASE_RESPONSE pRenewResponse);
75 DWORD WINAPI McastReleaseAddress(IP_ADDR_FAMILY AddrFamily,LPMCAST_CLIENT_UID pRequestID,PMCAST_LEASE_REQUEST pReleaseRequest);
76
77 #ifdef __cplusplus
78 }
79 #endif
80 #endif