mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-04-16 04:13:31 +00:00
47 lines
1.4 KiB
Diff
47 lines
1.4 KiB
Diff
--- a/include/net/genetlink.h
|
|
+++ b/include/net/genetlink.h
|
|
@@ -54,6 +54,7 @@ struct genl_family {
|
|
unsigned int maxattr;
|
|
bool netnsok;
|
|
bool parallel_ops;
|
|
+ u8 n_small_ops;
|
|
const struct nla_policy *policy;
|
|
int (*pre_doit)(const struct genl_ops *ops,
|
|
struct sk_buff *skb,
|
|
@@ -63,6 +64,7 @@ struct genl_family {
|
|
struct genl_info *info);
|
|
struct nlattr ** attrbuf; /* private */
|
|
const struct genl_ops * ops;
|
|
+ const struct genl_small_ops *small_ops;
|
|
const struct genl_multicast_group *mcgrps;
|
|
unsigned int n_ops;
|
|
unsigned int n_mcgrps;
|
|
@@ -123,6 +125,27 @@ enum genl_validate_flags {
|
|
};
|
|
|
|
/**
|
|
+ * struct genl_small_ops - generic netlink operations (small version)
|
|
+ * @cmd: command identifier
|
|
+ * @internal_flags: flags used by the family
|
|
+ * @flags: GENL_* flags (%GENL_ADMIN_PERM or %GENL_UNS_ADMIN_PERM)
|
|
+ * @validate: validation flags from enum genl_validate_flags
|
|
+ * @doit: standard command callback
|
|
+ * @dumpit: callback for dumpers
|
|
+ *
|
|
+ * This is a cut-down version of struct genl_ops for users who don't need
|
|
+ * most of the ancillary infra and want to save space.
|
|
+ */
|
|
+struct genl_small_ops {
|
|
+ int (*doit)(struct sk_buff *skb, struct genl_info *info);
|
|
+ int (*dumpit)(struct sk_buff *skb, struct netlink_callback *cb);
|
|
+ u8 cmd;
|
|
+ u8 internal_flags;
|
|
+ u8 flags;
|
|
+ u8 validate;
|
|
+};
|
|
+
|
|
+/**
|
|
* struct genl_ops - generic netlink operations
|
|
* @cmd: command identifier
|
|
* @internal_flags: flags used by the family
|