GNU Linux-libre 6.0.15-gnu
[releases.git] / include / uapi / linux / cifs / cifs_netlink.h
1 /* SPDX-License-Identifier: LGPL-2.1+ WITH Linux-syscall-note */
2 /*
3  * Netlink routines for CIFS
4  *
5  * Copyright (c) 2020 Samuel Cabrero <scabrero@suse.de>
6  */
7
8
9 #ifndef _UAPILINUX_CIFS_NETLINK_H
10 #define _UAPILINUX_CIFS_NETLINK_H
11
12 #define CIFS_GENL_NAME                  "cifs"
13 #define CIFS_GENL_VERSION               0x1
14
15 #define CIFS_GENL_MCGRP_SWN_NAME        "cifs_mcgrp_swn"
16
17 enum cifs_genl_multicast_groups {
18         CIFS_GENL_MCGRP_SWN,
19 };
20
21 enum cifs_genl_attributes {
22         CIFS_GENL_ATTR_UNSPEC,
23         CIFS_GENL_ATTR_SWN_REGISTRATION_ID,
24         CIFS_GENL_ATTR_SWN_NET_NAME,
25         CIFS_GENL_ATTR_SWN_SHARE_NAME,
26         CIFS_GENL_ATTR_SWN_IP,
27         CIFS_GENL_ATTR_SWN_NET_NAME_NOTIFY,
28         CIFS_GENL_ATTR_SWN_SHARE_NAME_NOTIFY,
29         CIFS_GENL_ATTR_SWN_IP_NOTIFY,
30         CIFS_GENL_ATTR_SWN_KRB_AUTH,
31         CIFS_GENL_ATTR_SWN_USER_NAME,
32         CIFS_GENL_ATTR_SWN_PASSWORD,
33         CIFS_GENL_ATTR_SWN_DOMAIN_NAME,
34         CIFS_GENL_ATTR_SWN_NOTIFICATION_TYPE,
35         CIFS_GENL_ATTR_SWN_RESOURCE_STATE,
36         CIFS_GENL_ATTR_SWN_RESOURCE_NAME,
37         __CIFS_GENL_ATTR_MAX,
38 };
39 #define CIFS_GENL_ATTR_MAX (__CIFS_GENL_ATTR_MAX - 1)
40
41 enum cifs_genl_commands {
42         CIFS_GENL_CMD_UNSPEC,
43         CIFS_GENL_CMD_SWN_REGISTER,
44         CIFS_GENL_CMD_SWN_UNREGISTER,
45         CIFS_GENL_CMD_SWN_NOTIFY,
46         __CIFS_GENL_CMD_MAX
47 };
48 #define CIFS_GENL_CMD_MAX (__CIFS_GENL_CMD_MAX - 1)
49
50 enum cifs_swn_notification_type {
51         CIFS_SWN_NOTIFICATION_RESOURCE_CHANGE = 0x01,
52         CIFS_SWN_NOTIFICATION_CLIENT_MOVE        = 0x02,
53         CIFS_SWN_NOTIFICATION_SHARE_MOVE         = 0x03,
54         CIFS_SWN_NOTIFICATION_IP_CHANGE  = 0x04,
55 };
56
57 enum cifs_swn_resource_state {
58         CIFS_SWN_RESOURCE_STATE_UNKNOWN     = 0x00,
59         CIFS_SWN_RESOURCE_STATE_AVAILABLE   = 0x01,
60         CIFS_SWN_RESOURCE_STATE_UNAVAILABLE = 0xFF
61 };
62
63 #endif /* _UAPILINUX_CIFS_NETLINK_H */