Mercurial > games > semicongine
diff fuhtark_test/include/winapi/madcapcl.h @ 1500:91c8c3b7cbf0
add: futhark tests for generating vulkan api
| author | sam <sam@basx.dev> |
|---|---|
| date | Wed, 26 Nov 2025 21:36:48 +0700 |
| parents | |
| children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fuhtark_test/include/winapi/madcapcl.h Wed Nov 26 21:36:48 2025 +0700 @@ -0,0 +1,80 @@ +/** + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the w64 mingw-runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ +#ifndef _MADCAPCL_H_ +#define _MADCAPCL_H_ + +#include <winternl.h> + +#ifdef __cplusplus +extern "C" { +#endif + +#include <time.h> + +#define MCAST_CLIENT_ID_LEN 17 + + enum { + MCAST_API_VERSION_0 = 0,MCAST_API_VERSION_1 + }; + +#define MCAST_API_CURRENT_VERSION MCAST_API_VERSION_1 + + typedef unsigned short IP_ADDR_FAMILY; + + typedef union _IPNG_ADDRESS { + DWORD IpAddrV4; + BYTE IpAddrV6[16]; + } IPNG_ADDRESS,*PIPNG_ADDRESS; + + typedef struct _MCAST_CLIENT_UID { + LPBYTE ClientUID; + DWORD ClientUIDLength; + } MCAST_CLIENT_UID,*LPMCAST_CLIENT_UID; + + typedef struct _MCAST_SCOPE_CTX { + IPNG_ADDRESS ScopeID; + IPNG_ADDRESS Interface; + IPNG_ADDRESS ServerID; + } MCAST_SCOPE_CTX,*PMCAST_SCOPE_CTX; + + typedef struct _MCAST_SCOPE_ENTRY { + MCAST_SCOPE_CTX ScopeCtx; + IPNG_ADDRESS LastAddr; + DWORD TTL; + UNICODE_STRING ScopeDesc; + } MCAST_SCOPE_ENTRY,*PMCAST_SCOPE_ENTRY; + + typedef struct _MCAST_LEASE_REQUEST { + LONG LeaseStartTime; + LONG MaxLeaseStartTime; + DWORD LeaseDuration; + DWORD MinLeaseDuration; + IPNG_ADDRESS ServerAddress; + WORD MinAddrCount; + WORD AddrCount; + PBYTE pAddrBuf; + } MCAST_LEASE_REQUEST,*PMCAST_LEASE_REQUEST; + + typedef struct _MCAST_LEASE_RESPONSE { + LONG LeaseStartTime; + LONG LeaseEndTime; + IPNG_ADDRESS ServerAddress; + WORD AddrCount; + PBYTE pAddrBuf; + } MCAST_LEASE_RESPONSE,*PMCAST_LEASE_RESPONSE; + + DWORD WINAPI McastApiStartup(PDWORD Version); + VOID WINAPI McastApiCleanup(VOID); + DWORD WINAPI McastGenUID(LPMCAST_CLIENT_UID pRequestID); + DWORD WINAPI McastEnumerateScopes(IP_ADDR_FAMILY AddrFamily,WINBOOL ReQuery,PMCAST_SCOPE_ENTRY pScopeList,PDWORD pScopeLen,PDWORD pScopeCount); + DWORD WINAPI McastRequestAddress(IP_ADDR_FAMILY AddrFamily,LPMCAST_CLIENT_UID pRequestID,PMCAST_SCOPE_CTX pScopeCtx,PMCAST_LEASE_REQUEST pAddrRequest,PMCAST_LEASE_RESPONSE pAddrResponse); + DWORD WINAPI McastRenewAddress(IP_ADDR_FAMILY AddrFamily,LPMCAST_CLIENT_UID pRequestID,PMCAST_LEASE_REQUEST pRenewRequest,PMCAST_LEASE_RESPONSE pRenewResponse); + DWORD WINAPI McastReleaseAddress(IP_ADDR_FAMILY AddrFamily,LPMCAST_CLIENT_UID pRequestID,PMCAST_LEASE_REQUEST pReleaseRequest); + +#ifdef __cplusplus +} +#endif +#endif
