<commit_before>#ifndef DEVICE_H_
#define DEVICE_H_

#include <stdint.h>

struct sim_state;

#include "common.h"
#include "plugin_portable.h"

typedef int map_init(struct plugin_cookie *pcookie, void *ud);
typedef int map_op(void *cookie, int op, uint32_t addr, uint32_t *data);
typedef int map_cycle(void *cookie);
typedef int map_fini(void *cookie);

struct device_ops {
    map_init *init;
    map_op *op;
    map_cycle *cycle;
    map_fini *fini;
};

struct device {
    uint32_t bounds[2]; // lower and upper memory bounds, inclusive
    struct device_ops ops;
    void *cookie;
};

#endif

/* vi: set ts=4 sw=4 et: */<commit_msg>Remove needless forward declaration<commit_after>#ifndef DEVICE_H_
#define DEVICE_H_

#include <stdint.h>

#include "common.h"
#include "plugin_portable.h"

typedef int map_init(struct plugin_cookie *pcookie, void *ud);
typedef int map_op(void *cookie, int op, uint32_t addr, uint32_t *data);
typedef int map_cycle(void *cookie);
typedef int map_fini(void *cookie);

struct device_ops {
    map_init *init;
    map_op *op;
    map_cycle *cycle;
    map_fini *fini;
};

struct device {
    uint32_t bounds[2]; // lower and upper memory bounds, inclusive
    struct device_ops ops;
    void *cookie;
};

#endif

/* vi: set ts=4 sw=4 et: */
{'fraction_non_alphanumeric': 0.1125098347757671, 'fraction_numerical': 0.014162077104642014, 'mean_word_length': 4.412765957446808, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, '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': '7504774', 'n_tokens_mistral': 482, 'n_tokens_neox': 459, 'n_words': 137}