<commit_before>/**
 * @file
 * @brief
 *
 * @date 03.11.10
 * @author <NAME>
 */

#ifndef DEVICE_H_
#define DEVICE_H_

#include <stddef.h>

struct idesc;
struct dev_module;

#ifdef __GNUC__
	/* Avoid warning for unused parameters with ((unused)) attribute */
	#define CHAR_DEV_DEF(chname, open_fn, close_fn, idesc_op, priv) \
		__attribute__((unused)) static struct { \
			void *o, *c, *i, *p; \
		} unused##__LINE__ = { \
			.o = open_fn, .c = close_fn, .i = idesc_op, .p = priv \
		};
#else
	#define CHAR_DEV_DEF(chname, open_fn, close_fn, idesc_op, priv)
#endif /* __GNUC__ */

extern int char_dev_init_all(void);
extern int char_dev_register(const struct dev_module *cdev);
extern int char_dev_idesc_fstat(struct idesc *idesc, void *buff);
extern int cdev_idesc_alloc(struct dev_module *cdev);<commit_msg>char_dev_stub: Add missing structure declaration<commit_after>/**
 * @file
 * @brief
 *
 * @date 03.11.10
 * @author <NAME>
 */

#ifndef DEVICE_H_
#define DEVICE_H_

#include <stddef.h>
#include <fs/idesc.h>

struct idesc;
struct dev_module;

#ifdef __GNUC__
	/* Avoid warning for unused parameters with ((unused)) attribute */
	#define CHAR_DEV_DEF(chname, open_fn, close_fn, idesc_op, priv) \
		__attribute__((unused)) static struct { \
			void *o, *c, *i, *p; \
		} unused##__LINE__ = { \
			.o = open_fn, .c = close_fn, .i = idesc_op, .p = priv \
		};
#else
	#define CHAR_DEV_DEF(chname, open_fn, close_fn, idesc_op, priv)
#endif /* __GNUC__ */

struct idesc_dev {
	struct idesc idesc;
	void *dev;
};

extern int char_dev_init_all(void);
extern int char_dev_register(const struct dev_module *cdev);
extern int char_dev_idesc_fstat(struct idesc *idesc, void *buff);
extern int cdev_idesc_alloc(struct dev_module *cdev);
{'fraction_non_alphanumeric': 0.13518197573656845, 'fraction_numerical': 0.006932409012131715, 'mean_word_length': 4.498412698412698, 'pattern_counts': {'":': 0, '<': 8, '<?xml version=': 0, '>': 8, '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': '4311140', 'n_tokens_mistral': 709, 'n_tokens_neox': 688, 'n_words': 172}