Anonymous
public text v1 · immutablecerberus:/dan/e17/libs/ewl/src/lib> pahole -V ewl_widget.o
struct Ewl_Config_Cache {
int level; /* 0 4 */
unsigned char enable:1; /* 4 1 */
unsigned char segv:1; /* 4 1 */
unsigned char backtrace:1; /* 4 1 */
unsigned char evas_render:1; /* 4 1 */
unsigned char gc_reap:1; /* 4 1 */
unsigned char print_signals:1; /* 4 1 */
unsigned char print_keys:1; /* 4 1 */
/* size: 8, cachelines: 1 */
/* padding: 3 */
/* bit_padding: 1 bits */
/* last cacheline: 8 bytes */
}; /* definitions: 1 */
struct _IO_marker {
struct _IO_marker * _next; /* 0 4 */
struct _IO_FILE * _sbuf; /* 4 4 */
int _pos; /* 8 4 */
/* size: 12, cachelines: 1 */
/* last cacheline: 12 bytes */
}; /* definitions: 1 */
struct _IO_FILE {
int _flags; /* 0 4 */
char * _IO_read_ptr; /* 4 4 */
char * _IO_read_end; /* 8 4 */
char * _IO_read_base; /* 12 4 */
char * _IO_write_base; /* 16 4 */
char * _IO_write_ptr; /* 20 4 */
char * _IO_write_end; /* 24 4 */
char * _IO_buf_base; /* 28 4 */
char * _IO_buf_end; /* 32 4 */
char * _IO_save_base; /* 36 4 */
char * _IO_backup_base; /* 40 4 */
char * _IO_save_end; /* 44 4 */
struct _IO_marker * _markers; /* 48 4 */
struct _IO_FILE * _chain; /* 52 4 */
int _fileno; /* 56 4 */
int _flags2; /* 60 4 */
/* --- cacheline 1 boundary (64 bytes) --- */
__off_t _old_offset; /* 64 4 */
short unsigned int _cur_column; /* 68 2 */
signed char _vtable_offset; /* 70 1 */
char _shortbuf[1]; /* 71 1 */
_IO_lock_t * _lock; /* 72 4 */
__off64_t _offset; /* 76 8 */
void * __pad1; /* 84 4 */
void * __pad2; /* 88 4 */
void * __pad3; /* 92 4 */
void * __pad4; /* 96 4 */
size_t __pad5; /* 100 4 */
int _mode; /* 104 4 */
char _unused2[40]; /* 108 40 */
/* --- cacheline 2 boundary (128 bytes) was 20 bytes ago --- */
/* size: 148, cachelines: 3 */
/* last cacheline: 20 bytes */
}; /* definitions: 1 */
struct Ewl_Embed {
Ewl_Overlay overlay; /* 0 372 */
/* --- cacheline 5 boundary (320 bytes) was 52 bytes ago --- */
const char * engine_name; /* 372 4 */
void * engine; /* 376 4 */
void * canvas; /* 380 4 */
/* --- cacheline 6 boundary (384 bytes) --- */
void * canvas_window; /* 384 4 */
int cursor; /* 388 4 */
void * smart; /* 392 4 */
void * ev_clip; /* 396 4 */
Ecore_DList * tab_order; /* 400 4 */
Ecore_Hash * obj_cache; /* 404 4 */
struct {
Ewl_Widget * clicked; /* 408 4 */
Ewl_Widget * focused; /* 412 4 */
Ewl_Widget * mouse_in; /* 416 4 */
Ewl_Widget * drop_widget; /* 420 4 */
Ewl_Widget * drag_widget; /* 424 4 */
} last; /* 408 20 */
int x; /* 428 4 */
int y; /* 432 4 */
int dnd_count; /* 436 4 */
int focus; /* 440 4 */
Ewl_Dnd_Types dnd_types; /* 444 8 */
/* --- cacheline 7 boundary (448 bytes) was 4 bytes ago --- */
Ewl_Widget * dnd_last_position; /* 452 4 */
/* size: 456, cachelines: 8 */
/* last cacheline: 8 bytes */
}; /* definitions: 1 */
struct Ewl_Overlay {
Ewl_Container container; /* 0 372 */
/* --- cacheline 5 boundary (320 bytes) was 52 bytes ago --- */
/* size: 372, cachelines: 6 */
/* last cacheline: 52 bytes */
}; /* definitions: 1 */
struct Ewl_Dnd_Types {
int num_types; /* 0 4 */
char * * types; /* 4 4 */
/* size: 8, cachelines: 1 */
/* last cacheline: 8 bytes */
}; /* definitions: 1 */
struct Ewl_Event_Mouse_Up {
Ewl_Event_Mouse base; /* 0 12 */
int button; /* 12 4 */
/* size: 16, cachelines: 1 */
/* last cacheline: 16 bytes */
}; /* definitions: 1 */
struct Ewl_Event_Mouse_Down {
Ewl_Event_Mouse base; /* 0 12 */
int button; /* 12 4 */
int clicks; /* 16 4 */
/* size: 20, cachelines: 1 */
/* last cacheline: 20 bytes */
}; /* definitions: 1 */
struct Ewl_Event_Mouse {
unsigned int modifiers; /* 0 4 */
int x; /* 4 4 */
int y; /* 8 4 */
/* size: 12, cachelines: 1 */
/* last cacheline: 12 bytes */
}; /* definitions: 1 */
struct Ewl_Container {
Ewl_Widget widget; /* 0 336 */
/* --- cacheline 5 boundary (320 bytes) was 16 bytes ago --- */
Ecore_DList * children; /* 336 4 */
void * clip_box; /* 340 4 */
Ewl_Container * redirect; /* 344 4 */
Ewl_Child_Add child_add; /* 348 4 */
Ewl_Child_Remove child_remove; /* 352 4 */
Ewl_Child_Resize child_resize; /* 356 4 */
Ewl_Child_Show child_show; /* 360 4 */
Ewl_Child_Hide child_hide; /* 364 4 */
Ewl_Container_Iterator iterator; /* 368 4 */
/* size: 372, cachelines: 6 */
/* last cacheline: 52 bytes */
}; /* definitions: 1 */
struct Ewl_Widget {
Ewl_Object object; /* 0 76 */
/* --- cacheline 1 boundary (64 bytes) was 12 bytes ago --- */
Ewl_Widget * parent; /* 76 4 */
Ewl_Callback_Chain callbacks[25]; /* 80 200 */
/* --- cacheline 4 boundary (256 bytes) was 24 bytes ago --- */
Ewl_Attach_List * attach; /* 280 4 */
void * smart_object; /* 284 4 */
void * fx_clip_box; /* 288 4 */
void * theme_object; /* 292 4 */
const char * theme_path; /* 296 4 */
const char * theme_group; /* 300 4 */
const char * theme_state; /* 304 4 */
const char * appearance; /* 308 4 */
const char * inheritance; /* 312 4 */
int layer; /* 316 4 */
/* --- cacheline 5 boundary (320 bytes) --- */
int toplayered; /* 320 4 */
Ecore_Hash * theme; /* 324 4 */
Ewl_Pair_List theme_text; /* 328 8 */
/* size: 336, cachelines: 6 */
/* last cacheline: 16 bytes */
}; /* definitions: 1 */
struct Ewl_Color_Set {
int r; /* 0 4 */
int g; /* 4 4 */
int b; /* 8 4 */
int a; /* 12 4 */
/* size: 16, cachelines: 1 */
/* last cacheline: 16 bytes */
}; /* definitions: 1 */
struct Ewl_Callback_Chain {
void * * list; /* 0 4 */
unsigned char mask; /* 4 1 */
unsigned char len; /* 5 1 */
unsigned char index; /* 6 1 */
/* size: 8, cachelines: 1 */
/* padding: 1 */
/* last cacheline: 8 bytes */
}; /* definitions: 1 */
struct Ewl_Pair_List {
Ewl_Pair * * list; /* 0 4 */
unsigned int direct:1; /* 4 4 */
unsigned int len:31; /* 4 4 */
/* size: 8, cachelines: 1 */
/* last cacheline: 8 bytes */
}; /* definitions: 1 */
struct Ewl_Pair {
const char * key; /* 0 4 */
char * value; /* 4 4 */
/* size: 8, cachelines: 1 */
/* last cacheline: 8 bytes */
}; /* definitions: 1 */
struct Ewl_Attach_List {
void * * list; /* 0 4 */
unsigned int direct:1; /* 4 4 */
unsigned int len:31; /* 4 4 */
/* size: 8, cachelines: 1 */
/* last cacheline: 8 bytes */
}; /* definitions: 1 */
struct Ewl_Object {
struct {
int x; /* 0 4 */
int y; /* 4 4 */
int w; /* 8 4 */
int h; /* 12 4 */
} current; /* 0 16 */
struct {
int w; /* 16 4 */
int h; /* 20 4 */
} preferred; /* 16 8 */
struct {
int w; /* 24 4 */
int h; /* 28 4 */
} maximum; /* 24 8 */
struct {
int w; /* 32 4 */
int h; /* 36 4 */
} minimum; /* 32 8 */
struct {
int l; /* 40 4 */
int r; /* 44 4 */
int t; /* 48 4 */
int b; /* 52 4 */
} pad; /* 40 16 */
struct {
int l; /* 56 4 */
int r; /* 60 4 */
int t; /* 64 4 */
int b; /* 68 4 */
} insets; /* 56 16 */
/* --- cacheline 1 boundary (64 bytes) was 8 bytes ago --- */
unsigned int flags; /* 72 4 */
/* size: 76, cachelines: 2 */
/* last cacheline: 12 bytes */
}; /* definitions: 1 */
struct _ecore_hash {
Ecore_Hash_Node * * buckets; /* 0 4 */
int size; /* 4 4 */
int nodes; /* 8 4 */
int index; /* 12 4 */
Ecore_Compare_Cb compare; /* 16 4 */
Ecore_Hash_Cb hash_func; /* 20 4 */
Ecore_Free_Cb free_key; /* 24 4 */
Ecore_Free_Cb free_value; /* 28 4 */
/* size: 32, cachelines: 1 */
/* last cacheline: 32 bytes */
}; /* definitions: 1 */
struct _ecore_hash_node {
Ecore_Hash_Node * next; /* 0 4 */
void * key; /* 4 4 */
void * value; /* 8 4 */
/* size: 12, cachelines: 1 */
/* last cacheline: 12 bytes */
}; /* definitions: 1 */
struct _ecore_list_node {
void * data; /* 0 4 */
struct _ecore_list_node * next; /* 4 4 */
/* size: 8, cachelines: 1 */
/* last cacheline: 8 bytes */
}; /* definitions: 1 */
struct _ecore_list {
Ecore_List_Node * first; /* 0 4 */
Ecore_List_Node * last; /* 4 4 */
Ecore_List_Node * current; /* 8 4 */
Ecore_Free_Cb free_func; /* 12 4 */
int nodes; /* 16 4 */
int index; /* 20 4 */
/* size: 24, cachelines: 1 */
/* last cacheline: 24 bytes */
}; /* definitions: 1 */
cerberus:/dan/e17/libs/ewl/src/lib>