<commit_before>#ifndef HAL_GROUP_H
#define HAL_GROUP_H

#include <rtapi.h>
#include <hal_priv.h>

RTAPI_BEGIN_DECLS

typedef struct {
    int next_ptr;		/* next member in linked list */
    int sig_member_ptr;          /* offset of hal_signal_t  */
    int group_member_ptr;        /* offset of hal_group_t (nested) */
    int userarg1;                /* interpreted by using layer */
    //double epsilon;             // delta for float change detection
    int handle;                 // unique ID
    __u8 eps_index;             // index into haldata->epsilon[]; default 0
} hal_member_t;

typedef struct {
    int next_ptr;		/* next group in free list */
    int refcount;               /* advisory by using code */
    int userarg1;	        /* interpreted by using layer */
    int userarg2;	        /* interpreted by using layer */
    int handle;                 /* immutable ID */
    char name[HAL_NAME_LEN + 1];	/* group name */
    int member_ptr;             /* list of group members */
} hal_group_t;


#define CGROUP_MAGIC  0xbeef7411
typedef struct {
    int magic;
    hal_group_t *group;
    int n_members;
    int mbr_index;               // iterator state
    int mon_index;               // iterator state
    hal_member_t  **member;      // all members (nesting resolved)
    unsigned long *changed;      // bitmap
    int n_monitored;             // count of pins to monitor for change
    hal_data_u    *tracking;     // tracking values of monitored pins
    unsigned long user_flags;    // uninterpreted by HAL code
    void *user_data;             // uninterpreted by HAL code
} hal_compiled_group_t;

typedef int (*group_report_callback_t)(int,  hal_compiled_group_t *,<commit_msg>cleanup/hal_group.h: remove unused field<commit_after>#ifndef HAL_GROUP_H
#define HAL_GROUP_H

#include <rtapi.h>
#include <hal_priv.h>

RTAPI_BEGIN_DECLS

typedef struct {
    int next_ptr;		/* next member in linked list */
    int sig_member_ptr;          /* offset of hal_signal_t  */
    int group_member_ptr;        /* offset of hal_group_t (nested) */
    int userarg1;                /* interpreted by using layer */
    int handle;                 // unique ID
    __u8 eps_index;             // index into haldata->epsilon[]; default 0
} hal_member_t;

typedef struct {
    int next_ptr;		/* next group in free list */
    int refcount;               /* advisory by using code */
    int userarg1;	        /* interpreted by using layer */
    int userarg2;	        /* interpreted by using layer */
    int handle;                 /* immutable ID */
    char name[HAL_NAME_LEN + 1];	/* group name */
    int member_ptr;             /* list of group members */
} hal_group_t;


#define CGROUP_MAGIC  0xbeef7411
typedef struct {
    int magic;
    hal_group_t *group;
    int n_members;
    int mbr_index;               // iterator state
    int mon_index;               // iterator state
    hal_member_t  **member;      // all members (nesting resolved)
    unsigned long *changed;      // bitmap
    int n_monitored;             // count of pins to monitor for change
    hal_data_u    *tracking;     // tracking values of monitored pins
    unsigned long user_flags;    // uninterpreted by HAL code
    void *user_data;             // uninterpreted by HAL code
} hal_compiled_group_t;

typedef int (*group_report_callback_t)(int,  hal_compiled_group_t *,
{'fraction_non_alphanumeric': 0.08306140611094631, 'fraction_numerical': 0.006526253337288638, 'mean_word_length': 2.0543478260869565, 'pattern_counts': {'":': 0, '<': 7, '<?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': '886783', 'n_tokens_mistral': 1031, 'n_tokens_neox': 982, 'n_words': 316}