fs/cifs: Simplify bool comparison.
[sfrench/cifs-2.6.git] / fs / cifs / netlink.c
index b9154661fa856e4b3f3e40f43fccd3a7556130ad..5aaabe4cc0a78fb5899b1d20bba702409af009a5 100644 (file)
 #include "netlink.h"
 #include "cifsglob.h"
 #include "cifs_debug.h"
+#include "cifs_swn.h"
 
 static const struct nla_policy cifs_genl_policy[CIFS_GENL_ATTR_MAX + 1] = {
+       [CIFS_GENL_ATTR_SWN_REGISTRATION_ID]    = { .type = NLA_U32 },
+       [CIFS_GENL_ATTR_SWN_NET_NAME]           = { .type = NLA_STRING },
+       [CIFS_GENL_ATTR_SWN_SHARE_NAME]         = { .type = NLA_STRING },
+       [CIFS_GENL_ATTR_SWN_IP]                 = { .len = sizeof(struct sockaddr_storage) },
+       [CIFS_GENL_ATTR_SWN_NET_NAME_NOTIFY]    = { .type = NLA_FLAG },
+       [CIFS_GENL_ATTR_SWN_SHARE_NAME_NOTIFY]  = { .type = NLA_FLAG },
+       [CIFS_GENL_ATTR_SWN_IP_NOTIFY]          = { .type = NLA_FLAG },
+       [CIFS_GENL_ATTR_SWN_KRB_AUTH]           = { .type = NLA_FLAG },
+       [CIFS_GENL_ATTR_SWN_USER_NAME]          = { .type = NLA_STRING },
+       [CIFS_GENL_ATTR_SWN_PASSWORD]           = { .type = NLA_STRING },
+       [CIFS_GENL_ATTR_SWN_DOMAIN_NAME]        = { .type = NLA_STRING },
+       [CIFS_GENL_ATTR_SWN_NOTIFICATION_TYPE]  = { .type = NLA_U32 },
+       [CIFS_GENL_ATTR_SWN_RESOURCE_STATE]     = { .type = NLA_U32 },
+       [CIFS_GENL_ATTR_SWN_RESOURCE_NAME]      = { .type = NLA_STRING},
 };
 
 static struct genl_ops cifs_genl_ops[] = {
+       {
+               .cmd = CIFS_GENL_CMD_SWN_NOTIFY,
+               .validate = GENL_DONT_VALIDATE_STRICT | GENL_DONT_VALIDATE_DUMP,
+               .doit = cifs_swn_notify,
+       },
 };
 
 static const struct genl_multicast_group cifs_genl_mcgrps[] = {