Wireshark  4.3.0
The Wireshark network protocol analyzer
uat-int.h
Go to the documentation of this file.
1 
16 #ifndef __UAT_INT_H__
17 #define __UAT_INT_H__
18 
19 #include <glib.h>
20 
21 #include "uat.h"
22 #include "ws_symbol_export.h"
23 
24 #ifdef __cplusplus
25 extern "C" {
26 #endif /* __cplusplus */
27 
28 typedef struct _uat_fld_rep_t uat_fld_rep_t;
29 typedef struct _uat_rep_t uat_rep_t;
30 
31 typedef void (*uat_rep_fld_free_cb_t)(uat_fld_rep_t*);
32 typedef void (*uat_rep_free_cb_t)(uat_rep_t*);
33 
34 typedef struct _fld_data_t {
35  unsigned colnum;
36  uat_fld_rep_t* rep;
37  uat_rep_fld_free_cb_t free_rep;
38 } fld_data_t;
39 
40 struct epan_uat {
41  char* name;
42  size_t record_size;
43  char* filename;
44  bool from_profile;
45  char* help;
46  unsigned flags;
47  void** user_ptr;
48  unsigned* nrows_p;
49  uat_copy_cb_t copy_cb;
50  uat_update_cb_t update_cb;
51  uat_free_cb_t free_cb;
52  uat_post_update_cb_t post_update_cb;
53  uat_reset_cb_t reset_cb;
54 
55  uat_field_t* fields;
56  const char** default_values;
57  unsigned ncols;
58  GArray* user_data;
59  GArray* raw_data;
60  GArray* valid_data;
61  bool changed;
62  uat_rep_t* rep;
63  uat_rep_free_cb_t free_rep;
64  bool loaded;
65 };
66 
67 WS_DLL_PUBLIC
68 char* uat_get_actual_filename(uat_t* uat, bool for_writing);
69 
75 WS_DLL_PUBLIC
76 void* uat_add_record(uat_t *uat, const void *orig_rec_ptr, bool valid_rec);
77 
82 WS_DLL_PUBLIC
83 void uat_update_record(uat_t *uat, const void *record, bool valid_rec);
84 
88 WS_DLL_PUBLIC
89 void uat_swap(uat_t *uat, unsigned idx_a, unsigned idx_b);
90 
94 WS_DLL_PUBLIC
95 void uat_insert_record_idx(uat_t *uat, unsigned rec_idx, const void *src_record);
96 
100 WS_DLL_PUBLIC
101 void uat_remove_record_idx(uat_t *uat, unsigned rec_idx);
102 
106 WS_DLL_PUBLIC
107 void uat_move_index(uat_t *uat, unsigned old_idx, unsigned new_idx);
108 
112 WS_DLL_PUBLIC
113 void uat_clear(uat_t *uat);
114 
120 WS_DLL_PUBLIC
121 bool uat_save(uat_t *uat, char **error);
122 
126 void uat_load_all(void);
127 
135 WS_DLL_PUBLIC
136 char *uat_fld_tostr(void *rec, uat_field_t *f);
137 
142 #define UAT_UPDATE(uat) do { *((uat)->user_ptr) = (void*)((uat)->user_data->data); *((uat)->nrows_p) = (uat)->user_data->len; } while(0)
148 #define UAT_INDEX_PTR(uat,idx) (uat->raw_data->data + (uat->record_size * (idx)))
153 #define UAT_USER_INDEX_PTR(uat,idx) (uat->user_data->data + (uat->record_size * (idx)))
154 
155 #ifdef __cplusplus
156 }
157 #endif /* __cplusplus */
158 
159 #endif /* __UAT_INT_H__ */
160 
161 /*
162  * Editor modelines - https://www.wireshark.org/tools/modelines.html
163  *
164  * Local variables:
165  * c-basic-offset: 4
166  * tab-width: 8
167  * indent-tabs-mode: nil
168  * End:
169  *
170  * vi: set shiftwidth=4 tabstop=8 expandtab:
171  * :indentSize=4:tabSize=8:noTabs=true:
172  */
Definition: uat-int.h:34
Definition: uat.h:234
Definition: uat-int.h:40
void ** user_ptr
Definition: uat-int.h:47
GArray * raw_data
Definition: uat-int.h:59
unsigned * nrows_p
Definition: uat-int.h:48
GArray * valid_data
Definition: uat-int.h:60
GArray * user_data
Definition: uat-int.h:58
WS_DLL_PUBLIC bool uat_save(uat_t *uat, char **error)
Definition: uat.c:363
WS_DLL_PUBLIC void uat_update_record(uat_t *uat, const void *record, bool valid_rec)
Definition: uat.c:145
WS_DLL_PUBLIC void uat_move_index(uat_t *uat, unsigned old_idx, unsigned new_idx)
Definition: uat.c:217
WS_DLL_PUBLIC void uat_clear(uat_t *uat)
Definition: uat.c:457
WS_DLL_PUBLIC void uat_swap(uat_t *uat, unsigned idx_a, unsigned idx_b)
Definition: uat.c:164
void uat_load_all(void)
Definition: uat.c:539
WS_DLL_PUBLIC void uat_remove_record_idx(uat_t *uat, unsigned rec_idx)
Definition: uat.c:205
WS_DLL_PUBLIC void * uat_add_record(uat_t *uat, const void *orig_rec_ptr, bool valid_rec)
Definition: uat.c:117
WS_DLL_PUBLIC char * uat_fld_tostr(void *rec, uat_field_t *f)
Definition: uat.c:270
WS_DLL_PUBLIC void uat_insert_record_idx(uat_t *uat, unsigned rec_idx, const void *src_record)
Definition: uat.c:186
void *(* uat_copy_cb_t)(void *dest, const void *source, size_t len)
Definition: uat.h:87
void(* uat_free_cb_t)(void *record)
Definition: uat.h:97
bool(* uat_update_cb_t)(void *record, char **error)
Definition: uat.h:125
void(* uat_reset_cb_t)(void)
Definition: uat.h:105