master
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
7#ifndef _L2CMN_H
8#define _L2CMN_H
9
10#include <winapifamily.h>
11
12#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
13
14#ifdef __cplusplus
15extern "C" {
16#endif
17
18#define L2_PROFILE_MAX_NAME_LENGTH 256
19
20#define L2_NOTIFICATION_SOURCE_NONE 0
21#define L2_NOTIFICATION_SOURCE_DOT3_AUTO_CONFIG 0x00000001
22#define L2_NOTIFICATION_SOURCE_SECURITY 0x00000002
23#define L2_NOTIFICATION_SOURCE_ONEX 0x00000004
24#define L2_NOTIFICATION_SOURCE_WLAN_ACM 0x00000008
25#define L2_NOTIFICATION_SOURCE_WLAN_MSM 0x00000010
26#define L2_NOTIFICATION_SOURCE_WLAN_SECURITY 0x00000020
27#define L2_NOTIFICATION_SOURCE_WLAN_IHV 0x00000040
28#define L2_NOTIFICATION_SOURCE_WLAN_HNWK 0x00000080
29#define L2_NOTIFICATION_SOURCE_WCM 0x00000100
30#define L2_NOTIFICATION_SOURCE_WCM_CSP 0x00000200
31#define L2_NOTIFICATION_SOURCE_WFD 0x00000400
32#define L2_NOTIFICATION_SOURCE_WLAN_DEVICE_SERVICE 0x00000800
33#define L2_NOTIFICATION_SOURCE_ALL 0x0000ffff
34
35#define L2_NOTIFICATION_CODE_PUBLIC_BEGIN 0x00000000
36#define L2_NOTIFICATION_CODE_GROUP_SIZE 0x00001000
37#define L2_NOTIFICATION_CODE_V2_BEGIN (L2_NOTIFICATION_CODE_PUBLIC_BEGIN+L2_NOTIFICATION_CODE_GROUP_SIZE)
38
39#define L2_REASON_CODE_GROUP_SIZE 0x10000
40#define L2_REASON_CODE_GEN_BASE 0x10000
41#define L2_REASON_CODE_DOT11_AC_BASE (L2_REASON_CODE_GEN_BASE+L2_REASON_CODE_GROUP_SIZE)
42#define L2_REASON_CODE_DOT11_MSM_BASE (L2_REASON_CODE_DOT11_AC_BASE+L2_REASON_CODE_GROUP_SIZE)
43#define L2_REASON_CODE_DOT11_SECURITY_BASE (L2_REASON_CODE_DOT11_MSM_BASE+L2_REASON_CODE_GROUP_SIZE)
44#define L2_REASON_CODE_ONEX_BASE (L2_REASON_CODE_DOT11_SECURITY_BASE+L2_REASON_CODE_GROUP_SIZE)
45#define L2_REASON_CODE_DOT3_AC_BASE (L2_REASON_CODE_ONEX_BASE+L2_REASON_CODE_GROUP_SIZE)
46#define L2_REASON_CODE_DOT3_MSM_BASE (L2_REASON_CODE_DOT3_AC_BASE+L2_REASON_CODE_GROUP_SIZE)
47#define L2_REASON_CODE_PROFILE_BASE (L2_REASON_CODE_DOT3_MSM_BASE+L2_REASON_CODE_GROUP_SIZE)
48#define L2_REASON_CODE_IHV_BASE (L2_REASON_CODE_PROFILE_BASE+L2_REASON_CODE_GROUP_SIZE)
49#define L2_REASON_CODE_WIMAX_BASE (L2_REASON_CODE_IHV_BASE+L2_REASON_CODE_GROUP_SIZE)
50#define L2_REASON_CODE_RESERVED_BASE (L2_REASON_CODE_WIMAX_BASE+L2_REASON_CODE_GROUP_SIZE)
51#define L2_REASON_CODE_SUCCESS 0
52#define L2_REASON_CODE_UNKNOWN (L2_REASON_CODE_GEN_BASE+1)
53#define L2_REASON_CODE_PROFILE_MISSING 0x00000001
54
55typedef struct _L2_NOTIFICATION_DATA {
56 DWORD NotificationSource;
57 DWORD NotificationCode;
58 GUID InterfaceGuid;
59 DWORD dwDataSize;
60 PVOID pData;
61} L2_NOTIFICATION_DATA, *PL2_NOTIFICATION_DATA;
62
63#ifdef __cplusplus
64}
65#endif
66
67#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
68
69#endif /* _L2CMN_H */