<commit_before>#ifndef GENL_MAGIC_STRUCT_H
#define GENL_MAGIC_STRUCT_H

#ifndef GENL_MAGIC_FAMILY
# error "you need to define GENL_MAGIC_FAMILY before inclusion"
#endif

#ifndef GENL_MAGIC_VERSION
# error "you need to define GENL_MAGIC_VERSION before inclusion"
#endif

#ifndef GENL_MAGIC_INCLUDE_FILE
# error "you need to define GENL_MAGIC_INCLUDE_FILE before inclusion"
#endif

#include <linux/genetlink.h>
#include <linux/types.h>

#define CONCAT__(a,b)	a ## b
#define CONCAT_(a,b)	CONCAT__(a,b)

extern int CONCAT_(GENL_MAGIC_FAMILY, _genl_register)(void);
extern void CONCAT_(GENL_MAGIC_FAMILY, _genl_unregister)(void);

/*
 * Extension of genl attribute validation policies			{{{2
 */

/**
 * GENLA_F_FLAGS - policy type flags to ease compatible ABI evolvement
 *
 * @GENLA_F_REQUIRED: attribute has to be present, or message is considered invalid.
 * Adding new REQUIRED attributes breaks ABI compatibility, so don't do that.
 *
 * @GENLA_F_MANDATORY: if present, receiver _must_ understand it.
 * Without this, unknown attributes (> maxtype) are _silently_ ignored
 * by validate_nla().
 *
 * To be used for API extensions, so older kernel can reject requests for not
 * yet implemented features, if newer userland tries to use them even though
 * the genl_family version clearly indicates they are not available.
 *
 * @GENLA_F_MAY_IGNORE: To clearly document the fact, for good measure.
 * To be used for API extensions for things that have sane defaults,
 * so newer userland can still talk to older kernel, knowing it will
 * silently ignore these attributes if not yet known.
 *
 * NOTE: These flags overload
 *   NLA_F_NESTED		(1 << 15)
 *   NLA_F_NET_BYTEORDER	(1 << 14)
 * from linux/netlink.h, which are not useful for validate_nla():
 * NET_BYTEORDER is not used anywhere, and NESTED would be specified by setting
 * .type = NLA_NESTED in the appropriate policy.
 *
 * See also: nla_type()
 */
enum {
	GENLA_F_MAY_IGNORE	= 0,
	GENLA_F_MANDATORY	= 1 << 14,
	GENLA_F_REQUIRED	= 1 << 15,
<commit_msg>drbd: Remove unused GENLA_F_MAY_IGNORE flag<commit_after>#ifndef GENL_MAGIC_STRUCT_H
#define GENL_MAGIC_STRUCT_H

#ifndef GENL_MAGIC_FAMILY
# error "you need to define GENL_MAGIC_FAMILY before inclusion"
#endif

#ifndef GENL_MAGIC_VERSION
# error "you need to define GENL_MAGIC_VERSION before inclusion"
#endif

#ifndef GENL_MAGIC_INCLUDE_FILE
# error "you need to define GENL_MAGIC_INCLUDE_FILE before inclusion"
#endif

#include <linux/genetlink.h>
#include <linux/types.h>

#define CONCAT__(a,b)	a ## b
#define CONCAT_(a,b)	CONCAT__(a,b)

extern int CONCAT_(GENL_MAGIC_FAMILY, _genl_register)(void);
extern void CONCAT_(GENL_MAGIC_FAMILY, _genl_unregister)(void);

/*
 * Extension of genl attribute validation policies			{{{2
 */

/**
 * GENLA_F_FLAGS - policy type flags to ease compatible ABI evolvement
 *
 * @GENLA_F_REQUIRED: attribute has to be present, or message is considered invalid.
 * Adding new REQUIRED attributes breaks ABI compatibility, so don't do that.
 *
 * @GENLA_F_MANDATORY: if present, receiver _must_ understand it.
 * Without this, unknown attributes (> maxtype) are _silently_ ignored
 * by validate_nla().
 *
 * To be used for API extensions, so older kernel can reject requests for not
 * yet implemented features, if newer userland tries to use them even though
 * the genl_family version clearly indicates they are not available.
 *
 * NOTE: These flags overload
 *   NLA_F_NESTED		(1 << 15)
 *   NLA_F_NET_BYTEORDER	(1 << 14)
 * from linux/netlink.h, which are not useful for validate_nla():
 * NET_BYTEORDER is not used anywhere, and NESTED would be specified by setting
 * .type = NLA_NESTED in the appropriate policy.
 *
 * See also: nla_type()
 */
enum {
	GENLA_F_MANDATORY	= 1 << 14,
	GENLA_F_REQUIRED	= 1 << 15,

{'fraction_non_alphanumeric': 0.0793524416135881, 'fraction_numerical': 0.007165605095541401, 'mean_word_length': 4.85248447204969, 'pattern_counts': {'":': 0, '<': 23, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4871349', 'n_tokens_mistral': 1325, 'n_tokens_neox': 1257, 'n_words': 431}